Deel Subpackage Personal Information API
The subpackage_personalInformation API from Deel — 2 operation(s) for subpackage_personalinformation.
The subpackage_personalInformation API from Deel — 2 operation(s) for subpackage_personalinformation.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/deel-com:deel-com-subpackage-personalinformation-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Endpoints Subpackage Personal Information API
version: 1.0.0
servers:
- url: https://api.letsdeel.com/rest/v2
- url: https://api-staging.letsdeel.com/rest/v2
tags:
- name: subpackage_personalInformation
paths:
/people/{worker_id}/personal:
get:
operationId: get-person-personal-info
summary: Get personal information by id
description: 'Get worker''s personal information by using identifier.
**Token scopes**: `people:read`'
tags:
- subpackage_personalInformation
parameters:
- name: worker_id
in: path
description: Unique identifier for a worker (External 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 response
content:
application/json:
schema:
$ref: '#/components/schemas/personal-information_getPersonPersonalInfo_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/GetPersonalInformationByIdRequestInternalServerError'
patch:
operationId: update-person-personal-info
summary: Update personal information
description: 'Update worker''s personal information.
**Token scopes**: `people:write`'
tags:
- subpackage_personalInformation
parameters:
- name: worker_id
in: path
description: Unique identifier for a worker.
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:
'204':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/personal-information_updatePersonPersonalInfo_Response_204'
'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:
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/PeopleWorkerIdPersonalPatchRequestBodyContentApplicationJsonSchemaData'
required:
- data
/people/external/{worker_id}/personal:
get:
operationId: get-person-personal-info-external-id
summary: Get worker profile by external ID
description: 'Retrieve a worker profile record using an external worker identifier.
**Token scopes**: `people:read`'
tags:
- subpackage_personalInformation
parameters:
- name: worker_id
in: path
description: System-wide external identifier for a worker record.
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:
'204':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/personal-information_getPersonPersonalInfoExternalID_Response_204'
'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'
patch:
operationId: update-person-personal-info-external-id
summary: Update personal information by external id
description: 'Update worker''s personal information by using an external identifier.
**Token scopes**: `people:write`'
tags:
- subpackage_personalInformation
parameters:
- name: worker_id
in: path
description: Unique identifier for a worker (External 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:
'204':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/personal-information_updatePersonPersonalInfoExternalID_Response_204'
'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:
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/PeopleExternalWorkerIdPersonalPatchRequestBodyContentApplicationJsonSchemaData'
required:
- data
components:
schemas:
PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataKyc:
type: object
properties:
is_kyc_approved:
type: boolean
description: Boolean to identify if the user is KYC verified
kyc_approval_date:
type:
- string
- 'null'
description: The Date the user was KYC verified if applicable
required:
- is_kyc_approved
- kyc_approval_date
description: KYC (Know Your Customer) verification information for the worker.
title: PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataKyc
PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataNationalitiesItems:
type: object
properties:
code:
type: string
description: Unique 2-letters ISO country code.
name:
type: string
description: The name of the country.
required:
- code
- name
title: PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataNationalitiesItems
PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataAddressesItems:
type: object
properties:
id:
type: string
format: uuid
description: Unique identifier for the address.
zip:
type:
- string
- 'null'
description: The zip code.
city:
type:
- string
- 'null'
description: The city.
type:
$ref: '#/components/schemas/PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataAddressesItemsType'
description: The type of the address.
state:
type:
- string
- 'null'
description: The state.
street:
type:
- string
- 'null'
description: The street address.
country:
type: string
description: The country.
required:
- id
- zip
- city
- type
- state
- street
- country
title: PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataAddressesItems
PeopleExternalWorkerIdPersonalPatchRequestBodyContentApplicationJsonSchemaData:
type: object
properties:
date_of_birth:
type: string
format: date
description: 'The date of birth of the worker. Format: YYYY-MM-DD.'
personal_email:
type: string
format: email
description: The personal email of the worker.
preferred_name:
type:
- string
- 'null'
description: The preferred name of the worker.
legal_last_name:
type: string
description: The legal last name of the worker.
legal_first_name:
type: string
description: The legal first name of the worker.
title: PeopleExternalWorkerIdPersonalPatchRequestBodyContentApplicationJsonSchemaData
PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataDemographicsEthnicity:
type: object
properties:
id:
type: string
format: uuid
description: Unique identifier for the ethnicity.
name:
type: string
description: The name of the ethnicity.
other_name:
type:
- string
- 'null'
description: Ethnicity added by user when "Other" option was chosen.
required:
- id
- name
- other_name
description: Ethnicity information for the worker.
title: PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataDemographicsEthnicity
personal-information_updatePersonPersonalInfoExternalID_Response_204:
type: object
properties: {}
description: Empty response body
title: personal-information_updatePersonPersonalInfoExternalID_Response_204
PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataPhoneNumbersItemsType:
type: string
enum:
- PERSONAL
- WORK
- HOME
description: The type of the phone number.
title: PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataPhoneNumbersItemsType
PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataPhoneNumbersItems:
type: object
properties:
type:
$ref: '#/components/schemas/PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataPhoneNumbersItemsType'
description: The type of the phone number.
dial_code:
type: string
description: The dial code (also known as country code).
phone_number:
type: string
description: The phone number.
required:
- type
- dial_code
- phone_number
title: PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataPhoneNumbersItems
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
GetPersonalInformationByIdRequestInternalServerError:
type: object
properties:
error:
$ref: '#/components/schemas/PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaError'
required:
- error
title: GetPersonalInformationByIdRequestInternalServerError
PeopleWorkerIdPersonalPatchRequestBodyContentApplicationJsonSchemaDataPhoneNumbersItemsType:
type: string
enum:
- PERSONAL
- WORK
- HOME
description: The type of the phone number.
title: PeopleWorkerIdPersonalPatchRequestBodyContentApplicationJsonSchemaDataPhoneNumbersItemsType
personal-information_updatePersonPersonalInfo_Response_204:
type: object
properties: {}
description: Empty response body
title: personal-information_updatePersonPersonalInfo_Response_204
PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaData:
type: object
properties:
id:
type: string
format: uuid
description: Unique identifier for the worker.
kyc:
$ref: '#/components/schemas/PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataKyc'
description: KYC (Know Your Customer) verification information for the worker.
ooo:
oneOf:
- $ref: '#/components/schemas/PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataOoo'
- type: 'null'
description: Out of office information for the worker, including leave type and dates.
addresses:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataAddressesItems'
description: Array of addresses associated with the worker.
worker_id:
type: integer
description: The worker id.
work_email:
type:
- string
- 'null'
format: email
description: The work email of the worker.
external_id:
type:
- string
- 'null'
description: The external id of the worker.
demographics:
oneOf:
- $ref: '#/components/schemas/PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataDemographics'
- type: 'null'
description: Demographic information for the worker, including gender and ethnicity.
date_of_birth:
type:
- string
- 'null'
format: date
description: The date of birth of the worker.
nationalities:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataNationalitiesItems'
description: Array of nationalities associated with the worker.
phone_numbers:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataPhoneNumbersItems'
description: Array of phone numbers associated with the worker.
personal_email:
type:
- string
- 'null'
format: email
description: The personal email of the worker.
preferred_name:
type:
- string
- 'null'
description: The preferred name of the worker.
legal_last_name:
type:
- string
- 'null'
description: The legal last name of the worker.
legal_first_name:
type:
- string
- 'null'
description: The legal first name of the worker.
emergency_contacts:
type: array
items:
$ref: '#/components/schemas/PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataEmergencyContactsItems'
description: Array of emergency contacts associated with the worker.
required:
- id
- worker_id
- emergency_contacts
title: PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaData
PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataAddressesItemsType:
type: string
enum:
- HOME
- POSTAL
- CONTRACT
description: The type of the address.
title: PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataAddressesItemsType
PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaError:
type: object
properties:
code:
type: string
description: Error code identifying the type of error.
details:
type:
- string
- 'null'
description: Additional details about the error.
message:
type: string
description: Error message describing what went wrong.
required:
- code
- message
title: PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaError
PeopleWorkerIdPersonalPatchRequestBodyContentApplicationJsonSchemaData:
type: object
properties:
work_email:
type: string
format: email
description: The personal email of the worker.
date_of_birth:
type: string
format: date
description: 'The date of birth of the worker. Format: YYYY-MM-DD.'
phone_numbers:
type: array
items:
$ref: '#/components/schemas/PeopleWorkerIdPersonalPatchRequestBodyContentApplicationJsonSchemaDataPhoneNumbersItems'
personal_email:
type: string
format: email
description: The personal email of the worker.
preferred_name:
type:
- string
- 'null'
description: The preferred name of the worker.
legal_last_name:
type: string
description: The legal last name of the worker.
legal_first_name:
type: string
description: The legal first name of the worker.
title: PeopleWorkerIdPersonalPatchRequestBodyContentApplicationJsonSchemaData
PeopleWorkerIdPersonalPatchRequestBodyContentApplicationJsonSchemaDataPhoneNumbersItems:
type: object
properties:
type:
$ref: '#/components/schemas/PeopleWorkerIdPersonalPatchRequestBodyContentApplicationJsonSchemaDataPhoneNumbersItemsType'
description: The type of the phone number.
dial_code:
type: string
description: The dial code (also known as country code).
phone_number:
type: string
description: The phone number.
required:
- type
- dial_code
- phone_number
title: PeopleWorkerIdPersonalPatchRequestBodyContentApplicationJsonSchemaDataPhoneNumbersItems
PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataEmergencyContactsItems:
type: object
properties:
id:
type: string
format: uuid
description: Unique identifier for the emergency contact.
name:
type: string
description: The name of the emergency contact.
email:
type:
- string
- 'null'
format: email
description: The email of the emergency contact.
phone:
type: string
description: The phone number of the emergency contact.
relationship:
type: string
description: The type of relationship between the owner and the emergency contact.
preferred_language:
oneOf:
- $ref: '#/components/schemas/PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataEmergencyContactsItemsPreferredLanguage'
- type: 'null'
description: The preferred language in which the emergency contact should be contacted.
required:
- id
- name
- email
- phone
- relationship
- preferred_language
title: PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataEmergencyContactsItems
PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataDemographicsGender:
type: object
properties:
id:
type: string
format: uuid
description: Unique identifier for the gender.
name:
type: string
description: The name of the gender.
other_name:
type:
- string
- 'null'
description: Gender added by user when "Other" option was chosen.
required:
- id
- name
- other_name
description: Gender information for the worker.
title: PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataDemographicsGender
ApiErrorContainer:
type: object
properties:
request:
$ref: '#/components/schemas/ApiErrorRequest'
errors:
type: array
items:
$ref: '#/components/schemas/ApiError'
title: ApiErrorContainer
PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataOooLeaveType:
type: string
enum:
- LONG_TERM_LEAVE
- SHORT_TERM_LEAVE
description: The worker leave type.
title: PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataOooLeaveType
personal-information_getPersonPersonalInfoExternalID_Response_204:
type: object
properties: {}
description: Empty response body
title: personal-information_getPersonPersonalInfoExternalID_Response_204
personal-information_getPersonPersonalInfo_Response_200:
type: object
properties:
data:
$ref: '#/components/schemas/PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaData'
required:
- data
title: personal-information_getPersonPersonalInfo_Response_200
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
PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataEmergencyContactsItemsPreferredLanguage:
type: object
properties:
id:
type: integer
description: Unique identifier for the preferred language.
language:
type: string
description: The name of the language.
required:
- id
- language
description: The preferred language in which the emergency contact should be contacted.
title: PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataEmergencyContactsItemsPreferredLanguage
PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataOoo:
type: object
properties:
name:
type: string
description: The worker out of office name.
end_date:
type: string
description: The worker out of office end date.
leave_type:
$ref: '#/components/schemas/PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataOooLeaveType'
description: The worker leave type.
start_date:
type: string
format: date
description: The worker out of office start date.
required:
- name
- end_date
- leave_type
- start_date
description: Out of office information for the worker, including leave type and dates.
title: PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataOoo
PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataDemographics:
type: object
properties:
gender:
oneOf:
- $ref: '#/components/schemas/PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataDemographicsGender'
- type: 'null'
description: Gender information for the worker.
ethnicity:
oneOf:
- $ref: '#/components/schemas/PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataDemographicsEthnicity'
- type: 'null'
description: Ethnicity information for the worker.
required:
- gender
- ethnicity
description: Demographic information for the worker, including gender and ethnicity.
title: PeopleWorkerIdPersonalGetResponsesContentApplicationJsonSchemaDataDemographics
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/