openapi: 3.1.0 info: title: Endpoints subpackage_legalEntities API version: 1.0.0 servers: - url: https://api.letsdeel.com/rest/v2 - url: https://api-staging.letsdeel.com/rest/v2 tags: - name: subpackage_legalEntities paths: /legal-entities: post: operationId: create-legal-entity summary: Create a new legal entity description: "Create a new legal entity under an organization.\n **Token scopes**: `legal-entity:write`, `legal-entity:read`" tags: - subpackage_legalEntities 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: '200': description: Successfully created legal entity. content: application/json: schema: $ref: '#/components/schemas/legal-entities_createLegalEntity_Response_200' '400': description: Invalid request parameters. content: application/json: schema: $ref: '#/components/schemas/CreateLegalEntityRequestBadRequestError' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Permission denied. User must have the `entities.manage` permission. content: application/json: schema: $ref: '#/components/schemas/CreateLegalEntityRequestForbiddenError' '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: content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/LegalEntitiesPostRequestBodyContentApplicationJsonSchemaData' get: operationId: get-legal-entities summary: List of legal entities description: "Retrieve a list of legal entities in your account.\n **Token scopes**: `organizations:read`, `accounting:read`" tags: - subpackage_legalEntities parameters: - name: limit in: query description: The number of results to return per page. required: false schema: type: integer default: 100 - name: sort_order in: query description: Sorting order of the results. required: false schema: $ref: '#/components/schemas/LegalEntitiesGetParametersSortOrder' - name: cursor in: query description: Cursor for pagination. required: false schema: type: string - name: include_archived in: query description: Whether to include archived legal entities in the results. required: false schema: type: boolean default: true - name: legal_entity_id in: query description: Filter by specific legal entity ID. required: false schema: type: string - name: global_payroll in: query description: Filter by global payroll flag. required: false schema: type: boolean - name: type in: query description: Filter by entity type. required: false schema: type: string - name: country in: query description: Filter by country. required: false schema: type: string - name: include_payroll_settings in: query description: Whether to include payroll settings in the response. required: false schema: type: boolean - 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/legal-entities_getLegalEntities_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' /legal-entities/{id}: delete: operationId: delete-legal-entity summary: Delete a legal entity description: "Archive a legal entity. This marks the entity as inactive but does not permanently remove it.\n **Token scopes**: `legal-entity:read`, `legal-entity:write`" tags: - subpackage_legalEntities parameters: - name: id in: path description: The ID of the legal entity to archive. 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: Successfully archived the legal entity. content: application/json: schema: $ref: '#/components/schemas/legal-entities_deleteLegalEntity_Response_200' '400': description: Invalid request parameters. content: application/json: schema: $ref: '#/components/schemas/DeleteLegalEntityRequestBadRequestError' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Permission denied. content: application/json: schema: $ref: '#/components/schemas/DeleteLegalEntityRequestForbiddenError' '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-legal-entity summary: Edit a legal entity description: "Update the details of an existing legal entity.\n **Token scopes**: `legal-entity:read`, `legal-entity:write`" tags: - subpackage_legalEntities parameters: - name: id in: path description: The ID of the legal entity to update. 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: Successfully updated the legal entity. content: application/json: schema: $ref: '#/components/schemas/legal-entities_updateLegalEntity_Response_200' '400': description: Invalid request parameters. content: application/json: schema: $ref: '#/components/schemas/EditLegalEntityRequestBadRequestError' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Permission denied. content: application/json: schema: $ref: '#/components/schemas/EditLegalEntityRequestForbiddenError' '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: content: application/json: schema: type: object properties: name: type: string description: The name of the legal entity. phone: type: string description: The phone number of the legal entity. address: $ref: '#/components/schemas/LegalEntitiesIdPatchRequestBodyContentApplicationJsonSchemaAddress' sic_number: type: string description: The SIC number of the legal entity. entity_type: type: string description: The type of the legal entity. industry_name: type: string description: The industry name of the legal entity. company_identifiers: $ref: '#/components/schemas/LegalEntitiesIdPatchRequestBodyContentApplicationJsonSchemaCompanyIdentifiers' description: Identifiers associated with the legal entity. /industries: get: operationId: get-industries summary: List all industry subcategories description: "List industry subcategories with their parent category details, supporting cursor-based pagination and sorting by category or subcategory name. Each subcategory is identified by a UUID and includes NAICS codes. Used during entity setup to select an industry classification.\n **Token scopes**: `legal-entity:read`" tags: - subpackage_legalEntities parameters: - name: limit in: query description: Maximum number of items to return per page. required: false schema: type: integer - name: order in: query description: Sorting order of the results. required: false schema: $ref: '#/components/schemas/IndustriesGetParametersOrder' - name: sort_by in: query description: Field used to sort the results. required: false schema: $ref: '#/components/schemas/IndustriesGetParametersSortBy' - name: cursor in: query description: Cursor used for paginating to the next page of results. 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: List of industry subcategories. content: application/json: schema: $ref: '#/components/schemas/legal-entities_getIndustries_Response_200' '400': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ListAllIndustrySubcategories-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' /benefits/legal-entities/{id}: get: operationId: get-legal-entity-data-from-organization-integrated-with-external-benefits-vendor-v-2026-01-01 summary: Get legal entity data from organization integrated with external benefits vendor description: "Returns legal entity data for an organization integrated with an external benefits vendor, identified by `id`, including registration details, address, entity type, and employment classification.\n **Token scopes**: `organizations:read`" tags: - subpackage_legalEntities parameters: - name: id in: path description: Id from the legal entity to fetch data 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/Legal Entities_getLegalEntityDataFromOrganizationIntegratedWithExternalBenefitsVendor-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' components: schemas: EditLegalEntityRequestForbiddenError: type: object properties: error: type: string description: Error message explaining why access is denied. title: EditLegalEntityRequestForbiddenError DeleteLegalEntityRequestBadRequestError: type: object properties: message: type: string description: Error message explaining what went wrong. title: DeleteLegalEntityRequestBadRequestError BenefitsLegalEntitiesIdGetResponsesContentApplicationJsonSchemaRegistrationAddress: type: object properties: zip: type: string city: type: string state: type: string street: type: string country: type: string province: type: string description: Registration address of the legal entity. title: BenefitsLegalEntitiesIdGetResponsesContentApplicationJsonSchemaRegistrationAddress LegalEntitiesGetParametersSortOrder: type: string enum: - ASC - DESC default: ASC title: LegalEntitiesGetParametersSortOrder EditLegalEntityRequestBadRequestError: type: object properties: message: type: string description: Error message explaining what went wrong. title: EditLegalEntityRequestBadRequestError LegalEntitiesGetResponsesContentApplicationJsonSchemaDataItemsEntityType: type: string enum: - individual - company description: Entity type title: LegalEntitiesGetResponsesContentApplicationJsonSchemaDataItemsEntityType ListAllIndustrySubcategories-v2026-01-01RequestBadRequestError: type: object properties: errors: type: array items: $ref: '#/components/schemas/IndustriesGetResponsesContentApplicationJsonSchemaErrorsItems' request: $ref: '#/components/schemas/IndustriesGetResponsesContentApplicationJsonSchemaRequest' title: ListAllIndustrySubcategories-v2026-01-01RequestBadRequestError legal-entities_createLegalEntity_Response_200: type: object properties: data: $ref: '#/components/schemas/LegalEntitiesPostResponsesContentApplicationJsonSchemaData' title: legal-entities_createLegalEntity_Response_200 LegalEntitiesPostRequestBodyContentApplicationJsonSchemaDataCompanyIdentifiers: type: object properties: tax_number: type: string description: Tax number of the entity. registration_number: type: string description: Registration number of the entity. required: - tax_number - registration_number title: LegalEntitiesPostRequestBodyContentApplicationJsonSchemaDataCompanyIdentifiers LegalEntitiesPostRequestBodyContentApplicationJsonSchemaData: type: object properties: name: type: string description: The legal name of the entity. phone: type: string description: Contact phone number for the entity. address: $ref: '#/components/schemas/LegalEntitiesPostRequestBodyContentApplicationJsonSchemaDataAddress' description: The physical address of the entity. sic_number: type: string description: The SIC number for the entity. entity_type: type: string description: Type of the entity. company_identifiers: $ref: '#/components/schemas/LegalEntitiesPostRequestBodyContentApplicationJsonSchemaDataCompanyIdentifiers' required: - name - phone - address - sic_number - entity_type - company_identifiers title: LegalEntitiesPostRequestBodyContentApplicationJsonSchemaData LegalEntitiesGetResponsesContentApplicationJsonSchemaDataItemsAddress: type: object properties: zip: type: string description: Zip code city: type: - string - 'null' description: City state: type: - string - 'null' description: State street: type: string description: Street country: type: string description: Country title: LegalEntitiesGetResponsesContentApplicationJsonSchemaDataItemsAddress IndustriesGetResponsesContentApplicationJsonSchemaErrorsItems: type: object properties: path: type: string description: The JSON path where input validation failed message: type: string description: A description of the returned error title: IndustriesGetResponsesContentApplicationJsonSchemaErrorsItems IndustriesGetParametersSortBy: type: string enum: - subcategoryName - categoryName default: categoryName title: IndustriesGetParametersSortBy LegalEntitiesIdPatchResponsesContentApplicationJsonSchemaDataAddress: type: object properties: city: type: string description: The city. state: type: string description: The state. street: type: string description: The street address. country: type: string description: The ISO 2-letter country code. title: LegalEntitiesIdPatchResponsesContentApplicationJsonSchemaDataAddress DeleteLegalEntityRequestForbiddenError: type: object properties: error: type: string description: Error message explaining why access is denied. title: DeleteLegalEntityRequestForbiddenError BenefitsLegalEntitiesIdGetResponsesContentApplicationJsonSchemaEmploymentType: type: string enum: - peo - usp - gp description: Employment type of the legal entity. title: BenefitsLegalEntitiesIdGetResponsesContentApplicationJsonSchemaEmploymentType LegalEntitiesPostResponsesContentApplicationJsonSchemaDataAddress: type: object properties: zip: type: string city: type: string state: type: string street: type: string country: type: string description: The entity's address. title: LegalEntitiesPostResponsesContentApplicationJsonSchemaDataAddress LegalEntitiesGetResponsesContentApplicationJsonSchemaPage: type: object properties: cursor: type: - string - 'null' description: Cursor link title: LegalEntitiesGetResponsesContentApplicationJsonSchemaPage legal-entities_getIndustries_Response_200: type: object properties: data: type: array items: $ref: '#/components/schemas/IndustriesGetResponsesContentApplicationJsonSchemaDataItems' description: List of industry subcategories. has_more: type: boolean description: Indicates if there are more results available. next_cursor: type: - string - 'null' description: Cursor to fetch the next page of results. total_count: type: integer description: Total number of results matching the query. required: - data - has_more - next_cursor - total_count title: legal-entities_getIndustries_Response_200 legal-entities_deleteLegalEntity_Response_200: type: object properties: archived_at: type: string format: date-time description: The timestamp when the legal entity was archived. title: legal-entities_deleteLegalEntity_Response_200 LegalEntitiesPostRequestBodyContentApplicationJsonSchemaDataAddress: type: object properties: zip: type: string description: Zip code. city: type: string description: City name. state: type: string description: 'State ' street: type: string description: Street address. country: type: string description: Country code. required: - zip - city - street - country description: The physical address of the entity. title: LegalEntitiesPostRequestBodyContentApplicationJsonSchemaDataAddress LegalEntitiesIdPatchRequestBodyContentApplicationJsonSchemaAddress: type: object properties: city: type: string description: The city. state: type: string description: The state. street: type: string description: The street address. country: type: string description: The ISO 2-letter country code. title: LegalEntitiesIdPatchRequestBodyContentApplicationJsonSchemaAddress Legal Entities_getLegalEntityDataFromOrganizationIntegratedWithExternalBenefitsVendor-v2026-01-01_Response_200: type: object properties: id: type: string description: Unique identifier for the legal entity. name: type: string description: Name of the legal entity. phone: type: - string - 'null' description: Phone number of the legal entity. vat_id: type: - string - 'null' description: VAT ID of the legal entity, known as EIN in the US. address: $ref: '#/components/schemas/BenefitsLegalEntitiesIdGetResponsesContentApplicationJsonSchemaAddress' description: Address of the legal entity. country: type: - string - 'null' description: Country of the legal entity. naics_code: type: - string - 'null' description: NAICS code of the legal entity. entity_type: type: string description: Type of the legal entity (e.g., LLC). employment_type: $ref: '#/components/schemas/BenefitsLegalEntitiesIdGetResponsesContentApplicationJsonSchemaEmploymentType' description: Employment type of the legal entity. registration_number: type: - string - 'null' description: Registration number of the legal entity. registration_address: oneOf: - $ref: '#/components/schemas/BenefitsLegalEntitiesIdGetResponsesContentApplicationJsonSchemaRegistrationAddress' - type: 'null' description: Registration address of the legal entity. union_or_leased_employees: type: boolean description: Indicates if the legal entity has union or leased employees. title: Legal Entities_getLegalEntityDataFromOrganizationIntegratedWithExternalBenefitsVendor-v2026-01-01_Response_200 ApiError: type: object properties: message: type: string description: A description of the returned error path: type: string description: The JSON path where input validation failed title: ApiError IndustriesGetParametersOrder: type: string enum: - ASC - DESC default: ASC title: IndustriesGetParametersOrder LegalEntitiesGetResponsesContentApplicationJsonSchemaDataItems: type: object properties: id: type: string description: Id of the legal entity name: type: string description: Name of the legal entity phone: type: - string - 'null' description: Phone number vat_id: type: - string - 'null' description: VAT ID address: oneOf: - $ref: '#/components/schemas/LegalEntitiesGetResponsesContentApplicationJsonSchemaDataItemsAddress' - type: 'null' country: type: - string - 'null' description: Country of the legal entity created_at: type: string format: date-time description: Created date sic_number: type: - string - 'null' description: SIC Company Identifier updated_at: type: string format: date-time description: Updated date archived_at: type: - string - 'null' format: date-time description: Archived date entity_type: $ref: '#/components/schemas/LegalEntitiesGetResponsesContentApplicationJsonSchemaDataItemsEntityType' description: Entity type industry_name: type: - string - 'null' description: Industry name entity_subtype: type: string description: Entity sub type registrationNumber: type: - string - 'null' description: Registration number title: LegalEntitiesGetResponsesContentApplicationJsonSchemaDataItems LegalEntitiesIdPatchResponsesContentApplicationJsonSchemaData: type: object properties: id: type: string description: The unique identifier of the legal entity. name: type: string description: The name of the legal entity. phone: type: string description: The phone number of the legal entity. address: $ref: '#/components/schemas/LegalEntitiesIdPatchResponsesContentApplicationJsonSchemaDataAddress' sic_number: type: string description: The SIC number of the legal entity. entity_type: type: string description: The type of the legal entity. industry_name: type: string description: The industry name of the legal entity. company_identifiers: $ref: '#/components/schemas/LegalEntitiesIdPatchResponsesContentApplicationJsonSchemaDataCompanyIdentifiers' title: LegalEntitiesIdPatchResponsesContentApplicationJsonSchemaData IndustriesGetResponsesContentApplicationJsonSchemaDataItems: type: object properties: id: type: string format: uuid description: UUID of the subcategory. name: type: string description: Name of the industry subcategory. created_at: type: string format: date-time description: Date and time when the subcategory was created. updated_at: type: string format: date-time description: Date and time when the subcategory was last updated. category_name: type: - string - 'null' description: Name of the associated industry category. required: - id - name - created_at - updated_at - category_name title: IndustriesGetResponsesContentApplicationJsonSchemaDataItems CreateLegalEntityRequestForbiddenError: type: object properties: message: type: string description: Error message explaining the lack of permission. title: CreateLegalEntityRequestForbiddenError ApiErrorContainer: type: object properties: request: $ref: '#/components/schemas/ApiErrorRequest' errors: type: array items: $ref: '#/components/schemas/ApiError' title: ApiErrorContainer LegalEntitiesIdPatchRequestBodyContentApplicationJsonSchemaCompanyIdentifiers: type: object properties: tax_number: type: string description: The tax identification number of the legal entity. registration_number: type: string description: The registration number of the legal entity. description: Identifiers associated with the legal entity. title: LegalEntitiesIdPatchRequestBodyContentApplicationJsonSchemaCompanyIdentifiers legal-entities_getLegalEntities_Response_200: type: object properties: data: type: array items: $ref: '#/components/schemas/LegalEntitiesGetResponsesContentApplicationJsonSchemaDataItems' page: $ref: '#/components/schemas/LegalEntitiesGetResponsesContentApplicationJsonSchemaPage' title: legal-entities_getLegalEntities_Response_200 legal-entities_updateLegalEntity_Response_200: type: object properties: data: $ref: '#/components/schemas/LegalEntitiesIdPatchResponsesContentApplicationJsonSchemaData' title: legal-entities_updateLegalEntity_Response_200 LegalEntitiesPostResponsesContentApplicationJsonSchemaData: type: object properties: id: type: string description: The unique identifier for the legal entity. name: type: string description: The name of the entity. phone: type: string description: The contact number of the entity. address: $ref: '#/components/schemas/LegalEntitiesPostResponsesContentApplicationJsonSchemaDataAddress' description: The entity's address. created_at: type: string format: date-time description: Timestamp when the entity was created. sic_number: type: string description: The SIC number of the entity. updated_at: type: string format: date-time description: Timestamp when the entity was last updated. entity_type: type: string description: Type of the entity. title: LegalEntitiesPostResponsesContentApplicationJsonSchemaData LegalEntitiesIdPatchResponsesContentApplicationJsonSchemaDataCompanyIdentifiers: type: object properties: tax_number: type: string description: The tax identification number of the legal entity. registration_number: type: string description: The registration number of the legal entity. title: LegalEntitiesIdPatchResponsesContentApplicationJsonSchemaDataCompanyIdentifiers IndustriesGetResponsesContentApplicationJsonSchemaRequest: type: object properties: url: type: string description: The relative URL of the failed request code: type: number format: double description: The code of the source handler which produced the returned error docs: type: string description: A link to the official documentation for the requested endpoint resource method: type: string description: The HTTP method of the failed request source: type: string description: The source handler which produced the returned error status: type: number format: double description: The status code of the response api_req_id: type: string description: The request ID of the failed request title: IndustriesGetResponsesContentApplicationJsonSchemaRequest CreateLegalEntityRequestBadRequestError: type: object properties: message: type: string description: Error message explaining what went wrong. title: CreateLegalEntityRequestBadRequestError ApiErrorRequest: type: object properties: method: type: string description: The HTTP method of the failed request url: type: string description: The relative URL of the failed request status: type: number format: double description: The status code of the response api_req_id: type: string description: The request ID of the failed request docs: type: string description: A link to the official documentation for the requested endpoint resource source: type: string description: The source handler which produced the returned error code: type: number format: double description: The code of the source handler which produced the returned error title: ApiErrorRequest BenefitsLegalEntitiesIdGetResponsesContentApplicationJsonSchemaAddress: type: object properties: zip: type: string city: type: string state: type: - string - 'null' street: type: string country: type: string province: type: - string - 'null' description: Address of the legal entity. title: BenefitsLegalEntitiesIdGetResponsesContentApplicationJsonSchemaAddress securitySchemes: deelToken: type: http scheme: bearer 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" oauth2: type: http scheme: bearer description: Standard OAuth2 security scheme based on https://swagger.io/docs/specification/authentication/