openapi: 3.0.3 info: title: 'Wipe OS API Documentation' description: "This endpoint is used to create, read, update, and delete records related to operating system wipe events. \n It does not perform any actual wipe operation. Instead, it serves as a logging and tracking mechanism to store details such \n as the device identifier, wipe timestamp, wipe method, operator, and status of the wipe." version: 1.0.0 servers: - url: 'https://wipeos.unixsurplus.com' tags: - name: Endpoints description: '' paths: /api/diagnostic: post: summary: 'Save diagnostic data (machine, mobile, or disk).' operationId: saveDiagnosticDatamachineMobileOrDisk description: "Accepts diagnostic data and determines how to process it based on the `data_type` key.\nSupported types: `machine`, `mobile`, `disk`. If an unknown type is provided,\nthe raw data will be saved unprocessed." parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'Diagnostic saved successfully.' properties: message: type: string example: 'Diagnostic saved successfully.' 500: description: '' content: application/json: schema: type: object example: message: 'Diagnostic save unsuccessful.' properties: message: type: string example: 'Diagnostic save unsuccessful.' tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: data_type: type: string description: 'The type of diagnostic data.' example: machine nullable: false required: - data_type security: [] /api/get: get: summary: '' operationId: getApiGet description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: pagination: current_page: 1 data: - id: kRfO data_type: machine purchase_order: null location: '659' serial: FN7RVP2 model: 'Latitude 7480' tech: null notes: null result: PASS created_at: '12/04/2025 9:31 PM' first_page_url: 'https://wipeos.unixsurplus.com/api/get?page=1' from: 1 last_page: 1 last_page_url: 'https://wipeos.unixsurplus.com/api/get?page=1' links: - url: null label: '« Previous' page: null active: false - url: 'https://wipeos.unixsurplus.com/api/get?page=1' label: '1' page: 1 active: true - url: null label: 'Next »' page: null active: false next_page_url: null path: 'https://wipeos.unixsurplus.com/api/get' per_page: 10 prev_page_url: null to: 1 total: 1 machineTotal: 1 diskTotal: 0 passTotal: 1 failTotal: 0 noResult: 0 properties: pagination: type: object properties: current_page: type: integer example: 1 data: type: array example: - id: kRfO data_type: machine purchase_order: null location: '659' serial: FN7RVP2 model: 'Latitude 7480' tech: null notes: null result: PASS created_at: '12/04/2025 9:31 PM' items: type: object properties: id: type: string example: kRfO data_type: type: string example: machine purchase_order: type: string example: null location: type: string example: '659' serial: type: string example: FN7RVP2 model: type: string example: 'Latitude 7480' tech: type: string example: null notes: type: string example: null result: type: string example: PASS created_at: type: string example: '12/04/2025 9:31 PM' first_page_url: type: string example: 'https://wipeos.unixsurplus.com/api/get?page=1' from: type: integer example: 1 last_page: type: integer example: 1 last_page_url: type: string example: 'https://wipeos.unixsurplus.com/api/get?page=1' links: type: array example: - url: null label: '« Previous' page: null active: false - url: 'https://wipeos.unixsurplus.com/api/get?page=1' label: '1' page: 1 active: true - url: null label: 'Next »' page: null active: false items: type: object properties: url: type: string example: null label: type: string example: '« Previous' page: type: string example: null active: type: boolean example: false next_page_url: type: string example: null path: type: string example: 'https://wipeos.unixsurplus.com/api/get' per_page: type: integer example: 10 prev_page_url: type: string example: null to: type: integer example: 1 total: type: integer example: 1 machineTotal: type: integer example: 1 diskTotal: type: integer example: 0 passTotal: type: integer example: 1 failTotal: type: integer example: 0 noResult: type: integer example: 0 tags: - Endpoints security: [] /api/disk-logs: get: summary: '' operationId: getApiDiskLogs description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: pagination: current_page: 1 data: [] first_page_url: 'https://wipeos.unixsurplus.com/api/disk-logs?page=1' from: null last_page: 1 last_page_url: 'https://wipeos.unixsurplus.com/api/disk-logs?page=1' links: - url: null label: '« Previous' page: null active: false - url: 'https://wipeos.unixsurplus.com/api/disk-logs?page=1' label: '1' page: 1 active: true - url: null label: 'Next »' page: null active: false next_page_url: null path: 'https://wipeos.unixsurplus.com/api/disk-logs' per_page: 10 prev_page_url: null to: null total: 0 diskTotal: 0 passTotal: 0 failTotal: 0 noResult: 0 properties: pagination: type: object properties: current_page: type: integer example: 1 data: type: array example: [] first_page_url: type: string example: 'https://wipeos.unixsurplus.com/api/disk-logs?page=1' from: type: string example: null last_page: type: integer example: 1 last_page_url: type: string example: 'https://wipeos.unixsurplus.com/api/disk-logs?page=1' links: type: array example: - url: null label: '« Previous' page: null active: false - url: 'https://wipeos.unixsurplus.com/api/disk-logs?page=1' label: '1' page: 1 active: true - url: null label: 'Next »' page: null active: false items: type: object properties: url: type: string example: null label: type: string example: '« Previous' page: type: string example: null active: type: boolean example: false next_page_url: type: string example: null path: type: string example: 'https://wipeos.unixsurplus.com/api/disk-logs' per_page: type: integer example: 10 prev_page_url: type: string example: null to: type: string example: null total: type: integer example: 0 diskTotal: type: integer example: 0 passTotal: type: integer example: 0 failTotal: type: integer example: 0 noResult: type: integer example: 0 tags: - Endpoints security: [] '/api/{key}/find/{id}': get: summary: '' operationId: getApiKeyFindId description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: 'Unathorized Access.' properties: message: type: string example: 'Unathorized Access.' tags: - Endpoints security: [] parameters: - in: path name: key description: '' example: architecto required: true schema: type: string - in: path name: id description: 'The ID of the find.' example: architecto required: true schema: type: string '/api/{key}/{id}/components': get: summary: '' operationId: getApiKeyIdComponents description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: 'Unathorized Access.' properties: message: type: string example: 'Unathorized Access.' tags: - Endpoints security: [] parameters: - in: path name: key description: '' example: architecto required: true schema: type: string - in: path name: id description: 'The ID of the {key}.' example: architecto required: true schema: type: string '/api/{key}/{id}/{component}/detail': get: summary: '' operationId: getApiKeyIdComponentDetail description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: 'Unathorized Access.' properties: message: type: string example: 'Unathorized Access.' tags: - Endpoints security: [] parameters: - in: path name: key description: '' example: architecto required: true schema: type: string - in: path name: id description: 'The ID of the {key}.' example: architecto required: true schema: type: string - in: path name: component description: '' example: architecto required: true schema: type: string '/api/{key}/{id}/{component}/print': post: summary: '' operationId: postApiKeyIdComponentPrint description: '' parameters: [] responses: { } tags: - Endpoints security: [] parameters: - in: path name: key description: '' example: architecto required: true schema: type: string - in: path name: id description: 'The ID of the {key}.' example: architecto required: true schema: type: string - in: path name: component description: '' example: architecto required: true schema: type: string '/api/{key}/{id}/purchase_order': post: summary: '' operationId: postApiKeyIdPurchase_order description: '' parameters: [] responses: { } tags: - Endpoints security: [] parameters: - in: path name: key description: '' example: architecto required: true schema: type: string - in: path name: id description: 'The ID of the {key}.' example: architecto required: true schema: type: string '/api/{key}/{id}/tech': post: summary: '' operationId: postApiKeyIdTech description: '' parameters: [] responses: { } tags: - Endpoints security: [] parameters: - in: path name: key description: '' example: architecto required: true schema: type: string - in: path name: id description: 'The ID of the {key}.' example: architecto required: true schema: type: string '/api/{key}/{id}/print': post: summary: '' operationId: postApiKeyIdPrint description: '' parameters: [] responses: { } tags: - Endpoints security: [] parameters: - in: path name: key description: '' example: architecto required: true schema: type: string - in: path name: id description: 'The ID of the {key}.' example: architecto required: true schema: type: string '/api/{key}/{id}/notes': post: summary: '' operationId: postApiKeyIdNotes description: '' parameters: [] responses: { } tags: - Endpoints security: [] parameters: - in: path name: key description: '' example: architecto required: true schema: type: string - in: path name: id description: 'The ID of the {key}.' example: architecto required: true schema: type: string '/api/{key}/generate-pdf/{id}': post: summary: '' operationId: postApiKeyGeneratePdfId description: '' parameters: [] responses: { } tags: - Endpoints security: [] parameters: - in: path name: key description: '' example: architecto required: true schema: type: string - in: path name: id description: 'The ID of the generate pdf.' example: architecto required: true schema: type: string /api/purchase-orders: get: summary: '' operationId: getApiPurchaseOrders description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: array items: type: object example: [] tags: - Endpoints security: [] '/api/{key}/certificates': get: summary: '' operationId: getApiKeyCertificates description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: 'Unathorized Access.' properties: message: type: string example: 'Unathorized Access.' tags: - Endpoints security: [] parameters: - in: path name: key description: '' example: architecto required: true schema: type: string '/api/{key}/erase-status': post: summary: '' operationId: postApiKeyEraseStatus description: '' parameters: [] responses: { } tags: - Endpoints security: [] parameters: - in: path name: key description: '' example: architecto required: true schema: type: string /api/test: get: summary: '' operationId: getApiTest description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: array items: type: object example: - id: kRfO data_type: machine purchase_order: null location: '659' serial: FN7RVP2 model: 'Latitude 7480' tech: null notes: null result: PASS created_at: '12/04/2025 9:31 PM' tags: - Endpoints security: [] /api/test/get: get: summary: '' operationId: getApiTestGet description: '' parameters: [] responses: 500: description: '' content: application/json: schema: type: object example: message: 'Server Error' properties: message: type: string example: 'Server Error' tags: - Endpoints security: [] '/api/store/{key}/check': get: summary: '' operationId: getApiStoreKeyCheck description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: exists: false properties: exists: type: boolean example: false tags: - Endpoints security: [] parameters: - in: path name: key description: '' example: 16 required: true schema: type: integer