Deel Accounting API
Map Deel invoice and payroll line items into general-ledger accounts and synchronize with accounting platforms (QuickBooks, Xero, NetSuite, Sage).
Map Deel invoice and payroll line items into general-ledger accounts and synchronize with accounting platforms (QuickBooks, Xero, NetSuite, Sage).
{"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