Deel Subpackage Eor Job Scopes API
The subpackage_eorJobScopes API from Deel — 2 operation(s) for subpackage_eorjobscopes.
The subpackage_eorJobScopes API from Deel — 2 operation(s) for subpackage_eorjobscopes.
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-eorjobscopes-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 Eor Job Scopes API
version: 1.0.0
servers:
- url: https://api.letsdeel.com/rest/v2
- url: https://api-staging.letsdeel.com/rest/v2
tags:
- name: subpackage_eorJobScopes
paths:
/eor/job-scopes:
get:
operationId: get-job-scopes
summary: List of job scope templates for EOR contracts
description: 'Returns a list of predefined job scope templates for an EOR contract, which can be filtered by team. The list includes both predefined and custom job scope templates belonging to the user''s teams.
**Token scopes**: `organizations:read`'
tags:
- subpackage_eorJobScopes
parameters:
- name: team
in: query
description: Team public id
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: Successfull response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/EorJobScopesGetResponsesContentApplicationJsonSchemaItems'
'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: Not Found - Organization not linked to profile or no teams found for the organization
content:
application/json:
schema:
$ref: '#/components/schemas/ListOfJobScopeTemplatesForEorContractsRequestNotFoundError'
'500':
description: Operation failed.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorContainer'
/eor/job-scopes/validate:
post:
operationId: validate-job-scope
summary: Request job scope validation
description: 'This endpoint allows client to validate job scope description.
**Token scopes**: `contracts:write`'
tags:
- subpackage_eorJobScopes
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: Successful operation.
content:
application/json:
schema:
$ref: '#/components/schemas/eor-job-scopes_validateJobScope_Response_200'
'400':
description: Operation failed.
content:
application/json:
schema:
$ref: '#/components/schemas/RequestJobScopeValidation-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: Run job scope validation
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/EorJobScopesValidatePostRequestBodyContentApplicationJsonSchemaData'
description: details of job scope
required:
- data
components:
schemas:
EorJobScopesGetResponsesContentApplicationJsonSchemaItems:
type: object
properties:
id:
type: string
description: Unique identifier for the job scope
team:
$ref: '#/components/schemas/EorJobScopesGetResponsesContentApplicationJsonSchemaItemsTeam'
title:
type: string
description: Title or name of the job scope
content:
type: string
description: Detailed description of the job scope
personal:
type:
- string
- 'null'
description: Identifier from the team or the profile, whichever is available
created_at:
type: string
description: Timestamp of when the job scope was created
created_by:
$ref: '#/components/schemas/EorJobScopesGetResponsesContentApplicationJsonSchemaItemsCreatedBy'
updated_at:
type: string
description: Timestamp of when the job scope was last updated
updated_by:
$ref: '#/components/schemas/EorJobScopesGetResponsesContentApplicationJsonSchemaItemsUpdatedBy'
source_type:
$ref: '#/components/schemas/EorJobScopesGetResponsesContentApplicationJsonSchemaItemsSourceType'
description: Source of the job scope data
organization_id:
type:
- string
- 'null'
description: Identifier of the associated organization, if any
title: EorJobScopesGetResponsesContentApplicationJsonSchemaItems
EorJobScopesValidatePostResponsesContentApplicationJsonSchemaErrorsItems:
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: EorJobScopesValidatePostResponsesContentApplicationJsonSchemaErrorsItems
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
RequestJobScopeValidation-v2026-01-01RequestBadRequestError:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/EorJobScopesValidatePostResponsesContentApplicationJsonSchemaErrorsItems'
request:
$ref: '#/components/schemas/EorJobScopesValidatePostResponsesContentApplicationJsonSchemaRequest'
title: RequestJobScopeValidation-v2026-01-01RequestBadRequestError
EorJobScopesGetResponsesContentApplicationJsonSchemaError:
type: string
enum:
- No organization is linked with the profile
- No teams found for this organization
description: Error message indicating the missing entity
title: EorJobScopesGetResponsesContentApplicationJsonSchemaError
EorJobScopesValidatePostResponsesContentApplicationJsonSchemaRequest:
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: EorJobScopesValidatePostResponsesContentApplicationJsonSchemaRequest
EorJobScopesGetResponsesContentApplicationJsonSchemaItemsSourceType:
type: string
enum:
- MANUAL
- AI
description: Source of the job scope data
title: EorJobScopesGetResponsesContentApplicationJsonSchemaItemsSourceType
EorJobScopesGetResponsesContentApplicationJsonSchemaItemsTeam:
type: object
properties:
id:
type:
- string
- 'null'
description: Unique identifier of the associated team, if any
name:
type:
- string
- 'null'
description: Name of the team associated with the job scope, if any
title: EorJobScopesGetResponsesContentApplicationJsonSchemaItemsTeam
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
EorJobScopesValidatePostResponsesContentApplicationJsonSchemaDataForCorrectedJobScopeEndpointErrorsForCorrectJobScopeItems:
type: object
properties:
message:
type: string
description: Message with error description
title: EorJobScopesValidatePostResponsesContentApplicationJsonSchemaDataForCorrectedJobScopeEndpointErrorsForCorrectJobScopeItems
EorJobScopesGetResponsesContentApplicationJsonSchemaItemsCreatedBy:
type: object
properties:
id:
type:
- string
- 'null'
description: Unique identifier of the user who created the job scope
name:
type:
- string
- 'null'
description: Name of the user who created the job scope
title: EorJobScopesGetResponsesContentApplicationJsonSchemaItemsCreatedBy
EorJobScopesGetResponsesContentApplicationJsonSchemaItemsUpdatedBy:
type: object
properties:
id:
type:
- string
- 'null'
description: Unique identifier of the user who last updated the job scope
name:
type:
- string
- 'null'
description: Name of the user who last updated the job scope
title: EorJobScopesGetResponsesContentApplicationJsonSchemaItemsUpdatedBy
ListOfJobScopeTemplatesForEorContractsRequestNotFoundError:
type: object
properties:
error:
$ref: '#/components/schemas/EorJobScopesGetResponsesContentApplicationJsonSchemaError'
description: Error message indicating the missing entity
title: ListOfJobScopeTemplatesForEorContractsRequestNotFoundError
EorJobScopesValidatePostResponsesContentApplicationJsonSchemaDataForCorrectedJobScopeEndpoint:
type: object
properties:
anonymized_job_scope:
type:
- string
- 'null'
description: Anonymized job scope.
errors_for_correct_job_scope:
type: array
items:
$ref: '#/components/schemas/EorJobScopesValidatePostResponsesContentApplicationJsonSchemaDataForCorrectedJobScopeEndpointErrorsForCorrectJobScopeItems'
description: List of errors for corrected job scope.
must_create_correct_job_scope:
type: boolean
description: Indicates if a corrected job scope is required.
description: Data for corrected job scope endpoint.
title: EorJobScopesValidatePostResponsesContentApplicationJsonSchemaDataForCorrectedJobScopeEndpoint
EorJobScopesValidatePostRequestBodyContentApplicationJsonSchemaData:
type: object
properties:
team_id:
type: string
format: uuid
description: The ID of the team.
job_scope:
type: string
description: The scope of the job.
job_title:
type: string
description: The title of the job.
work_visa:
type: boolean
description: Indicates if a work visa is required.
client_name:
type: string
description: Optional client name. The validation refuses a job scope if it includes the client name. If not provided, it will be inferred from the legal entity instead.
employee_name:
type: string
description: The name of the employee.
special_job_id:
type:
- string
- 'null'
format: uuid
description: The ID of the special job.
employment_state:
type:
- string
- 'null'
description: The state of employment.
employment_country:
type: string
description: The country of employment.
employee_nationality:
type: string
description: The nationality of the employee.
client_legal_entity_id:
type: string
format: uuid
description: The ID of the client's legal entity.
required:
- team_id
- job_scope
- job_title
- employee_name
- employment_country
- client_legal_entity_id
description: details of job scope
title: EorJobScopesValidatePostRequestBodyContentApplicationJsonSchemaData
eor-job-scopes_validateJobScope_Response_200:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/EorJobScopesValidatePostResponsesContentApplicationJsonSchemaErrorsItems'
description: List of validation errors, if empty the validation was successfully.
quote_validation_log_public_id:
type: string
description: Id from validation request.
data_for_corrected_job_scope_endpoint:
$ref: '#/components/schemas/EorJobScopesValidatePostResponsesContentApplicationJsonSchemaDataForCorrectedJobScopeEndpoint'
description: Data for corrected job scope endpoint.
title: eor-job-scopes_validateJobScope_Response_200
ApiErrorContainer:
type: object
properties:
request:
$ref: '#/components/schemas/ApiErrorRequest'
errors:
type: array
items:
$ref: '#/components/schemas/ApiError'
title: ApiErrorContainer
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/