openapi: 3.1.0 info: title: Endpoints subpackage_user API version: 1.0.0 servers: - url: https://api.letsdeel.com/rest/v2 - url: https://api-staging.letsdeel.com/rest/v2 tags: - name: subpackage_user paths: /Users/{hris_profile_id}: get: operationId: retrieve-a-single-user-v-2026-01-01 summary: Retrieve a single User description: "Retrieve a single user by id.\n **Token scopes**: `Users:read`" tags: - subpackage_user parameters: - name: hris_profile_id in: path description: The unique identifier (OID) of the HRIS profile to retrieve. 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 response content: application/json: schema: $ref: '#/components/schemas/User_retrieveASingleUser-v2026-01-01_Response_200' '404': description: Resource not found - The provided hrisProfileOid does not exist. content: application/json: schema: $ref: '#/components/schemas/RetrieveASingleUser-v2026-01-01RequestNotFoundError' components: schemas: UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtensionEnterprise20User: type: object properties: manager: $ref: '#/components/schemas/UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtensionEnterprise20UserManager' costCenter: type: string department: type: string organization: type: string title: UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtensionEnterprise20User User_retrieveASingleUser-v2026-01-01_Response_200: type: object properties: id: type: string meta: $ref: '#/components/schemas/UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaMeta' name: $ref: '#/components/schemas/UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaName' title: type: string active: type: boolean default: false emails: type: array items: $ref: '#/components/schemas/UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaEmailsItems' schemas: type: array items: $ref: '#/components/schemas/UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaSchemasItems' userName: type: string userType: type: string addresses: type: array items: $ref: '#/components/schemas/UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaAddressesItems' urn:ietf:params:scim:schemas:extension:2.0:User: $ref: '#/components/schemas/UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtension20User' urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: $ref: '#/components/schemas/UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtensionEnterprise20User' required: - meta - name - emails - schemas - userName title: User_retrieveASingleUser-v2026-01-01_Response_200 UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtension20UserEndDate: oneOf: - type: string format: date-time - $ref: '#/components/schemas/UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtension20UserEndDate1' title: UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtension20UserEndDate RetrieveASingleUser-v2026-01-01RequestNotFoundError: type: object properties: errors: type: array items: $ref: '#/components/schemas/UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaErrorsItems' request: $ref: '#/components/schemas/UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaRequest' title: RetrieveASingleUser-v2026-01-01RequestNotFoundError UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtension20UserCustomFieldsItems: type: object properties: id: type: string name: type: - string - 'null' value: type: - string - 'null' title: UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtension20UserCustomFieldsItems UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaMetaResourceType: type: string enum: - User - Group title: UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaMetaResourceType UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaName: type: object properties: givenName: type: string familyName: type: string required: - givenName - familyName title: UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaName UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaSchemasItems: type: string enum: - urn:ietf:params:scim:schemas:core:2.0:User title: UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaSchemasItems UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtension20UserEmploymentsItemsTeam: type: object properties: name: type: string title: UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtension20UserEmploymentsItemsTeam UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaRequest: type: object properties: url: type: string docs: type: string method: type: string source: type: string status: type: integer api_req_id: type: string title: UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaRequest UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaMeta: type: object properties: created: type: string format: date-time location: type: string lastModified: type: string format: date-time resourceType: $ref: '#/components/schemas/UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaMetaResourceType' title: UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaMeta UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtensionEnterprise20UserManager: type: object properties: value: type: string displayName: type: string required: - value title: UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtensionEnterprise20UserManager UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaErrorsItems: type: object properties: key: type: string path: type: array items: type: string type: type: string context: $ref: '#/components/schemas/UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaErrorsItemsContext' message: type: string title: UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaErrorsItems UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaEmailsItems: type: object properties: type: $ref: '#/components/schemas/UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaEmailsItemsType' value: type: string primary: type: boolean default: false required: - type - value title: UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaEmailsItems ? UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtension20UserEmploymentsItemsCustomFieldsItemsData : type: object properties: {} description: The custom field value payload, structure varies by field type title: UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtension20UserEmploymentsItemsCustomFieldsItemsData UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaErrorsItemsContext: type: object properties: {} title: UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaErrorsItemsContext ? UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtension20UserEmploymentsItemsCustomFieldsItems : type: object properties: id: type: string data: oneOf: - $ref: '#/components/schemas/UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtension20UserEmploymentsItemsCustomFieldsItemsData' - type: 'null' description: The custom field value payload, structure varies by field type name: type: string type: type: string title: UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtension20UserEmploymentsItemsCustomFieldsItems UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtension20User: type: object properties: state: type: - string - 'null' country: type: - string - 'null' endDate: $ref: '#/components/schemas/UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtension20UserEndDate' isManager: type: boolean default: false startDate: type: - string - 'null' format: date employments: type: - array - 'null' items: $ref: '#/components/schemas/UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtension20UserEmploymentsItems' customFields: type: - array - 'null' items: $ref: '#/components/schemas/UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtension20UserCustomFieldsItems' hiringStatus: type: string workLocation: type: - string - 'null' description: The work location label assigned to the worker's HRIS profile departmentHierarchy: type: - string - 'null' departmentExternalId: type: - string - 'null' departmentExternalIdHierarchy: type: - string - 'null' title: UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtension20User UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaEmailsItemsType: type: string enum: - home - work - other title: UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaEmailsItemsType UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtension20UserEmploymentsItems: type: object properties: team: $ref: '#/components/schemas/UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtension20UserEmploymentsItemsTeam' state: type: - string - 'null' title: type: - string - 'null' active: type: boolean default: false country: type: - string - 'null' startDate: type: - string - 'null' contractId: type: string contractType: type: - string - 'null' customFields: type: array items: $ref: '#/components/schemas/UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtension20UserEmploymentsItemsCustomFieldsItems' description: Contract-level custom fields associated with the employment title: UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtension20UserEmploymentsItems UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaAddressesItems: type: object properties: type: type: string region: type: string country: type: - string - 'null' locality: type: string postalCode: type: string streetAddress: type: string title: UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaAddressesItems UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtension20UserEndDate1: type: string enum: - '' title: UsersHrisProfileIdGetResponsesContentApplicationJsonSchemaUrnIetfParamsScimSchemasExtension20UserEndDate1 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/