openapi: 3.0.3 info: title: 'Laravel API Documentation' description: '' version: 1.0.0 servers: - url: 'http://localhost:8000' tags: - name: Endpoints description: '' paths: /api/profile: get: summary: '' operationId: getApiProfile description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints security: [] /api/register: post: summary: 'Handle an incoming registration request.' operationId: handleAnIncomingRegistrationRequest description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Must not be greater than 255 characters.' example: vmqeopfuudtdsufvyvddq email: type: string description: 'Must be a valid email address. Must not be greater than 255 characters.' example: kunde.eloisa@example.com role: type: string description: 'The name of an existing record in the roles table.' example: consequatur password: type: string description: '' example: consequatur required: - name - email - role - password security: [] /api/login: post: summary: 'Handle an incoming authentication request.' operationId: handleAnIncomingAuthenticationRequest description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: 'Must be a valid email address.' example: qkunze@example.com password: type: string description: '' example: 'O[2UZ5ij-e/dl4m{o,' required: - email - password security: [] /api/forgot-password: post: summary: 'Handle an incoming password reset link request.' operationId: handleAnIncomingPasswordResetLinkRequest description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: 'Must be a valid email address.' example: qkunze@example.com required: - email security: [] /api/reset-password: post: summary: 'Handle an incoming new password request.' operationId: handleAnIncomingNewPasswordRequest description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: token: type: string description: '' example: consequatur email: type: string description: 'Must be a valid email address.' example: carolyne.luettgen@example.org password: type: string description: '' example: consequatur required: - token - email - password security: [] '/api/verify-email/{id}/{hash}': get: summary: "Mark the authenticated user's email address as verified." operationId: markTheAuthenticatedUsersEmailAddressAsVerified description: '' parameters: [] responses: 403: description: '' content: application/json: schema: type: object example: message: 'Invalid signature.' properties: message: type: string example: 'Invalid signature.' tags: - Endpoints security: [] parameters: - in: path name: id description: 'The ID of the verify email.' example: consequatur required: true schema: type: string - in: path name: hash description: '' example: consequatur required: true schema: type: string /api/email/verification-notification: post: summary: 'Send a new email verification notification.' operationId: sendANewEmailVerificationNotification description: '' parameters: [] responses: { } tags: - Endpoints security: [] /api/logout: post: summary: 'Destroy an authenticated session.' operationId: destroyAnAuthenticatedSession description: '' parameters: [] responses: { } tags: - Endpoints security: [] /api/dashboard/customers/search: get: summary: '' operationId: getApiDashboardCustomersSearch description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints security: [] /api/dashboard/customers/filter: get: summary: '' operationId: getApiDashboardCustomersFilter description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints security: [] '/api/dashboard/customers/{id}/ban': post: summary: '' operationId: postApiDashboardCustomersIdBan description: '' parameters: [] responses: { } tags: - Endpoints security: [] parameters: - in: path name: id description: 'The ID of the customer.' example: consequatur required: true schema: type: string /api/dashboard/customers: get: summary: '' operationId: getApiDashboardCustomers description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints security: [] post: summary: '' operationId: postApiDashboardCustomers description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Must not be greater than 255 characters.' example: vmqeopfuudtdsufvyvddq email: type: string description: 'Must be a valid email address.' example: kunde.eloisa@example.com nullable: true phone: type: string description: '' example: consequatur phone_alt: type: string description: '' example: consequatur nullable: true note: type: string description: '' example: consequatur nullable: true address: type: string description: '' example: consequatur nullable: true required: - name - phone security: [] '/api/dashboard/customers/{id}': get: summary: '' operationId: getApiDashboardCustomersId description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints security: [] put: summary: '' operationId: putApiDashboardCustomersId description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: phone: type: string description: 'Must not be greater than 15 characters.' example: vmqeopfuudtds address: type: string description: 'Must not be greater than 255 characters.' example: ufvyvddqamniihfqcoynl required: - phone security: [] delete: summary: '' operationId: deleteApiDashboardCustomersId description: '' parameters: [] responses: { } tags: - Endpoints security: [] parameters: - in: path name: id description: 'The ID of the customer.' example: consequatur required: true schema: type: string /api/dashboard/category: get: summary: 'Display a listing of the resource.' operationId: displayAListingOfTheResource description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints security: [] post: summary: 'Store a newly created resource in storage.' operationId: storeANewlyCreatedResourceInStorage description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: '' example: consequatur code: type: string description: '' example: consequatur required: - name security: [] '/api/dashboard/category/{id}': get: summary: 'Display the specified resource.' operationId: displayTheSpecifiedResource description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints security: [] put: summary: 'Update the specified resource in storage.' operationId: updateTheSpecifiedResourceInStorage description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: '' example: consequatur code: type: string description: '' example: consequatur security: [] delete: summary: 'Remove the specified resource from storage.' operationId: removeTheSpecifiedResourceFromStorage description: '' parameters: [] responses: { } tags: - Endpoints security: [] parameters: - in: path name: id description: 'The ID of the category.' example: consequatur required: true schema: type: string /api/dashboard/repair-order: get: summary: 'Display a listing of the resource.' operationId: displayAListingOfTheResource description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints security: [] post: summary: 'Store a newly created resource in storage.' operationId: storeANewlyCreatedResourceInStorage description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: customer_id: type: string description: 'The id of an existing record in the customers table.' example: consequatur device_id: type: string description: 'The id of an existing record in the devices table.' example: consequatur accessories: type: string description: '' example: consequatur nullable: true complaint: type: string description: '' example: consequatur nullable: true product_id: type: string description: 'The id of an existing record in the products table.' example: null nullable: true estimated_cost: type: number description: '' example: 11613.31890586 nullable: true final_cost: type: number description: '' example: 11613.31890586 nullable: true status: type: string description: '' example: diagnosing enum: - received - diagnosing - waiting_customer_approval - in_repair - ready_for_pickup - delivered - rejected_by_customer - not_repairable - cancelled required: - customer_id - device_id - status security: [] '/api/dashboard/repair-order/{id}': get: summary: 'Display the specified resource.' operationId: displayTheSpecifiedResource description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints security: [] put: summary: 'Update the specified resource in storage.' operationId: updateTheSpecifiedResourceInStorage description: '' parameters: [] responses: { } tags: - Endpoints security: [] delete: summary: 'Remove the specified resource from storage.' operationId: removeTheSpecifiedResourceFromStorage description: '' parameters: [] responses: { } tags: - Endpoints security: [] parameters: - in: path name: id description: 'The ID of the repair order.' example: consequatur required: true schema: type: string '/api/dashboard/repair-order/{repairOrder_id}/item': post: summary: '' operationId: postApiDashboardRepairOrderRepairOrder_idItem description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: product_id: type: string description: 'The id of an existing record in the products table.' example: consequatur description: type: string description: 'This field is required when product_id is not present. Must not be greater than 200 characters.' example: 'Dolorum amet iste laborum eius est dolor.' qty: type: number description: 'Must be at least 0.01.' example: 12 final_cost: type: number description: 'Must be at least 0.' example: 66 warranty_days: type: integer description: 'Must be at least 0.' example: 13 nullable: true required: - product_id - qty - final_cost security: [] parameters: - in: path name: repairOrder_id description: 'The ID of the repairOrder.' example: 1 required: true schema: type: integer '/api/dashboard/repair-order/{repairOrder_id}/item/{item_id}': delete: summary: '' operationId: deleteApiDashboardRepairOrderRepairOrder_idItemItem_id description: '' parameters: [] responses: { } tags: - Endpoints security: [] parameters: - in: path name: repairOrder_id description: 'The ID of the repairOrder.' example: 1 required: true schema: type: integer - in: path name: item_id description: 'The ID of the item.' example: 4 required: true schema: type: integer '/api/dashboard/repair-order/{repairOrder_id}/changeStatus': post: summary: '' operationId: postApiDashboardRepairOrderRepairOrder_idChangeStatus description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: final_cost: type: number description: 'This field is required when status is waiting_customer_approval. Must be at least 0.' example: 73 discount: type: number description: 'This field is required when status is in_repair. Must be at least 0.' example: 45 status: type: string description: '' example: received enum: - received - diagnosing - waiting_customer_approval - in_repair - ready_for_pickup - delivered - rejected_by_customer - not_repairable - cancelled required: - status security: [] parameters: - in: path name: repairOrder_id description: 'The ID of the repairOrder.' example: 1 required: true schema: type: integer '/api/dashboard/repair-order/{repairOrder}/addLoss': post: summary: '' operationId: postApiDashboardRepairOrderRepairOrderAddLoss description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: product_id: type: string description: 'The id of an existing record in the products table.' example: consequatur qty: type: number description: 'Must be at least 0.01.' example: 45 note: type: string description: 'Must not be greater than 255 characters.' example: qeopfuudtdsufvyvddqam nullable: true required: - product_id - qty security: [] parameters: - in: path name: repairOrder description: '' example: 1 required: true schema: type: integer /api/dashboard/device: get: summary: 'Display a listing of the resource.' operationId: displayAListingOfTheResource description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints security: [] post: summary: 'Store a newly created resource in storage.' operationId: storeANewlyCreatedResourceInStorage description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Must not be greater than 100 characters.' example: vmqeopfuudtdsufvyvddq model: type: string description: 'Must not be greater than 100 characters.' example: amniihfqcoynlazghdtqt serial_number: type: string description: 'Must not be greater than 100 characters.' example: qxbajwbpilpmufinllwlo imei: type: string description: 'Must not be greater than 15 characters.' example: auydlsmsjuryv nullable: true imei2: type: string description: 'Must not be greater than 15 characters.' example: ojcybzvrbyick nullable: true color: type: string description: 'Must not be greater than 50 characters.' example: znkygloigmkwxphlvazjr nullable: true required: - name - model - serial_number security: [] '/api/dashboard/device/{id}': get: summary: 'Display the specified resource.' operationId: displayTheSpecifiedResource description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints security: [] put: summary: 'Update the specified resource in storage.' operationId: updateTheSpecifiedResourceInStorage description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Must not be greater than 100 characters.' example: vmqeopfuudtdsufvyvddq model: type: string description: 'Must not be greater than 100 characters.' example: amniihfqcoynlazghdtqt serial_number: type: number description: 'Must not be greater than 100.' example: 16 imei: type: number description: 'Must not be greater than 15.' example: 14 nullable: true imei2: type: number description: 'Must not be greater than 15.' example: 2 nullable: true color: type: string description: 'Must not be greater than 50 characters.' example: ajwbpilpmufinllwloauy nullable: true required: - name - model - serial_number security: [] delete: summary: 'Remove the specified resource from storage.' operationId: removeTheSpecifiedResourceFromStorage description: '' parameters: [] responses: { } tags: - Endpoints security: [] parameters: - in: path name: id description: 'The ID of the device.' example: consequatur required: true schema: type: string /api/dashboard/sale: get: summary: 'Display a listing of the resource.' operationId: displayAListingOfTheResource description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints security: [] post: summary: 'Store a newly created resource in storage.' operationId: storeANewlyCreatedResourceInStorage description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: code: type: string description: 'Must not be greater than 30 characters.' example: vmqeopfuudtdsufvyvddq account_id: type: string description: 'The id of an existing record in the accounts table.' example: consequatur customer_id: type: string description: 'The id of an existing record in the customers table.' example: consequatur payment_method: type: string description: 'Must not be greater than 30 characters.' example: mqeopfuudtdsufvyvddqa nullable: true notes: type: string description: '' example: consequatur nullable: true discount: type: number description: 'Must be at least 0.' example: 45 nullable: true items: type: array description: 'Must have at least 1 items.' example: - [] items: type: object properties: product_id: type: string description: 'The id of an existing record in the products table.' example: consequatur qty: type: number description: 'Must be at least 0.01.' example: 45 sell_price: type: number description: 'Must be at least 0.' example: 56 nullable: true required: - product_id - qty required: - code - account_id - customer_id - items security: [] '/api/dashboard/sale/{id}': get: summary: '' operationId: getApiDashboardSaleId description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints security: [] put: summary: 'Update the specified resource in storage.' operationId: updateTheSpecifiedResourceInStorage description: '' parameters: [] responses: { } tags: - Endpoints security: [] delete: summary: 'Remove the specified resource from storage.' operationId: removeTheSpecifiedResourceFromStorage description: '' parameters: [] responses: { } tags: - Endpoints security: [] parameters: - in: path name: id description: 'The ID of the sale.' example: 17 required: true schema: type: integer /api/dashboard/purchase: get: summary: 'Display a listing of the resource.' operationId: displayAListingOfTheResource description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints security: [] post: summary: 'Store a newly created resource in storage.' operationId: storeANewlyCreatedResourceInStorage description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: supplier_id: type: string description: 'The id of an existing record in the suppliers table.' example: null nullable: true notes: type: string description: '' example: consequatur nullable: true items: type: array description: 'Must have at least 1 items.' example: - [] items: type: object properties: product_id: type: string description: 'The id of an existing record in the products table.' example: consequatur qty: type: number description: 'Must be at least 0.01.' example: 45 cost_price: type: number description: 'Must be at least 0.' example: 56 required: - product_id - qty - cost_price required: - items security: [] '/api/dashboard/purchase/{id}': get: summary: 'Display the specified resource.' operationId: displayTheSpecifiedResource description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints security: [] put: summary: 'Update the specified resource in storage.' operationId: updateTheSpecifiedResourceInStorage description: '' parameters: [] responses: { } tags: - Endpoints security: [] delete: summary: 'Remove the specified resource from storage.' operationId: removeTheSpecifiedResourceFromStorage description: '' parameters: [] responses: { } tags: - Endpoints security: [] parameters: - in: path name: id description: 'The ID of the purchase.' example: 1 required: true schema: type: integer /api/dashboard/supplier: get: summary: 'Display a listing of the resource.' operationId: displayAListingOfTheResource description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints security: [] post: summary: 'Store a newly created resource in storage.' operationId: storeANewlyCreatedResourceInStorage description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Must not be greater than 255 characters.' example: vmqeopfuudtdsufvyvddq phone: type: string description: 'Must not be greater than 255 characters.' example: amniihfqcoynlazghdtqt email: type: string description: 'Must not be greater than 255 characters.' example: andreanne00@example.org nullable: true address: type: string description: 'Must not be greater than 255 characters.' example: wbpilpmufinllwloauydl nullable: true notes: type: string description: 'Must not be greater than 255 characters.' example: smsjuryvojcybzvrbyick nullable: true required: - name - phone security: [] '/api/dashboard/supplier/{id}': get: summary: 'Display the specified resource.' operationId: displayTheSpecifiedResource description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints security: [] put: summary: 'Update the specified resource in storage.' operationId: updateTheSpecifiedResourceInStorage description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Must not be greater than 255 characters.' example: vmqeopfuudtdsufvyvddq phone: type: string description: 'Must not be greater than 255 characters.' example: amniihfqcoynlazghdtqt email: type: string description: 'Must not be greater than 255 characters.' example: andreanne00@example.org nullable: true address: type: string description: 'Must not be greater than 255 characters.' example: wbpilpmufinllwloauydl nullable: true notes: type: string description: 'Must not be greater than 255 characters.' example: smsjuryvojcybzvrbyick nullable: true required: - name - phone security: [] delete: summary: 'Remove the specified resource from storage.' operationId: removeTheSpecifiedResourceFromStorage description: '' parameters: [] responses: { } tags: - Endpoints security: [] parameters: - in: path name: id description: 'The ID of the supplier.' example: 1 required: true schema: type: integer /api/inventory/product: get: summary: 'Display a listing of the resource.' operationId: displayAListingOfTheResource description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints security: [] post: summary: 'Store a newly created resource in storage.' operationId: storeANewlyCreatedResourceInStorage description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Must not be greater than 150 characters.' example: vmqeopfuudtdsufvyvddq category_id: type: string description: 'The id of an existing record in the categories table.' example: consequatur sell_price: type: number description: 'Must be at least 0.' example: 45 avg_cost: type: number description: 'Must be at least 0.' example: 56 nullable: true unit: type: string description: '' example: bottle enum: - piece - pack - box - set - pair - unit - gram - meter - roll - bottle - tube - container track_serial: type: boolean description: '' example: true nullable: true model: type: string description: 'Must not be greater than 150 characters.' example: eopfuudtdsufvyvddqamn current_qty: type: number description: 'Must be at least 0.' example: 28 nullable: true required: - name - category_id - sell_price - unit - model security: [] '/api/inventory/product/{id}': get: summary: 'Display the specified resource.' operationId: displayTheSpecifiedResource description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints security: [] put: summary: 'Update the specified resource in storage.' operationId: updateTheSpecifiedResourceInStorage description: '' parameters: [] responses: { } tags: - Endpoints security: [] delete: summary: 'Remove the specified resource from storage.' operationId: removeTheSpecifiedResourceFromStorage description: '' parameters: [] responses: { } tags: - Endpoints security: [] parameters: - in: path name: id description: 'The ID of the product.' example: 1 required: true schema: type: integer