Deel Invoices API
Manage invoice adjustments, line items, milestones, task reviews, cost center assignment, and expense reimbursements for contractors and employees.
Manage invoice adjustments, line items, milestones, task reviews, cost center assignment, and expense reimbursements for contractors and employees.
{"openapi":"3.1.0","info":{"title":"Endpoints","version":"1.0.0"},"paths":{"/invoices/{id}/download":{"get":{"operationId":"get-billing-invoice-download-link","summary":"Download invoice PDF","description":"Get a link to download the invoice PDF.\n **Token scopes**: `accounting:read`","tags":["subpackage_accounting"],"parameters":[{"name":"id","in":"path","description":"The invoice ID used to identify the invoice to be downloaded.","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Accounting_getBillingInvoiceDownloadLink_Response_200"}}}},"400":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"401":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"403":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"404":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"500":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}}}}},"/invoices/{invoice_id}":{"get":{"operationId":"get-invoice-by-id-v-2026-01-01","summary":"Get invoice by id","description":"Retrieve invoice details\n **Token scopes**: `accounting:read`","tags":["subpackage_accounting"],"parameters":[{"name":"invoice_id","in":"path","description":"The invoice ID used to identify the invoice to be retireved.","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The invoice resource returned","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Accounting_getInvoiceById-v2026-01-01_Response_200"}}}},"400":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"401":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"403":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"404":{"description":"Invoice not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetInvoiceById-v2026-01-01RequestNotFoundError"}}}},"500":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}}}}},"/payments/{payment_id}/breakdown":{"get":{"operationId":"retrieve-a-payment-breakdown-v-2026-01-01","summary":"Retrieve a payment breakdown","description":"Get a full breakdown of a payment made to Deel. Breakdown will include individual invoices and Deel fee as line items.\n **Token scopes**: `accounting:read`","tags":["subpackage_accounting"],"parameters":[{"name":"payment_id","in":"path","description":"Unique identifier for the payment to retrieve the breakdown.","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Accounting_retrieveAPaymentBreakdown-v2026-01-01_Response_200"}}}},"400":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"401":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"403":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"404":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"500":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}}}}},"/invoices/deel":{"get":{"operationId":"retrieve-deel-invoices","summary":"Retrieve Deel invoices","description":"Retrieve a list of invoices related to Deel fees.\n **Token scopes**: `accounting:read`","tags":["subpackage_accounting"],"parameters":[{"name":"limit","in":"query","description":"Return a page of results with given number of records; NOTE technically ALL query parameters are strings or array of strings","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","description":"Return a page of results after given index of row; NOTE technically ALL query parameters are strings or array of strings'","required":false,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Accounting_retrieveDeelInvoices_Response_200"}}}},"400":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"401":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"403":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"404":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"500":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}}}}},"/invoices":{"get":{"operationId":"retrieve-invoices","summary":"Retrieve invoices","description":"Retrieve a list of paid invoices for your workforce.\n **Token scopes**: `accounting:read`","tags":["subpackage_accounting"],"parameters":[{"name":"issued_from_date","in":"query","description":"Filter invoices issued on or after the specified date.","required":false,"schema":{"type":"string"}},{"name":"issued_to_date","in":"query","description":"Filter invoices issued before the specified date.","required":false,"schema":{"type":"string"}},{"name":"status","in":"query","description":"If status query has value of all, all invoices will be returned. Otherwise only paid invoices will be fetched.","required":false,"schema":{"$ref":"#/components/schemas/InvoicesGetParametersStatus"}},{"name":"limit","in":"query","description":"Number of records to retrieve per page.","required":false,"schema":{"type":"number","format":"double","default":25}},{"name":"offset","in":"query","description":"Index of the first record to return.","required":false,"schema":{"type":"integer","format":"int64","default":0}},{"name":"cursor","in":"query","description":"Return next page of results after the given cursor.","required":false,"schema":{"type":"string"}},{"name":"include","in":"query","description":"Will include invoices from COR workers in the response.","required":false,"schema":{"$ref":"#/components/schemas/InvoicesGetParametersInclude"}},{"name":"Authorization","in":"header","description":"## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Accounting_retrieveInvoices_Response_200"}}}},"400":{"description":"Operation failed.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InvoicesGetResponsesContentApplicationJsonSchemaItems"}}}}},"401":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"403":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"404":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"500":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}}}}},"/payments":{"get":{"operationId":"retrieve-payment-receipts-v-2026-01-01","summary":"Retrieve payment receipts","description":"Returns a cursor-paginated list of payments made to Deel, including worker details, payment status, and payment methods. Use the `next_cursor` value from the response to retrieve subsequent pages.\n **Token scopes**: `accounting:read`","tags":["subpackage_accounting"],"parameters":[{"name":"date_from","in":"query","description":"Filters results to include payments created on or after this date (in ISO 8601 format).","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","description":"Filters results to include payments created before this date (in ISO 8601 format).","required":false,"schema":{"type":"string","format":"date"}},{"name":"cursor","in":"query","description":"A cursor for pagination. Use the value returned in the 'next_cursor' field to get the next page of results.","required":false,"schema":{"type":"string"}},{"name":"currencies","in":"query","description":"Filters payments by their currency codes. Can be a single currency code or an array of codes.","required":false,"schema":{"$ref":"#/components/schemas/PaymentsGetParametersCurrencies"}},{"name":"entities","in":"query","description":"Filters payments by legal entity type (e.g., 'individual' or 'company'). Can be a single entity type or an array.","required":false,"schema":{"$ref":"#/components/schemas/PaymentsGetParametersEntities"}},{"name":"statuses","in":"query","description":"Filters payments by their status (e.g., 'paid' or 'processing'). Can be a single status type or an array.","required":false,"schema":{"$ref":"#/components/schemas/PaymentsGetParametersStatuses"}},{"name":"Authorization","in":"header","description":"## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Accounting_retrievePaymentReceipts-v2026-01-01_Response_200"}}}},"400":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"401":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"403":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"404":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RetrievePaymentReceipts-v2026-01-01RequestInternalServerError"}}}}}}},"/adjustments":{"post":{"operationId":"create-contract-adjustment","summary":"Create a new adjustment","description":"Generates a new adjustment entry attributed to a specific worker\n **Token scopes**: `adjustments:write`","tags":["subpackage_adjustments"],"parameters":[{"name":"Authorization","in":"header","description":"## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adjustments_createContractAdjustment_Response_201"}}}},"400":{"description":"Bad Request – failed to create adjustments","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateANewAdjustment-v2026-01-01RequestBadRequestError"}}}},"401":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"403":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"404":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"500":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}}},"requestBody":{"description":"Creation data for a new adjustment","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"File of adjustment."},"title":{"type":"string","description":"Title of adjustment."},"amount":{"$ref":"#/components/schemas/AdjustmentsPostRequestBodyContentMultipartFormDataSchemaAmount","description":"Amount of adjustment."},"vendor":{"type":"string","description":"Vendor of adjustment."},"country":{"type":"string","description":"Country code."},"contract_id":{"type":"string","description":"The identifier of the contract associated with the adjustment"},"description":{"type":"string","description":"Description of adjustment."},"cycle_reference":{"type":"string","description":"Cycle reference of adjustment."},"move_next_cycle":{"type":["boolean","null"],"description":"If an adjustments can belong to another payroll cycle."},"date_of_adjustment":{"type":["string","null"],"format":"date","description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"adjustment_category_id":{"type":"string","description":"Adjustment category id."}},"required":["file","title","amount","vendor","country","contract_id","description","adjustment_category_id"]}}}}}},"/adjustments/{id}":{"delete":{"operationId":"delete-contract-adjustment","summary":"Delete an adjustment","description":"Delete an adjustment.\n **Token scopes**: `adjustments:write`","tags":["subpackage_adjustments"],"parameters":[{"name":"id","in":"path","description":"Deel adjustment id.","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adjustments_deleteContractAdjustment_Response_200"}}}},"400":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"401":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"403":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"404":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"500":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}}}},"get":{"operationId":"get-contract-adjustment","summary":"Retrieve an adjustment","description":"Use this endpoint to retrieve details of a specific adjustment by its id. You can view its amount, status, dates, and related contract_id\n **Token scopes**: `adjustments:read`","tags":["subpackage_adjustments"],"parameters":[{"name":"id","in":"path","description":"Deel adjustment id.","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adjustments_getContractAdjustment_Response_200"}}}},"400":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RetrieveAnAdjustmentRequestBadRequestError"}}}},"401":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"403":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"404":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"500":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}}}},"patch":{"operationId":"update-contract-adjustment","summary":"Update an adjustment","description":"Update an adjustment.\n **Token scopes**: `adjustments:write`","tags":["subpackage_adjustments"],"parameters":[{"name":"id","in":"path","description":"Deel adjustment id.","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adjustments_updateContractAdjustment_Response_200"}}}},"400":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"401":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"403":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"404":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"500":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}}},"requestBody":{"description":"Adjustment object that needs to be updated","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AdjustmentsIdPatchRequestBodyContentMultipartFormDataSchemaData","description":"Details of adjustment to update"}},"required":["data"]}}}}}},"/contracts/{contract_id}/adjustments":{"get":{"operationId":"get-contract-adjustments","summary":"Retrieve adjustments","description":"Get all adjustments for the specific contract.\n **Token scopes**: `adjustments:read`","tags":["subpackage_adjustments"],"parameters":[{"name":"contract_id","in":"path","description":"Deel adjustment id.","required":true,"schema":{"type":"string"}},{"name":"from","in":"query","description":"Filter adjustments by start date.","required":false,"schema":{"type":"string","format":"date"}},{"name":"to","in":"query","description":"Filter adjustments by end date.","required":false,"schema":{"type":"string","format":"date"}},{"name":"Authorization","in":"header","description":"## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adjustments_getContractAdjustments_Response_200"}}}},"400":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RetrieveAdjustmentsRequestBadRequestError"}}}},"401":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"403":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"404":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"500":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}}}}},"/adjustments/categories":{"get":{"operationId":"get-adjustment-categories","summary":"Retrieve categories","description":"Get all categories for your organization.\n **Token scopes**: `adjustments:read`","tags":["subpackage_adjustments"],"parameters":[{"name":"contract_types","in":"query","description":"array of contract types to filter categories","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AdjustmentsCategoriesGetParametersContractTypesSchemaItems"}}},{"name":"Authorization","in":"header","description":"## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adjustments_getAdjustmentCategories_Response_200"}}}},"400":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"401":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"403":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"404":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"500":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}}}}},"/it/assets":{"get":{"operationId":"get-it-assets","summary":"List IT assets","description":"Retrieve a paginated list of all IT assets managed by the organization. This is useful for getting a complete overview of your equipment inventory and understanding the state of each asset. For more info, visit [Assets](https://developer.deel.com/docs/deel-it-api#assets).\n **Token scopes**: `it-assets:read`","tags":["subpackage_assets"],"parameters":[{"name":"cursor","in":"query","description":"Indicates where the next page of results starts, as returned in a paginated list response","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Return a page of results with given number of records","required":false,"schema":{"type":"integer","default":20}},{"name":"hris_profile_id","in":"query","description":"Filter assets by assigned worker with given HRIS Profile ID","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"location","in":"query","description":"Filter assets by their location","required":false,"schema":{"$ref":"#/components/schemas/ItAssetsGetParametersLocation"}},{"name":"category","in":"query","description":"Filter assets by their product category","required":false,"schema":{"$ref":"#/components/schemas/ItAssetsGetParametersCategory"}},{"name":"status","in":"query","description":"Filter assets by their status","required":false,"schema":{"$ref":"#/components/schemas/ItAssetsGetParametersStatus"}},{"name":"Authorization","in":"header","description":"## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/assets_getITAssets_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListItAssetsRequestBadRequestError"}}}},"401":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"403":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"404":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListItAssetsRequestInternalServerError"}}}}}}},"/it/assets/{asset_id}":{"get":{"operationId":"get-it-asset-by-id","summary":"Retrieve an IT asset","description":"Retrieve the details of a specific IT asset using its unique identifier. This allows you to check information such as the asset's model, serial number, status, and location. For more info, visit [Assets](https://developer.deel.com/docs/deel-it-api#assets).\n **Token scopes**: `it-assets:read`","tags":["subpackage_assets"],"parameters":[{"name":"asset_id","in":"path","description":"Unique identifier of the IT asset","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Authorization","in":"header","description":"## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/assets_getITAssetById_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RetrieveAnItAssetRequestBadRequestError"}}}},"401":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"403":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"404":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RetrieveAnItAssetRequestInternalServerError"}}}}}}},"/ats/applications/{application_id}/notes":{"post":{"operationId":"add-note-to-an-application-v-2026-01-01","summary":"Add note to an application","description":"Create application note: Adds a new note to a specific candidate application. Use this to record interview feedback, recruiter observations, or internal comments during the hiring process. The 'authorId' must correspond to a valid HRIS user. Scope: ats:write\n **Token scopes**: `ats:write`","tags":["subpackage_ats"],"parameters":[{"name":"application_id","in":"path","description":"Id of the application which the note will be added","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Authorization","in":"header","description":"## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"Application note created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ATS_addNoteToAnApplication-v2026-01-01_Response_201"}}}},"400":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddNoteToAnApplication-v2026-01-01RequestBadRequestError"}}}},"401":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"403":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"404":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"500":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddNoteToAnApplication-v2026-01-01RequestInternalServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AtsApplicationsApplicationIdNotesPostRequestBodyContentApplicationJsonSchemaData"}},"required":["data"]}}}}}},"/ats/applications/{application_id}/interview-plan-stages":{"post":{"operationId":"associate-application-with-an-interview-plan-stage-v-2026-01-01","summary":"Associate application with an interview plan stage","description":"Use this endpoint to associate an application with a specific interview plan stage in the hiring workflow. Use it when moving a can
# --- truncated at 32 KB (2944 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/deel/refs/heads/main/openapi/deel-platform-endpoints-openapi.json