The Deel MCP connector routes your AI agent's tool calls to Deel's own MCP server through Scalekit. Each user signs in to Deel once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 464 tools.
- Tools
- 464
- What they doRead · write · destructive
- 206 · 203 · 55206 read203 write55 destructive
- Users sign in with
- OAuth
- OAuth app
- Your own Deel MCP server app
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Deel MCP connection
In AgentKit > Connections, create a Deel MCP connection and copy its redirect URI. The name you give it is the
connection_nameyour code passes. See Configure connections.Register an OAuth app
Deel MCP server connections use your own OAuth app. Register one with Deel MCP server and add the redirect URI you copied.
Then enter the app's Client ID and Client Secret on the Deel MCP connection.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'deelmcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Deel MCP:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'deelmcp_advance_eligibility_get',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "deelmcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Deel MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="deelmcp_advance_eligibility_get",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_tooldeelmcp_advance_eligibility_getChecks whether the authenticated contractor is eligible for a Deel Advance.Read-onlyAdvance Eligibility Get
Checks whether the authenticated contractor is eligible for a Deel Advance. Evaluates KYC verification, contract type, payment cycle status, termination proximity, and organization standing, returning a detailed breakdown.
Inputs
This tool takes no inputs.
deelmcp_ats_application_feedback_listReturns a paginated list of feedbacks submitted for activities on the given application, including reviewer profiles, overall recommendations, and form responses.Read-onlyAts Application Feedback List
Returns a paginated list of feedbacks submitted for activities on the given application, including reviewer profiles, overall recommendations, and form responses.
Inputs
application_idstringrequired- Unique identifier of the application to retrieve feedbacks for.
cursorstring- Pagination cursor returned by a previous response.
limitinteger- Maximum number of feedbacks to return per page.
should_hide_sensitive_fieldsboolean- When true, form responses marked as sensitive are omitted from the response. Defaults to true.
statusstring- Filter feedbacks by submission status.one of
SUBMITTEDNOT_SUBMITTEDDISMISSEDREVOKED
deelmcp_ats_application_sources_listReturns the available application sources in the Applicant Tracking System.Read-onlyAts Application Sources List
Returns the available application sources in the Applicant Tracking System.
Inputs
cursorstring- The cursor for pagination
limitinteger- Maximum number of records returned in one response
deelmcp_ats_applications_getRetrieves a single application by its application_id, including associated job details, job posting details, and related metadata.Read-onlyAts Applications Get
Retrieves a single application by its application_id, including associated job details, job posting details, and related metadata.
Inputs
application_idstringrequired- Application ID
deelmcp_ats_applications_listReturns a cursor-paginated list of candidate applications across all open positions for the organization, with filtering by job, interview plan stage, candidate tags, source, stage type, and last-updated timestamp.Read-onlyAts Applications List
Returns a cursor-paginated list of candidate applications across all open positions for the organization, with filtering by job, interview plan stage, candidate tags, source, stage type, and last-updated timestamp.
Inputs
archivation_reason_idsarray- Filter by archivation reason IDs (comma-separated); see GET /rest/ats/reasons with reason_group_slug=CANDIDATE_ARCHIVATION
candidate_tag_idsarray- Filter by candidate tag IDs (comma-separated)
candidate_tag_ids_operatorstring- How candidate_tag_ids are combined: ANY (default) matches candidates with at least one of the tags, ALL requires every tagone of
ANYALL current_stage_category_type_slugsarray- Filter applications by current stage category type slugs. Accepted values are lead, active and completed, in either case — the job list reports them uppercase and this filter accepts that form too.
current_stage_default_type_slugsarray- Filter applications by current stage default type slugs (e.g. new_lead, application_review, offer, hired, archived), in either case. Use 'others' for custom stages.
cursorstring- Cursor for pagination. Use the nextCursor value from the previous response to get the next page of results.
includearray- Optional expansions to embed on each item. STAGE_HISTORY adds the full stage timeline with entered/exited timestamps.
interview_plan_stage_idsarray- Filter by the CURRENT interview plan stage IDs (comma-separated). Applications that have since moved to another stage are excluded — use reached_interview_plan_stage_ids for those.
job_criterias_matchingsarray- Filter applications by job criteria matching state
job_idstring- Filter by job ID
limitinteger- Maximum number of applications to return per page
moved_to_current_stage_beforestring- Return only applications that moved to their current stage strictly before this ISO 8601 datetime (stalled candidates)
reached_interview_plan_stage_idsarray- Filter by interview plan stage IDs the application has EVER been in (comma-separated), including applications that have since advanced, been hired or been archived.
search_textstring- Search text to filter applications
sort_bystring- Field to sort applications byone of
APPLICATION_CREATION_DATESTAGE_CREATION_DATE sort_orderstring- Sort order for applicationsone of
ASCDESC source_slugsarray- Filter by application source (comma-separated)
updated_afterstring- Filter applications updated after this timestamp (ISO 8601 format)
deelmcp_ats_attachments_getLists attachment files for a specific ATS entity, scoped by `attachable_type_slug`, `attachable_id`, and `attachment_type_slug`.Read-onlyAts Attachments Get
Lists attachment files for a specific ATS entity, scoped by `attachable_type_slug`, `attachable_id`, and `attachment_type_slug`.
Inputs
attachable_idstringrequired- Unique identifier for the attachable entity
attachable_type_slugstringrequired- Type of the attachable entityone of
CANDIDATECAREER_PAGE_SETTINGJOB_POSTINGNOTEOFFERSENT_CANDIDATE_EMAILEMAIL_MESSAGETEMPORARYEMAIL_TEMPLATEJOB_ACTIVITY attachment_type_slugstringrequired- Type of the attachmentone of
CVLOGOOFFER_LETTEROTHER cursorstring- The cursor for pagination
limitinteger- Maximum number of records returned in one response
deelmcp_ats_candidates_listReturns a paginated list of candidates, optionally filtered by job IDs, department IDs, tag IDs, current stage category or default type slugs, or a timestamp to return only records updated after a given point.Read-onlyAts Candidates List
Returns a paginated list of candidates, optionally filtered by job IDs, department IDs, tag IDs, current stage category or default type slugs, or a timestamp to return only records updated after a given point.
Inputs
current_stage_category_type_slugsarray- Filter candidates by current stage category type slugs
current_stage_default_type_slugsarray- Filter candidates by current stage default type slugs
cursorstring- The cursor for pagination
department_idsarray- Filter candidates by department IDs
job_idsarray- Filter candidates by job IDs
limitinteger- Maximum number of records returned in one response
searchstring- Search text for filtering candidates
tag_idsarray- Filter candidates by tag IDs
updated_afterstring- Filter applications updated after this timestamp (ISO 8601 format)
deelmcp_ats_departments_listReturns a paginated list of all departments configured in the ATS.Read-onlyAts Departments List
Returns a paginated list of all departments configured in the ATS.
Inputs
cursorstring- Cursor for pagination to get the next set of results
include_archivedstring- If true, archived departments are included in the response; they are excluded by default
limitinteger- Maximum number of records returned in one response
deelmcp_ats_email_templates_listReturns a paginated list of published email templates for the organization, supporting cursor-based pagination and filtering by `updated_after` timestamp.Read-onlyAts Email Templates List
Returns a paginated list of published email templates for the organization, supporting cursor-based pagination and filtering by `updated_after` timestamp.
Inputs
cursorstring- Cursor for pagination. Use the nextCursor value from the previous response to get the next page of results.
limitinteger- Maximum number of email templates to return per page
updated_afterstring- Return only email templates that were updated after this timestamp (ISO 8601 format)
deelmcp_ats_employment_types_listReturns a paginated list of employment types available in the ATS.Read-onlyAts Employment Types List
Returns a paginated list of employment types available in the ATS.
Inputs
cursorstring- The cursor for pagination
limitinteger- Maximum number of records returned in one response
deelmcp_ats_hiring_members_listReturns a paginated list of hiring members configured in the ATS.Read-onlyAts Hiring Members List
Returns a paginated list of hiring members configured in the ATS.
Inputs
cursorstring- The cursor for pagination
limitinteger- Maximum number of records returned in one response
deelmcp_ats_job_boards_job_listReturns a paginated list of job postings belonging to the specified job board.Read-onlyAts Job Boards Job List
Returns a paginated list of job postings belonging to the specified job board. Results can be filtered using available query parameters.
Inputs
job_board_idstringrequired- Job Board ID must be a valid UUID
cursorstring- The cursor for pagination (optional)
limitinteger- Maximum number of records returned in one response (optional)
deelmcp_ats_job_boards_listRetrieves a list of job boards in the Applicant Tracking SystemRead-onlyAts Job Boards List
Retrieves a list of job boards in the Applicant Tracking System
Inputs
cursorstring- Cursor for pagination
limitinteger- Number of items to return
deelmcp_ats_job_postings_getReturns a single job posting by `job_posting_id`, including its associated job object, publication status, application form configuration, compensation visibility flag, and rich-text description.Read-onlyAts Job Postings Get
Returns a single job posting by `job_posting_id`, including its associated job object, publication status, application form configuration, compensation visibility flag, and rich-text description.
Inputs
job_posting_idstringrequired- Unique identifier of the job posting to retrieve
deelmcp_ats_job_postings_listUse this endpoint to retrieve job postings by specifying the job board ID or job ID.Read-onlyAts Job Postings List
Use this endpoint to retrieve job postings by specifying the job board ID or job ID. It provides detailed postings with job details, publication status, and relevant metadata.
Inputs
cursorstring- Opaque cursor for pagination. Use the value from next_cursor of the previous response to fetch the next page.
job_board_idstring- Job board to list postings from (UUID).
job_idstring- When set, only postings for this job are returned (UUID).
limitinteger- Maximum number of job postings to return per page (min: 1, max: 100).
deelmcp_ats_jobs_listReturns a paginated list of jobs in the ATS, filterable by text search, interview plan, locations, teams, employment types, departments, status values, and an ISO 8601 `updated_after` timestamp.Read-onlyAts Jobs List
Returns a paginated list of jobs in the ATS, filterable by text search, interview plan, locations, teams, employment types, departments, status values, and an ISO 8601 `updated_after` timestamp.
Inputs
cursorstring- The cursor for pagination
department_idsarray- Array of department UUIDs (optional)
employment_type_idsarray- Array of employment type UUIDs (optional)
interview_plan_idstring- Interview plan UUID (optional)
job_idsarray- Array of job UUIDs (optional). Returns only these jobs, so a caller holding job ids from another endpoint can resolve them in one request instead of paging the whole list. Omitting it leaves the result set unchanged.
limitinteger- Maximum number of records returned in one response
location_idsarray- Array of location UUIDs (optional)
searchstring- Text to search for in job records (optional)
statusarray- Array of job status values (optional)
team_idsarray- Array of team UUIDs (optional)
updated_afterstring- Filter jobs updated after this timestamp (ISO 8601 format)
work_arrangementsarray- Array of work arrangement values to filter by (optional)
deelmcp_ats_locations_listReturns a paginated list of all work locations associated with the organization, suitable for use when constructing job postings or filtering by location.Read-onlyAts Locations List
Returns a paginated list of all work locations associated with the organization, suitable for use when constructing job postings or filtering by location.
Inputs
cursorstring- The cursor for pagination
include_archivedstring- If true, archived locations are included in the response; they are excluded by default
limitinteger- Maximum number of records returned in one response
deelmcp_ats_offers_listReturns all offers associated with the organization, including worker type and offer status, to support pre-onboarding and contract creation workflows.Read-onlyAts Offers List
Returns all offers associated with the organization, including worker type and offer status, to support pre-onboarding and contract creation workflows.
Inputs
application_idstring- Filter offers by a specific application ID
job_idsarray- Filter offers by the job IDs of their applications.
offer_statusarray- Filter offers by status. Offers still awaiting an outcome are SENT (with the candidate), WAITING_FOR_APPROVAL and APPROVED (internal), CREATED (not yet sent); terminal statuses are ACCEPTED, REJECTED and EXPIRED.
deelmcp_ats_reasons_listReturns a paginated list of rejection and archivation reasons, filterable by `reason_group_slug` and `subgroup_slug`; when `include_counts` is true, each reason includes a usage count.Read-onlyAts Reasons List
Returns a paginated list of rejection and archivation reasons, filterable by `reason_group_slug` and `subgroup_slug`; when `include_counts` is true, each reason includes a usage count.
Inputs
reason_group_slugstringrequired- Filter by reason groupone of
CANDIDATE_ARCHIVATIONOFFER_REJECTIONJOB_CLOSUREINTERVIEW_CANCELLATION cursorstring- The cursor for pagination
include_archivedstring- If true, archived reasons are included in the response; they are excluded by default
include_countsstring- If true, includes usage counts for each reason
limitinteger- Maximum number of records returned in one response
searchstring- Search text for filtering reasons
subgroup_slugstring- Filter by reason subgroupone of
INTERESTLOCATIONCOMPENSATIONRESPONSIVENESSQUALIFICATIONFITEXPERIENCESTATUSROLE_CHANGEWITHDREWBENEFITSCOUNTER_OFFERREMOTE_WORKPERSONALTIMINGBUDGETBUSINESS_NEEDSEXTERNAL_CANDIDATEINTERNAL_TRANSFERHIRING_FREEZE
deelmcp_benefit_401k_enrollment_getReturns the current enrollment settings for an employee, within a specific 401k plan.Read-onlyBenefit 401k Enrollment Get
Returns the current enrollment settings for an employee, within a specific 401k plan.
Inputs
contract_idstringrequired- Contract id from the employee
legal_entity_idstringrequired- Legal entity id which employee/contract belongs
plan_idstringrequired- Plan id to enroll the employee into
deelmcp_benefit_401k_plan_listReturns all 401k plans configured for the specified legal entity.Read-onlyBenefit 401k Plan List
Returns all 401k plans configured for the specified legal entity.
Inputs
idstringrequired- Id from the legal entity to fetch 401k plans
deelmcp_benefit_employee_getReturns profile and contract data for a single employee within a legal entity integrated with an external benefits vendor.Read-onlyBenefit Employee Get
Returns profile and contract data for a single employee within a legal entity integrated with an external benefits vendor. When `active_contracts` is `true`, only active contracts are included in the response.
Inputs
employee_idstringrequired- Employee id from the legal entity to fetch data
idstringrequired- Id from the legal entity to fetch data
active_contractsboolean- Fetch only active contracts for employees
deelmcp_benefit_employee_listReturns employees belonging to the legal entity that has been integrated with an external benefits vendor.Read-onlyBenefit Employee List
Returns employees belonging to the legal entity that has been integrated with an external benefits vendor. Results can be filtered to include only employees with active contracts.
Inputs
legal_entity_idstringrequired- Id from the legal entity to fetch data
active_contractsboolean- Fetch only active contracts for employees
items_per_pageinteger- Items per page
offsetinteger- Items to be skipped when searching
deelmcp_benefit_pay_stub_listGet pay stub from employees from organization integrated with external benefits vendorRead-onlyBenefit Pay Stub List
Get pay stub from employees from organization integrated with external benefits vendor
Inputs
idstringrequired- Id from the legal entity to fetch data
items_per_pageinteger- Items per page
offsetinteger- Items to be skipped when searching
payroll_end_datestring- Payroll end date
payroll_start_datestring- Payroll start date
statusstring- Payroll status
deelmcp_benefit_payroll_setting_getGet legal entity payroll settings from organization integrated with external benefits vendorRead-onlyBenefit Payroll Setting Get
Get legal entity payroll settings from organization integrated with external benefits vendor
Inputs
legal_entity_idstringrequired- Id from the legal entity to fetch data
deelmcp_benefit_paystub_getGet paystub by payroll event from legal entity integrated with external benefits vendorRead-onlyBenefit Paystub Get
Get paystub by payroll event from legal entity integrated with external benefits vendor
Inputs
legal_entity_idstringrequired- Legal entity UUID
payroll_event_idstringrequired- Payroll id
deelmcp_benefit_paystub_listGet paystubs from legal entity integrated with external benefits vendorRead-onlyBenefit Paystub List
Get paystubs from legal entity integrated with external benefits vendor
Inputs
legal_entity_idstringrequired- Id from the legal entity to fetch data
cursorstring- The last fetched id to start querying from
date_endstring- End date to fectch the paystubs
date_startstring- Start date to fectch the paystubs from
items_per_pageinteger- Items per page
statesarray- Payroll states: OPEN | LOCKED | CLOSED (OPEN doesn't have `employees` info)
deelmcp_benefits_ytd_pay_getReturns aggregated year-to-date payroll figures for employees in the specified legal entity over a caller-specified date range.Read-onlyBenefits Ytd Pay Get
Returns aggregated year-to-date payroll figures for employees in the specified legal entity over a caller-specified date range. Both `date_start` and `date_end` are required.
Inputs
date_endstringrequired- End date to fetch aggregated pay data
date_startstringrequired- Start date to fetch aggregated pay data
idstringrequired- Id from the legal entity to fetch data
deelmcp_compensation_band_getReturns a single compensation band with all band point values and worker statistics.Read-onlyCompensation Band Get
Returns a single compensation band with all band point values and worker statistics. Optionally compare against a specific employee by providing their HRIS profile OID.
Inputs
idstringrequired- Compensation band ID
compareWithHrisProfileOidstring- HRIS Profile OID to compare band placement with
includeEquityboolean- Include equity band points in response. If true, includes equityBandPoints array. If false or not provided, includes equity points only if equityBandsEnabled is true on the organization.
deelmcp_compensation_band_listReturns a paginated list of compensation bands.Read-onlyCompensation Band List
Returns a paginated list of compensation bands. Supports filtering by market, job profile, worker type, currency, status, and band IDs, as well as sorting by level or assigned worker count.
Inputs
compensationBandIdsstring- Comma-separated list of compensation band IDs to filter by
currenciesstring- Comma-separated list of currency codes to filter byone of
USDCAFNBYRCLFCUCBIFGGPIMPBTNIRRCDFJEPLRDXDRZMKERNHRKKPWLSLLTLLVLMGAMROSDGSLLSSPSYPTJSTMTCVEDJFGNFKMFRWFAEDALLAMDANGAOAAWGAZNBAMBBDBDTBGNBMDBNDBSDBWPBYNBZDCHFCNYCZKXAGXAUZWLIDRJPYKRWPYGUGXVESVNDARSAUDBOBBRLCADCLPCOPCRCDOPEURGTQHNLMXNNZDPABPENUSDUYUVUVXAFXOFXPFDKKDZDEGPETBFJDFKPGBPGELGHSGIPGMDGYDHKDHTGILSINRISKJMDKGSKHRKYDKZTLAKLBPLKRMADMDLMKDMMKMNTMOPMRUMURMVRMWKMYRMZNNADNGNNOKNPRPGKPHPPKRPLNQARRONRSDRUBSARSBDSCRSEKSGDSHPSOSSRDSTNSZLTHBTOPTRYTTDTZSUAHUZSWSTXCDYERZARZMWCUPNIOSVCHUFBHDIQDJODKWDLYDOMRTNDKESTWDSLEZWGVED currencystring- Convert monetary values to this currency codeone of
USDCAFNBYRCLFCUCBIFGGPIMPBTNIRRCDFJEPLRDXDRZMKERNHRKKPWLSLLTLLVLMGAMROSDGSLLSSPSYPTJSTMTCVEDJFGNFKMFRWFAEDALLAMDANGAOAAWGAZNBAMBBDBDTBGNBMDBNDBSDBWPBYNBZDCHFCNYCZKXAGXAUZWLIDRJPYKRWPYGUGXVESVNDARSAUDBOBBRLCADCLPCOPCRCDOPEURGTQHNLMXNNZDPABPENUSDUYUVUVXAFXOFXPFDKKDZDEGPETBFJDFKPGBPGELGHSGIPGMDGYDHKDHTGILSINRISKJMDKGSKHRKYDKZTLAKLBPLKRMADMDLMKDMMKMNTMOPMRUMURMVRMWKMYRMZNNADNGNNOKNPRPGKPHPPKRPLNQARRONRSDRUBSARSBDSCRSEKSGDSHPSOSSRDSTNSZLTHBTOPTRYTTDTZSUAHUZSWSTXCDYERZARZMWCUPNIOSVCHUFBHDIQDJODKWDLYDOMRTNDKESTWDSLEZWGVED cursorstring- Cursor for pagination, encoded as a base64 string to fetch the next page of results
directionstring- Direction to sort the results (ascending or descending)one of
descasc hasAssignedWorkersboolean- Filter by visible assigned workers: true returns bands with workers, false returns bands with none; omitted returns all bands. Uses report-scoped counts for scoped worker requests.
includeEquityboolean- Include equity band points in response. If true, includes equityBandPoints array. If false or not provided, includes equity points only if equityBandsEnabled is true on the organization.
jobProfilesstring- Comma-separated list of job profile IDs to filter by
limitnumber- Number of records to return per page
marketsstring- Comma-separated list of market IDs to filter by
scalesstring- Comma-separated list of salary scales to filter byone of
ANNUALMONTHLYHOURLY searchstring- Search term to filter by job profile name
sortBystring- Field to sort the results byone of
levelassignedWorkersCount statusesstring- Comma-separated list of band statuses to filter byone of
COMPLETEINCOMPLETEEMPTY workerTypesstring- Comma-separated list of worker types to filter byone of
CONTRACTORDIRECT_EMPLOYEEDIRECT_EMPLOYEE_PAYROLLEOR_EMPLOYEEPEO_EMPLOYEEUNSPECIFIED
deelmcp_compensation_job_family_group_listUse this endpoint to retrieve a paginated list of job family groups for the organization.Read-onlyCompensation Job Family Group List
Use this endpoint to retrieve a paginated list of job family groups for the organization. Supports filtering by name, IDs, and tracks, as well as sorting and pagination. Ensure you have the jobArchitecture.view permission to perform this operation.
Inputs
jobFamilyGroupIdsarray- List of job family group IDs to filter by.
offsetnumber- The offset for pagination, starting from 0
pageSizenumber- The number of items to return per page
searchstring- The name of the job family group to filter by.
sortBystring- Field to sort results by.
sortOrderstring- Sort direction.one of
ascdesc tracksarray- List of job profile position tracks to filter by.
deelmcp_compensation_job_family_listReturns a paginated list of job families.Read-onlyCompensation Job Family List
Returns a paginated list of job families. Supports filtering by name, job family group, IDs, and tracks, as well as sorting and pagination.
Inputs
jobFamilyGroupIdsarray- List of job family group IDs to filter by.
jobFamilyIdsarray- List of job family IDs to filter by.
offsetnumber- The offset for pagination, starting from 0
pageSizenumber- The number of items to return per page
searchstring- The name of the job family to filter by.
sortBystring- Field to sort results by.
sortOrderstring- Sort direction.one of
ascdesc tracksarray- List of job profile position tracks to filter by.
deelmcp_compensation_job_profile_history_listReturns a cursor paginated list of workers and their assigned job profiles for the organization's primary active employments.Read-onlyCompensation Job Profile History List
Returns a cursor paginated list of workers and their assigned job profiles for the organization's primary active employments. Supports filtering by assignment status, job title, manager, and country.
Inputs
countriesarray- Filter by country codes (ISO 3166-1 alpha-2)
cursorstring- Cursor for pagination, encoded as a base64 string to fetch the next page of results
directionstring- Direction to sort the results (ascending or descending)one of
descasc jobTitlesarray- Filter by specific job titles
limitnumber- Number of records to return per page
managerIdsarray- Filter by manager IDs
querystring- Search query for job profiles, employee names, or IDs
sortBystring- Field to sort the results by
typesarray- Filter by assignment status (ASSIGNED or UNASSIGNED)
deelmcp_compensation_job_profile_listReturns a paginated list of job profiles.Read-onlyCompensation Job Profile List
Returns a paginated list of job profiles. Supports filtering by name, job family, job family group, IDs, and tracks, as well as sorting and pagination.
Inputs
jobFamilyGroupIdsarray- List of job family group IDs to filter by.
jobFamilyIdsarray- List of job family IDs to filter by.
jobProfileIdsarray- List of job profile IDs to filter by.
offsetnumber- The offset for pagination, starting from 0
pageSizenumber- The number of items to return per page
searchstring- The name of the job profile to filter by.
sortBystring- Field to sort results by.
sortOrderstring- Sort direction.one of
ascdesc tracksarray- List of job profile position tracks to filter by.
deelmcp_compensation_market_group_getRetrieves a single market group by its unique identifier, including all associated sub-markets and their eligible worker types.Read-onlyCompensation Market Group Get
Retrieves a single market group by its unique identifier, including all associated sub-markets and their eligible worker types. Market groups define the currency and sub-market structure used in compensation bands.
Inputs
idstringrequired- Market group id
deelmcp_compensation_market_group_listReturns a cursor-paginated list of market groups and sub-markets for the organization.Read-onlyCompensation Market Group List
Returns a cursor-paginated list of market groups and sub-markets for the organization. Each market group defines a currency and contains sub-markets with eligible worker types. Filterable by name, worker types, and currencies.
Inputs
currenciesstring- Comma-separated list of currency codes to filter byone of
USDCAFNBYRCLFCUCBIFGGPIMPBTNIRRCDFJEPLRDXDRZMKERNHRKKPWLSLLTLLVLMGAMROSDGSLLSSPSYPTJSTMTCVEDJFGNFKMFRWFAEDALLAMDANGAOAAWGAZNBAMBBDBDTBGNBMDBNDBSDBWPBYNBZDCHFCNYCZKXAGXAUZWLIDRJPYKRWPYGUGXVESVNDARSAUDBOBBRLCADCLPCOPCRCDOPEURGTQHNLMXNNZDPABPENUSDUYUVUVXAFXOFXPFDKKDZDEGPETBFJDFKPGBPGELGHSGIPGMDGYDHKDHTGILSINRISKJMDKGSKHRKYDKZTLAKLBPLKRMADMDLMKDMMKMNTMOPMRUMURMVRMWKMYRMZNNADNGNNOKNPRPGKPHPPKRPLNQARRONRSDRUBSARSBDSCRSEKSGDSHPSOSSRDSTNSZLTHBTOPTRYTTDTZSUAHUZSWSTXCDYERZARZMWCUPNIOSVCHUFBHDIQDJODKWDLYDOMRTNDKESTWDSLEZWGVED cursorstring- Cursor for pagination, encoded as a base64 string to fetch the next page of results
directionstring- Direction to sort the results (ascending or descending)one of
descasc limitnumber- Number of records to return per page
searchstring- Search term to filter by market group name
sortBystring- Field to sort the results by
workerTypesstring- Comma-separated list of worker types to filter byone of
CONTRACTORDIRECT_EMPLOYEEDIRECT_EMPLOYEE_PAYROLLEOR_EMPLOYEEPEO_EMPLOYEE
deelmcp_compensation_market_listReturns a paginated list of sub-markets.Read-onlyCompensation Market List
Returns a paginated list of sub-markets. Sub-markets belong to a market group and define which worker types are eligible for compensation bands in a given geographic or logical segment.
Inputs
cursorstring- Cursor for pagination, encoded as a base64 string to fetch the next page of results
directionstring- Direction to sort the results (ascending or descending)one of
descasc limitnumber- Number of records to return per page
sortBystring- Field to sort the results by
deelmcp_compensation_market_worker_listReturns a cursor-paginated list of workers assigned to a specific sub-market, with band assignment status, band stats status, current salary, and manager info.Read-onlyCompensation Market Worker List
Returns a cursor-paginated list of workers assigned to a specific sub-market, with band assignment status, band stats status, current salary, and manager info.
Inputs
market_idstringrequired- No description.
citiesstring- Comma-separated list of cities to filter by
cursorstring- Cursor for pagination, encoded as a base64 string to fetch the next page of results
directionstring- Direction to sort the results (ascending or descending)one of
descasc jobTitlesstring- Comma-separated list of job titles to filter by
limitnumber- Number of records to return per page
managersstring- Comma-separated list of manager IDs to filter by
searchstring- Search term to filter by worker name
sortBystring- Field to sort the results by
deelmcp_contract_amendment_listRetrieves the paginated list of amendments associated with a given contract, with optional filtering by amendment status and sign status.Read-onlyContract Amendment List
Retrieves the paginated list of amendments associated with a given contract, with optional filtering by amendment status and sign status.
Inputs
contract_idstringrequired- Unique identifier of the contract
cursorstring- Cursor for pagination.
limitinteger- Maximum number of work statements to return.
sign_statusesarray- Filter by work statement sign status.
statusesarray- Filter by work statement status.
deelmcp_contract_bulk_update_getReturns the current status and row-level failures for a bulk contract update execution.Read-onlyContract Bulk Update Get
Returns the current status and row-level failures for a bulk contract update execution.
Inputs
execution_idstringrequired- Bulk contract update execution public ID.
deelmcp_contract_custom_field_getRetrieves a single custom field definition from a contract by its `id`, returning the field's name, type, settings, placement, and description.Read-onlyContract Custom Field Get
Retrieves a single custom field definition from a contract by its `id`, returning the field's name, type, settings, placement, and description.
Inputs
idstringrequired- Custom field id.
deelmcp_contract_custom_field_listReturns all custom fields associated with the specified contract.Read-onlyContract Custom Field List
Returns all custom fields associated with the specified contract.
Inputs
contract_idstringrequired- Contract Id
deelmcp_contract_getRetrieves the full record for a specific contract by `contract_id`, including status, compensation, worker details, and metadata.Read-onlyContract Get
Retrieves the full record for a specific contract by `contract_id`, including status, compensation, worker details, and metadata. Pass `expand=cost_centers` as a query parameter to include cost center data in the response.
Inputs
contract_idstringrequired- Unique identifier of the contract.
expandarray- Include additional fields in the response. Multiple values can be passed as comma-separated list.
deelmcp_contract_invoice_adjustment_listRetrieves invoice line items (adjustments) associated with a given contract_id, with support for filtering by contract type, adjustment type, status, invoice, reporter, and submission date range.Read-onlyContract Invoice Adjustment List
Retrieves invoice line items (adjustments) associated with a given contract_id, with support for filtering by contract type, adjustment type, status, invoice, reporter, and submission date range.
Inputs
contract_idstringrequired- Deel contract id.
contract_typesarray- List of contract types
date_fromstring- Short date in format ISO-8601 (YYYY-MM-DD). For example 2022-12-31.
date_tostring- Short date in format ISO-8601 (YYYY-MM-DD). For example 2022-12-31.
invoice_idstring- ID of an existing invoice
limitstring- Return a page of results with given number of records; NOTE: technically ALL query parameters are strings or array of strings
offsetstring- Return a page of results after given index of row; NOTE: technically ALL query parameters are strings or array of strings
reporter_idstring- ID of an existing profile
statusesarray- statuses of invoice adjustment to filter
typesarray- types of invoice adjustments to filter
deelmcp_contract_listReturns a paginated list of contract summaries with optional filtering by status, type, team, country, currency, external ID, or name.Read-onlyContract List
Returns a paginated list of contract summaries with optional filtering by status, type, team, country, currency, external ID, or name. Use `GET /contracts/{contract_id}` for full details.
Inputs
after_cursorstring- Return next page of results after the given cursor.
countriesarray- Filter contracts by country codes.
currenciesarray- Filter contracts by currency codes.
expandarray- Include additional fields in the response. Multiple values can be passed as comma-separated list.
external_idstring- Filter contracts for the given external ID.
external_id_absentstring- Filter contracts by external ID presence. When true, returns contracts without an external ID. When false, returns contracts with an external ID. Cannot be used with external_id query param when set to true.
legal_entity_idstring- Filter contracts for the given legal entity ID(s). A contract is included in the results if its legal entity is in this list.
limitstring- Return a page of results with the given number of records.
order_directionstring- Order direction of results; ascending or descending.one of
ascdesc searchstring- Include a contract if its name or the contractor's name contains the given search term.
sort_bystring- Sort contracts by the given field name.one of
contract_titleworker_name statusesarray- Filter contracts by current status. A contract is included in the results if its status is in this list.
team_idstring- Filter contracts for the given team ID(s). A contract is included in the results if its team is in this list.
typesarray- Filter contracts by type. A contract is included in the results if its type is in this list.
deelmcp_contract_off_cycle_payment_getRetrieves a single off-cycle payment identified by id within a specific contract.Read-onlyContract Off Cycle Payment Get
Retrieves a single off-cycle payment identified by id within a specific contract.
Inputs
contract_idstringrequired- Deel contract id.
off_cycle_payment_idstringrequired- Deel off-cycle payment id.
deelmcp_contract_off_cycle_payment_listRetrieves all off-cycle payments for a specified contract.Read-onlyContract Off Cycle Payment List
Retrieves all off-cycle payments for a specified contract. Off-cycle payments represent payments made outside the regular payment schedule, such as exceptional or one-time expenses.
Inputs
contract_idstringrequired- The unique identifier (ID) of the Deel contract for which to retrieve off-cycle payments.
deelmcp_contract_payroll_adjustment_listRetrieves all adjustments associated with a specific contract, optionally scoped to a date range.Read-onlyContract Payroll Adjustment List
Retrieves all adjustments associated with a specific contract, optionally scoped to a date range.
Inputs
contract_idstringrequired- Deel adjustment id.
fromstring- Filter adjustments by start date.
tostring- Filter adjustments by end date.
deelmcp_contract_previewReturns the rendered HTML content of an IC or EOR contract agreement for a given contract_id.Read-onlyContract Preview
Returns the rendered HTML content of an IC or EOR contract agreement for a given contract_id. If no templateId is provided, the default or currently assigned template is used. Global Payroll contract types are not supported.
Inputs
contract_idstringrequired- Deel contract id.
templateIdstring- ID of an existing contract template.
deelmcp_contract_sign_invite_getRetrieves the signing invitation link generated for the worker on a contract, with optional localization via the `locale` parameter.Read-onlyContract Sign Invite Get
Retrieves the signing invitation link generated for the worker on a contract, with optional localization via the `locale` parameter.
Inputs
contract_idstringrequired- Deel contract id.
localestring- Country code in ISO Alpha-2 format (lowercase).
deelmcp_contract_task_listRetrieves all tasks associated with a specific contract, including each task's ID, amount, submission date, status, and description.Read-onlyContract Task List
Retrieves all tasks associated with a specific contract, including each task's ID, amount, submission date, status, and description.
Inputs
contract_idstringrequired- The unique identifier for the Deel contract.
deelmcp_contract_template_listReturns all contract templates available to the organization, including fixed-rate, pay-as-you-go, and milestone-based types.Read-onlyContract Template List
Returns all contract templates available to the organization, including fixed-rate, pay-as-you-go, and milestone-based types. Template identifiers returned here can be supplied when creating new contracts.
Inputs
This tool takes no inputs.
deelmcp_contract_termination_reason_listRetrieves the standardized list of termination reasons to present when initiating a contract terminationRead-onlyContract Termination Reason List
Retrieves the standardized list of termination reasons to present when initiating a contract termination
Inputs
cursorstring- Cursor for pagination. Use the value from `next_cursor` in the previous response to fetch the next page.
limitinteger- Number of items to return per page (default: 20, max: 100)
orderstring- Sort direction for resultsone of
ascdesc order_bystring- Field to order results byone of
frequency
deelmcp_contract_timesheet_listReturns timesheets associated with the specified contract, with optional filtering by contract type, status, reporter, and date range.Read-onlyContract Timesheet List
Returns timesheets associated with the specified contract, with optional filtering by contract type, status, reporter, and date range.
Inputs
contract_idstringrequired- Deel contract id.
contract_typesarray- List of contract types
date_fromstring- Short date in format ISO-8601 (YYYY-MM-DD). For example 2022-12-31.
date_tostring- Short date in format ISO-8601 (YYYY-MM-DD). For example 2022-12-31.
limitstring- Maximum number of records to return per page. NOTE: query parameters are passed as strings.
offsetstring- Number of records to skip before starting to return results. NOTE: query parameters are passed as strings.
reporter_idstring- Filter results to timesheets submitted by this user ID.
statusesarray- List of statuses to filter by
deelmcp_document_bulk_reminder_result_getReturns the full recipient list for a pending bulk reminder execution.Read-onlyDocument Bulk Reminder Result Get
Returns the full recipient list for a pending bulk reminder execution. Use after the preview step to show the user exactly who will be reminded about a custom document before they confirm.
Inputs
execution_idstringrequired- The execution ID returned by the bulk-remind preview step.
deelmcp_document_compliance_downloadReturns pre-signed download URLs (valid 15 minutes) for a submitted custom document.Read-onlyDocument Compliance Download
Returns pre-signed download URLs (valid 15 minutes) for a submitted custom document. Returns an empty array if the document has not yet been submitted. Handles regular PDFs, e-signature documents, and uploaded files.
Inputs
document_template_idstringrequired- Unique identifier of the document template.
worker_idstringrequired- Unique identifier of the worker.
deelmcp_document_compliance_listSearch and filter custom document submissions across all workers for a given template.Read-onlyDocument Compliance List
Search and filter custom document submissions across all workers for a given template. Use to answer "who has submitted/not submitted document X?".
Inputs
document_template_idstringrequired- UUID of the document template to list submissions for.
actions_requiredarray- Filter by the action required from the worker.
cursorstring- Pagination cursor returned by a previous response.
document_statusesarray- Filter by document submission status.
hiring_statusesarray- Filter by worker hiring status.
hiring_typesarray- Filter by worker hiring type.
incomplete_reasonsarray- Filter by incomplete reason.
limitinteger- Maximum number of results to return per page.
searchstring- Free-text search on worker name.
sort_bystring- Field to sort results by.one of
statusWeight sort_orderstring- Sort direction.one of
ASCDESC worker_countriesarray- Filter by worker country code (ISO 3166-1 alpha-2).
deelmcp_document_send_previewStep 1 of 2: previews sending a custom document to one or more workers.Read-onlyDocument Send Preview
Step 1 of 2: previews sending a custom document to one or more workers. Returns recipient count, sample names, and an execution ID. Nothing is sent. Must be followed by the confirm endpoint.
Inputs
documentTemplateIdstringrequired- Unique identifier of the document template to send.
workerIdsarrayrequired- List of worker IDs to send the document to. At least 1 required.
deelmcp_document_template_listLists all custom document templates in the organization.Read-onlyDocument Template List
Lists all custom document templates in the organization. Use when the user asks "what custom documents do we have?" or before sending a document to workers.
Inputs
cursorstring- Pagination cursor returned by a previous response.
document_typesarray- Filter by document action type.
limitinteger- Maximum number of results to return per page.
mandatory_optionalarray- Filter by whether the document is required or optional.
searchstring- Free-text search on document template name.
sort_bystring- Field to sort results by.one of
label sort_orderstring- Sort direction.one of
ASCDESC
deelmcp_eor_additional_cost_getReturns the allowances and non-statutory additional costs available for inclusion in an EOR contract quote for the specified country.Read-onlyEor Additional Cost Get
Returns the allowances and non-statutory additional costs available for inclusion in an EOR contract quote for the specified country.
Inputs
countrystringrequired- The two-letter ISO code of the country for which to retrieve the EOR additional costs.
deelmcp_eor_amendment_getRetrieves a specific amendment for an EOR contract.Read-onlyEor Amendment Get
Retrieves a specific amendment for an EOR contract.
Inputs
amendment_idstringrequired- A unique identifier for the employee contract amendment.
contract_idstringrequired- The unique identifier of EOR worker contract.
deelmcp_eor_amendment_listRetrieves all amendments associated with a given EOR contract, including each amendment's type, effective date, and current status, providing a full history of changes applied to the contract.Read-onlyEor Amendment List
Retrieves all amendments associated with a given EOR contract, including each amendment's type, effective date, and current status, providing a full history of changes applied to the contract.
Inputs
contract_idstringrequired- The unique identifier of EOR worker contract.
deelmcp_eor_amendment_pdf_downloadGenerates a secure, time-limited download URL for the PDF of a specific EOR contract amendment.Read-onlyEor Amendment Pdf Download
Generates a secure, time-limited download URL for the PDF of a specific EOR contract amendment. The returned URL is valid for 15 minutes from the time of generation.
Inputs
amendment_idstringrequired- A unique identifier for the employee contract amendment.
contract_idstringrequired- The unique identifier of EOR worker contract.
deelmcp_eor_amendment_settings_getReturns validation settings for amendment data points on an EOR contract, optionally scoped by employment state.Read-onlyEor Amendment Settings Get
Returns validation settings for amendment data points on an EOR contract, optionally scoped by employment state. Use to determine which fields are editable and what constraints apply.
Inputs
contract_idstringrequired- The unique identifier of EOR worker contract.
employment_statestring- The employment state of the EOR worker contract
deelmcp_eor_amendment_validateValidates amendment data points for a given contract against any external validation rules before an amendment is submitted.Read-onlyEor Amendment Validate
Validates amendment data points for a given contract against any external validation rules before an amendment is submitted. This call should be made prior to creating an amendment to confirm that the proposed data points are acceptable.
Inputs
contract_idstringrequired- The unique identifier of the employee contract.
dataobject- Dynamic object containing amendment fields. Supports flexible keys such as scope, job_title, or others.
deelmcp_eor_assignment_checkin_getReturns the checkin questionnaire for a project assignment, including all sections and questions.Read-onlyEor Assignment Checkin Get
Returns the checkin questionnaire for a project assignment, including all sections and questions. The optional `version` parameter ensures the fetched questionnaire matches an expected version.
Inputs
contract_idstringrequired- The unique identifier of the contract.
versionstring- This field is to ensure that the latest version of the project assignment checkin matches the version received from the webhook. If it is not sent, the version validation is not performed. If it is sent, it is checked whether the current version is equal to the version sent; if not, a 409 error occurs, otherwise, the data is returned.
deelmcp_eor_assignment_getReturns the project assignment PDF for an EOR contract pending client approval.Read-onlyEor Assignment Get
Returns the project assignment PDF for an EOR contract pending client approval. The optional version parameter allows callers to confirm the retrieved document matches an expected version before proceeding with acceptance.
Inputs
contract_idstringrequired- The unique identifier of the employee contract.
versionstring- This field is to ensure that the latest version of the project assignment PDF matches the version received from the webhook. If it is not sent, the version validation is not performed and the endpoint returns the PDF. If it is sent, it is checked whether the current version is equal to the version sent; if not, a 409 error occurs, otherwise, the PDF is returned.
deelmcp_eor_benefit_listReturns benefits available in a specific country, scoped by work visa requirement, weekly work hours, employment type, team, and legal entity.Read-onlyEor Benefit List
Returns benefits available in a specific country, scoped by work visa requirement, weekly work hours, employment type, team, and legal entity.
Inputs
country_codestringrequired- Country code.
employment_typestringrequired- Type of employmentone of
Full-timePart-time legal_entity_idstringrequired- The ID of the legal entity.
team_idstringrequired- The ID of the team the worker belongs to.
work_hours_per_weeknumberrequired- Working hours per week
work_visabooleanrequired- Indicates if work visa is required.
deelmcp_eor_contract_benefit_listReturns benefits associated with the specified EOR contract.Read-onlyEor Contract Benefit List
Returns benefits associated with the specified EOR contract.
Inputs
contract_idstringrequired- The unique identifier of the EOR contract.
deelmcp_eor_contract_document_getReturns a specific document as a PDF for a given EOR contract.Read-onlyEor Contract Document Get
Returns a specific document as a PDF for a given EOR contract. Currently only the `FRAMEWORK_AGREEMENT` document type is supported.
Inputs
contract_idstringrequired- EOR contract ID
typestringrequired- The type of document. Currently only FRAMEWORK_AGREEMENT is supported.one of
FRAMEWORK_AGREEMENT
deelmcp_eor_contract_document_listReturns all documents associated with a specific EOR contract.Read-onlyEor Contract Document List
Returns all documents associated with a specific EOR contract.
Inputs
contract_idstringrequired- EOR contract ID
deelmcp_eor_contract_form_getRetrieves the versioned form definition for creating an EOR contract in the specified country, including fields, validation rules, and conditional logic.Read-onlyEor Contract Form Get
Retrieves the versioned form definition for creating an EOR contract in the specified country, including fields, validation rules, and conditional logic. The `state` parameter is only required for countries that mandate it.
Inputs
country_codestringrequired- Two-letter country code in ISO 3166-1 alpha-2 format
contract_duration_in_daysinteger- The contract duration in days for definite contracts.
start_datestring- The selected start date of the contract in ISO 8601 formatted date string.
statestring- The selected state code of the contract. This is only required for countries that specify it.
work_hours_per_weekinteger- The selected number of work hours per week.
deelmcp_eor_contract_getReturns basic contract information and associated employment costs for a specific EOR contract.Read-onlyEor Contract Get
Returns basic contract information and associated employment costs for a specific EOR contract.
Inputs
contract_idstringrequired- The unique identifier for the Deel contract
deelmcp_eor_contract_offboarding_getRetrieves the offboarding request associated with a specific EOR contract, including termination details, document review status, offboarding request data, and pending employee notification state.Read-onlyEor Contract Offboarding Get
Retrieves the offboarding request associated with a specific EOR contract, including termination details, document review status, offboarding request data, and pending employee notification state.
Inputs
contract_idstringrequired- The unique identifier of the employee contract.
deelmcp_eor_effective_date_limit_getReturns validation rules for the effective date field within an EOR contract amendment flow.Read-onlyEor Effective Date Limit Get
Returns validation rules for the effective date field within an EOR contract amendment flow.
Inputs
amendment_idstringrequired- A unique identifier for the employee contract amendment
contract_idstringrequired- The unique identifier of the EOR worker contract
deelmcp_eor_employment_cost_batchDetermine the total employment costs for an Employee of Record (EOR) arrangement across different countries, including salary, employer costs, benefits, and additional fees.Read-onlyEor Employment Cost Batch
Determine the total employment costs for an Employee of Record (EOR) arrangement across different countries, including salary, employer costs, benefits, and additional fees.
Inputs
dataarrayrequired- Array of employee cost calculation requests.
deelmcp_eor_employment_cost_calculateCalculates the total employment cost for an EOR arrangement in a specified country, returning a breakdown that includes employer costs, benefits, platform fees, and severance accrual.Read-onlyEor Employment Cost Calculate
Calculates the total employment cost for an EOR arrangement in a specified country, returning a breakdown that includes employer costs, benefits, platform fees, and severance accrual.
Inputs
dataobjectrequired- No description.
deelmcp_eor_hrx_document_getGenerates a pre-signed URL for downloading a specific HRX document as a PDF associated with an EOR contract.Read-onlyEor Hrx Document Get
Generates a pre-signed URL for downloading a specific HRX document as a PDF associated with an EOR contract. The URL expires 15 minutes after generation.
Inputs
contract_idstringrequired- The unique identifier of the employee contract.
document_idstringrequired- The unique identifier of the document to download.
deelmcp_eor_hrx_document_listReturns a paginated list of HRX documents shared with an employee under a specific EOR contract.Read-onlyEor Hrx Document List
Returns a paginated list of HRX documents shared with an employee under a specific EOR contract.
Inputs
contract_idstringrequired- The unique identifier of the employee contract.
cursorstring- Cursor for pagination. Use the cursor from the previous response to get the next page of results.
limitinteger- Number of items to return per page. Maximum is 100, default is 20.
deelmcp_eor_job_scope_listReturns predefined and custom job scope templates available for EOR contracts, optionally filtered to templates belonging to a specific team.Read-onlyEor Job Scope List
Returns predefined and custom job scope templates available for EOR contracts, optionally filtered to templates belonging to a specific team.
Inputs
teamstring- Team public id
deelmcp_eor_job_scope_validateValidates a job scope description and returns any validation errors.Read-onlyEor Job Scope Validate
Validates a job scope description and returns any validation errors. When errors are present, the response also includes a `quote_validation_log_public_id` and pre-populated `data_for_corrected_job_scope_endpoint` to support subsequent correction.
Inputs
dataobjectrequired- details of job scope
deelmcp_eor_offboarding_attachment_getDownloads the content of a specific attachment associated with the termination for a given contract.Read-onlyEor Offboarding Attachment Get
Downloads the content of a specific attachment associated with the termination for a given contract.
Inputs
attachment_idstringrequired- The unique identifier of the attachment to download.
contract_idstringrequired- The unique identifier of the employee contract.
deelmcp_eor_offboarding_required_info_getReturns country-specific mandatory and optional questions, and identifies required supporting documents, that must be provided when initiating the offboarding process for a contract.Read-onlyEor Offboarding Required Info Get
Returns country-specific mandatory and optional questions, and identifies required supporting documents, that must be provided when initiating the offboarding process for a contract.
Inputs
contract_idstringrequired- The unique identifier of the employee contract.
deelmcp_eor_offboarding_restricted_date_listReturns country-specific dates unavailable for offboarding end-date selection—including weekends and public holidays—along with the earliest available end date; optionally filtered by termination type.Read-onlyEor Offboarding Restricted Date List
Returns country-specific dates unavailable for offboarding end-date selection—including weekends and public holidays—along with the earliest available end date; optionally filtered by termination type.
Inputs
contract_idstringrequired- The unique identifier of the employee contract.
termination_typestring- Type of offboarding.one of
TERMINATIONRESIGNATION
deelmcp_eor_offboarding_timeoff_data_getReturns time-off entitlements, balances, and upcoming time offs for the employee, optionally scoped to a target `end_date`.Read-onlyEor Offboarding Timeoff Data Get
Returns time-off entitlements, balances, and upcoming time offs for the employee, optionally scoped to a target `end_date`. Includes policy settings required to complete an offboarding request.
Inputs
contract_idstringrequired- The unique identifier of the employee contract.
end_datestring- Desired end date for offboarding
deelmcp_eor_payslip_downloadReturns a URL for downloading the specified payslip as a PDF.Read-onlyEor Payslip Download
Returns a URL for downloading the specified payslip as a PDF.
Inputs
payslip_idstringrequired- Unique identifier for the payslip.
worker_idstringrequired- Unique identifier for the worker.
deelmcp_eor_payslip_listReturns a list of payslip records for the specified worker.Read-onlyEor Payslip List
Returns a list of payslip records for the specified worker.
Inputs
worker_idstringrequired- The ID of the worker whose payslips are being retrieved.
deelmcp_eor_start_date_getReturns the earliest allowed start date for a new EOR contract based on employment country, nationality, and visa requirements.Read-onlyEor Start Date Get
Returns the earliest allowed start date for a new EOR contract based on employment country, nationality, and visa requirements. Also returns payroll timing parameters that govern when the contract can take effect.
Inputs
employment_countrystringrequired- Employment country in ISO 3166-1 alpha-2 format
team_idstringrequired- Team ID
employee_nationalitystring- Employee nationality in ISO 3166-1 alpha-2 format
employment_statestring- State or province of employment
legal_entity_idstring- Legal entity ID
special_job_idstring- Special job ID (if applicable)
work_visaboolean- Whether a work visa is required
deelmcp_eor_validation_getReturns country-specific hiring guide data — including salary requirements, holidays, probation terms, health insurance, and currency — for use in creating and validating EOR contract quotes.Read-onlyEor Validation Get
Returns country-specific hiring guide data — including salary requirements, holidays, probation terms, health insurance, and currency — for use in creating and validating EOR contract quotes.
Inputs
country_codestringrequired- Country code in ISO Alpha-2 format.
deelmcp_eor_worker_benefit_listReturns the benefits for the authenticated employee.Read-onlyEor Worker Benefit List
Returns the benefits for the authenticated employee. The employee identity is inferred from the auth token, so this endpoint must be called with an employee-scoped token rather than a client token.
Inputs
This tool takes no inputs.
deelmcp_external_org_worker_relation_listReturns all worker relations associated with the HrisProfile identified by the given external ID, including both parent and child relationships.Read-onlyExternal Org Worker Relation List
Returns all worker relations associated with the HrisProfile identified by the given external ID, including both parent and child relationships.
Inputs
profile_idstringrequired- HrisProfile external ID
deelmcp_forms_eor_worker_field_listRetrieves the additional form fields required when onboarding EOR workers in the specified country.Read-onlyForms Eor Worker Field List
Retrieves the additional form fields required when onboarding EOR workers in the specified country.
Inputs
country_codestringrequired- Country code
deelmcp_forms_gp_worker_field_listRetrieves the country-specific additional information fields required for GP workers to run payroll in compliance with local regulations.Read-onlyForms Gp Worker Field List
Retrieves the country-specific additional information fields required for GP workers to run payroll in compliance with local regulations.
Inputs
country_codestringrequired- ISO 3166-1 alpha-2 country code for which to retrieve GP worker additional fields.
deelmcp_get_all_profile_worker_relationsList of worker relations.Read-onlyGetAllProfileWorkerRelations
List of worker relations.
Inputs
hrisProfileOidstringrequired- HrisProfile ID
deelmcp_get_check_in_by_idReturns a single CheckIn by its id, including its status (draft, published, or archived) and a human-readable cadence summary, scoped to the authenticated MCP user.Read-onlyGet Check In By Id
Returns a single CheckIn by its id, including its status (draft, published, or archived) and a human-readable cadence summary, scoped to the authenticated MCP user. Returns 403/404 if the user is not assigned to the requested CheckIn.
Inputs
idstringrequired- The UUID of the CheckIn to retrieve.
deelmcp_get_check_in_session_by_idGet a single CheckInSession by its id, including its id, check_in_id, scheduled_occurrence_at, tasks, and notes, scoped to the authenticated MCP user.Read-onlyGet Check In Session By Id
Get a single CheckInSession by its id, including its id, check_in_id, scheduled_occurrence_at, tasks, and notes, scoped to the authenticated MCP user. Returns 403/404 if the user is not assigned to the parent CheckIn.
Inputs
idstringrequired- The UUID of the CheckInSession to retrieve.
deelmcp_get_hris_organization_user_development_plansReturns a paginated list of development plan assignments (with action items) for the specified user, ordered by created_at descending.Read-onlyGet Hris Organization User Development Plans
Returns a paginated list of development plan assignments (with action items) for the specified user, ordered by created_at descending. Accessible by org tokens and personal tokens. Intended for AI agents that need development plan progress as context for
Inputs
hris_organization_user_idstringrequired- UUID of the HRIS organization user whose development plans to retrieve.
assignmentIdsarray- Array of development plan assignment IDs to filter by. If provided, only assignments with IDs in this list will be returned. Maximum 50 IDs. Use query syntax: ?assignmentIds[]=id1&assignmentIds[]=id2
cursorstring- Opaque pagination cursor returned from a previous response. Omit to start from the first page.
limitinteger- Maximum number of development plans to return. Defaults to 10. Maximum 50.
monthsAgointeger- Number of months to look back from today when filtering development plans. Defaults to 0 (include all plans regardless of age). Set to a positive number to limit results to recent plans.
deelmcp_goal_listReturns a paginated list of goals visible to the authenticated MCP user.Read-onlyGoal List
Returns a paginated list of goals visible to the authenticated MCP user. Supports filtering by type, owner, goal cycle, team, tag, cycle status, and approval status. Use the returned next_cursor to fetch subsequent pages. To filter by owner, pass hris_org
Inputs
active_goalsboolean- When true, returns only goals that belong to active goal cycles.
approval_statusesarray- Filter goals by approval status.
cursorstring- Opaque pagination cursor returned from a previous response. Omit to start from the first page.
goal_cycle_idsarray- Filter goals that belong to these goal cycle UUIDs.
goal_cycle_statusesarray- Filter goals by the status of their associated goal cycle.
goal_idsarray- Filter goals by their UUIDs.
goal_typesarray- Filter by goal type. "individual" for personal goals, "team_or_department" for team-level goals, "company" for org-wide goals.
hris_team_idsarray- Filter goals linked to these HrisTeam UUIDs.
limitinteger- Maximum number of goals to return. Defaults to 20. Maximum 50.
my_goalsboolean- When true, returns only goals where the requesting user is an owner or assignee.
owner_hris_organization_user_idsarray- Filter goals owned by these HrisOrganizationUser UUIDs.
owner_manager_hris_organization_user_idsarray- Filter goals whose owners report to these manager HrisOrganizationUser UUIDs.
querystring- Free-text search query. Filters goals whose title contains this string.
tag_idsarray- Filter goals tagged with these tag UUIDs.
deelmcp_gp_bank_account_listReturns all bank accounts associated with the employee.Read-onlyGp Bank Account List
Returns all bank accounts associated with the employee.
Inputs
worker_idstringrequired- Unique identifier for a worker.
deelmcp_gp_bank_guide_getReturns the country-specific field requirements for a worker's bank account form, which determines the fields required when adding a bank account.Read-onlyGp Bank Guide Get
Returns the country-specific field requirements for a worker's bank account form, which determines the fields required when adding a bank account.
Inputs
worker_idstringrequired- Unique identifier for a worker in UUID format.
deelmcp_gp_gtn_report_downloadDownloads the gross-to-net calculation report for the specified payroll report as a CSV file, with optional currency conversion applied.Read-onlyGp Gtn Report Download
Downloads the gross-to-net calculation report for the specified payroll report as a CSV file, with optional currency conversion applied.
Inputs
idstringrequired- Id of the gp payroll report.
currencystring- Currency to be used in the report calculation.
deelmcp_gp_gtn_report_getReturns paginated gross-to-net calculation records for the specified payroll report, with optional currency conversion applied to the results.Read-onlyGp Gtn Report Get
Returns paginated gross-to-net calculation records for the specified payroll report, with optional currency conversion applied to the results.
Inputs
idstringrequired- Id of the gp payroll report.
currencystring- Currency to be used in the report calculation.
limitnumber- Maximum number of records to return.
offsetnumber- Offset/index of record for the next page of records to return.
deelmcp_gp_payroll_report_listRetrieves payroll events associated with the specified legal entity, suitable for preparing payroll reports or auditing pay cycles.Read-onlyGp Payroll Report List
Retrieves payroll events associated with the specified legal entity, suitable for preparing payroll reports or auditing pay cycles.
Inputs
legal_entity_idstringrequired- Unique identifier for the legal entity in UUID format.
deelmcp_gp_payslip_downloadReturns a pre-signed, temporary download URL for a GP employee payslip PDF.Read-onlyGp Payslip Download
Returns a pre-signed, temporary download URL for a GP employee payslip PDF. Use after calling the payslips list endpoint to obtain the `payslip_id`. Supports only GP contract types.
Inputs
idstringrequired- Unique identifier for the worker in UUID format.
payslipIdstringrequired- Unique identifier for the payslip in UUID format.
deelmcp_gp_payslip_listReturns the payslip history for a GP employee, including each payslip's date range and status.Read-onlyGp Payslip List
Returns the payslip history for a GP employee, including each payslip's date range and status. Restricted to GP contract types. Each payslip in the response includes an `id` required by the payslip download endpoint.
Inputs
idstringrequired- Unique identifier for the worker in UUID format.
deelmcp_hiring_insights_employment_comparison_listUse this endpoint to compare employment regulations, costs, time off, and payroll details across one or more countries for hiring analysis.Read-onlyHiring Insights Employment Comparison List
Use this endpoint to compare employment regulations, costs, time off, and payroll details across one or more countries for hiring analysis.
Inputs
categoriesarray- Comparison categories to include
countriesarray- Country codes to compare (ISO 3166-1 alpha-2)
currencystring- Target currency (ISO 4217); when provided, amounts inside text are converted
cursorstring- Cursor for pagination to fetch the next page of results
draftstring- Draft version of the data
limitnumber- Maximum number of results to return
deelmcp_hiring_insights_eor_cost_calculateUse this endpoint to compare EOR and local entity options for international hiring.Read-onlyHiring Insights Eor Cost Calculate
Use this endpoint to compare EOR and local entity options for international hiring.
Inputs
dataarrayrequired- Array of calculation parameters
deelmcp_hiring_insights_salary_calculateUse this endpoint to retrieve a salary histogram for a specified job title and seniority level in a given country, returned in the requested currency and time scale.Read-onlyHiring Insights Salary Calculate
Use this endpoint to retrieve a salary histogram for a specified job title and seniority level in a given country, returned in the requested currency and time scale.
Inputs
dataarrayrequired- Array of salary data requests
deelmcp_hiring_insights_summary_getProvides the best countries to hire talent based on your criteria, so you can make informed, strategic hiring decisions with confidence.Read-onlyHiring Insights Summary Get
Provides the best countries to hire talent based on your criteria, so you can make informed, strategic hiring decisions with confidence.
Inputs
job_titlestringrequired- The job title for which you want to get hiring insights
senioritystringrequired- The seniority level of the positionone of
JUNIORMIDDLESENIOR budgetnumber- Budget limit for the position
budget_typestring- Type of budget calculationone of
GROSS_ANNUAL_SALARYTOTAL_COST priority_factorsarray- Priority factors to consider when filtering countries
regionsarray- Geographic regions to filter by
timezonesarray- Timezone offsets to filter by
deelmcp_hiring_insights_take_home_pay_calculateUse this endpoint to estimate take-home pay for compensation inputs.Read-onlyHiring Insights Take Home Pay Calculate
Use this endpoint to estimate take-home pay for compensation inputs.
Inputs
dataarrayrequired- Array of salary items to process
deelmcp_hr_suite_review_cycle_feedback_getRetrieves review cycle feedback and competency data for an HRIS organization user, including categorized feedback entries (self-review, peer, upward, downward) and core competencies.Read-onlyHr Suite Review Cycle Feedback Get
Retrieves review cycle feedback and competency data for an HRIS organization user, including categorized feedback entries (self-review, peer, upward, downward) and core competencies.
Inputs
hris_organization_user_idstringrequired- A valid UUID v4 identifying the specific user.
review_cycle_idstringrequired- A valid UUID v4 identifying the review cycle.
deelmcp_hris_org_chart_getRetrieves the organizational chart structure for an organization.Read-onlyHris Org Chart Get
Retrieves the organizational chart structure for an organization. Returns hierarchical trees of workers and optionally orphaned nodes (workers without managers).
Inputs
group_bystring- Grouping strategy for organizing the org chart. Determines how employees are grouped into trees. Options: 'WORKER_RELATIONS' (default) - groups by manager relationships, 'HRIS_TEAMS' - groups by HRIS teams/org structures (requires group_by_value), 'TEAM_GROUPS' - groups by team groups, 'COUNTRY' - groups by country.one of
WORKER_RELATIONSHRIS_TEAMSTEAM_GROUPSCOUNTRY group_by_valuestring- Optional value to filter by when using specific grouping strategies. For 'hrisTeams' strategy, provide the org structure ID. For 'workerRelations' strategy, provide the worker relation ID. Not required for 'teamGroups' or 'country' strategies.
deelmcp_immigration_business_visa_eligibility_getAnalyzes nationality, residence, destination, and trip dates to return available business visa options with fees, timelines, and qualification criteria.Read-onlyImmigration Business Visa Eligibility Get
Analyzes nationality, residence, destination, and trip dates to return available business visa options with fees, timelines, and qualification criteria. Optional `second_nationality` expands eligibility.
Inputs
destination_countrystringrequired- The destination country code of the trip in ISO 3166-1 alpha-2 format
nationalitystringrequired- The nationality country code of the person in ISO 3166-1 alpha-2 format
residence_countrystringrequired- The residence country code of the person in ISO 3166-1 alpha-2 format
trip_end_datestringrequired- The trip end date in ISO 8601 format (YYYY-MM-DD)
trip_reasonstringrequired- The reason for the tripone of
INTERNAL_BUSINESS_WITH_WORK_FOR_CLIENTINTERNAL_BUSINESS_WITHOUT_WORK_FOR_CLIENTMEETINGS_WITH_OR_FOR_A_CLIENTMEETINGS_WITH_POTENTIAL_CLIENTSNEGOTIATING_CONTRACTS_OR_SIGNING_AGREEMENTSOTHER_EXTERNAL_BUSINESSCONFERENCETEAM_OFFSITESPEAKING_AT_CONFERENCE_UNPAIDSPEAKING_AT_CONFERENCE_PAIDATTENDING_INTERNAL_TRAININGATTENDING_EXTERNAL_TRAININGDELIVERING_TRAINING_TO_INTERNAL_PARTICIPANTSDELIVERING_TRAINING_TO_EXTERNAL_PARTICIPANTS_UNPAIDDELIVERING_TRAINING_TO_EXTERNAL_PARTICIPANTS_PAIDPARTICIPATION_IN_RESEARCH_PROJECTS_AND_STUDIESASSEMBLY_MAINTENANCE_REPAIR_INSTALLATIONTECHNICAL_SUPPORT_OR_SUPERVISIONOTHER_HANDS_ON_LABOURMARKET_RESEARCH_AND_EXPLORING_INVESTMENT_OPPORTUNITIESOTHER trip_start_datestringrequired- The trip start date in ISO 8601 format (YYYY-MM-DD)
second_nationalitystring- The second nationality country code of the person in ISO 3166-1 alpha-2 format (optional)
deelmcp_immigration_client_case_getRetrieves the details of an immigration case by its case ID.Read-onlyImmigration Client Case Get
Retrieves the details of an immigration case by its case ID.
Inputs
idstringrequired- Immigration case id
deelmcp_immigration_client_case_listReturns a paginated list of immigration cases, optionally filtered by applicant name or code, case type, status, and country (ISO 3166-1 alpha-2).Read-onlyImmigration Client Case List
Returns a paginated list of immigration cases, optionally filtered by applicant name or code, case type, status, and country (ISO 3166-1 alpha-2). Use the `cursor` value from each response to retrieve the next page of results.
Inputs
case_type_idsarray- Filter by case type IDs
countriesarray- Filter by country. Uses ISO 3166-1 alpha-2 codes (https://www.iban.com/country-codes).
cursorstring- Pagination cursor for fetching next set of results
limitinteger- Max number of results to return
searchstring- Search by applicant name or code
statusesarray- Filter by case status
deelmcp_immigration_document_getRetrieves the details of an immigration case document by its document `id`.Read-onlyImmigration Document Get
Retrieves the details of an immigration case document by its document `id`.
Inputs
idstringrequired- Immigration case document id
deelmcp_immigration_visa_requirement_getReturns the necessity of a work visa for a specific country given the employee's nationalities.Read-onlyImmigration Visa Requirement Get
Returns the necessity of a work visa for a specific country given the employee's nationalities.
Inputs
country_codestringrequired- Two-letter country code in ISO 3166-1 alpha-2 format for the country where the individual is employed
employee_nationalitiesstringrequired- List of employee nationalities in ISO 3166-1 alpha-2 format
deelmcp_immigration_visa_type_listReturns the visa types supported for immigration processing in a country, identified by its Alpha-2 country code.Read-onlyImmigration Visa Type List
Returns the visa types supported for immigration processing in a country, identified by its Alpha-2 country code.
Inputs
country_codestringrequired- Alpha 2 country code
deelmcp_industry_subcategories_listLists industry subcategories with their parent category details and NAICS codes, supporting cursor-based pagination and sorting by category or subcategory name.Read-onlyIndustry Subcategories List
Lists industry subcategories with their parent category details and NAICS codes, supporting cursor-based pagination and sorting by category or subcategory name.
Inputs
cursorstring- Cursor used for paginating to the next page of results.
limitinteger- Maximum number of items to return per page.
orderstring- Sorting order of the results.one of
ASCDESC sort_bystring- Field used to sort the results.one of
subcategoryNamecategoryName
deelmcp_invoice_adjustment_getRetrieves a single invoice line item by its `id`.Read-onlyInvoice Adjustment Get
Retrieves a single invoice line item by its `id`.
Inputs
idstringrequired- ID of an existing invoice
deelmcp_invoice_adjustment_listReturns invoice adjustments, optionally filtered by contract, adjustment type, status, invoice, reporter, or submission date range.Read-onlyInvoice Adjustment List
Returns invoice adjustments, optionally filtered by contract, adjustment type, status, invoice, reporter, or submission date range.
Inputs
contract_idstring- Id of an Deel contract.
contract_typesarray- List of contract types
date_fromstring- Short date in format ISO-8601 (YYYY-MM-DD). For example 2022-12-31.
date_tostring- Short date in format ISO-8601 (YYYY-MM-DD). For example 2022-12-31.
invoice_idstring- ID of an existing invoice
limitstring- Return a page of results with given number of records; NOTE: technically ALL query parameters are strings or array of strings
offsetstring- Return a page of results after given index of row; NOTE: technically ALL query parameters are strings or array of strings
reporter_idstring- ID of an existing profile
statusesarray- statuses of invoice adjustment to filter
typesarray- types of invoice adjustments to filter
deelmcp_invoice_category_listReturns the available adjustment categories, optionally filtered by contract type.Read-onlyInvoice Category List
Returns the available adjustment categories, optionally filtered by contract type. Category IDs returned here are required when creating adjustments and define the type and accounting treatment applied.
Inputs
contract_typesarray- array of contract types to filter categories
deelmcp_invoice_deel_invoice_listReturns a paginated list of invoices for Deel platform fees.Read-onlyInvoice Deel Invoice List
Returns a paginated list of invoices for Deel platform fees.
Inputs
limitstring- Return a page of results with given number of records; NOTE technically ALL query parameters are strings or array of strings
offsetstring- Return a page of results after given index of row; NOTE technically ALL query parameters are strings or array of strings'
deelmcp_invoice_downloadReturns a temporary download URL for an invoice PDF; the URL expires at the time indicated by `expires_at` in the response.Read-onlyInvoice Download
Returns a temporary download URL for an invoice PDF; the URL expires at the time indicated by `expires_at` in the response.
Inputs
idstringrequired- The invoice ID used to identify the invoice to be downloaded.
deelmcp_invoice_getRetrieves the details of a single invoice by `invoice_id`.Read-onlyInvoice Get
Retrieves the details of a single invoice by `invoice_id`.
Inputs
invoice_idstringrequired- The invoice ID used to identify the invoice to be retireved.
deelmcp_invoice_listReturns a paginated list of invoices; by default only paid invoices are returned, but passing `status=all` returns invoices in all statuses.Read-onlyInvoice List
Returns a paginated list of invoices; by default only paid invoices are returned, but passing `status=all` returns invoices in all statuses. Supports both offset- and cursor-based pagination.
Inputs
cursorstring- Return next page of results after the given cursor.
includestring- Will include invoices from COR workers in the response.one of
cor issued_from_datestring- Filter invoices issued on or after the specified date.
issued_to_datestring- Filter invoices issued before the specified date.
limitnumber- Number of records to retrieve per page.
offsetnumber- Index of the first record to return.
statusstring- If status query has value of all, all invoices will be returned. Otherwise only paid invoices will be fetched.one of
all
deelmcp_invoice_payroll_adjustment_getRetrieves a specific adjustment by its id, including its amount, status, payment cycle dates, and associated contract_id.Read-onlyInvoice Payroll Adjustment Get
Retrieves a specific adjustment by its id, including its amount, status, payment cycle dates, and associated contract_id.
Inputs
idstringrequired- Deel adjustment id.
deelmcp_invoice_tax_listRetrieves the VAT and withholding tax settings configured for an independent contractor contract.Read-onlyInvoice Tax List
Retrieves the VAT and withholding tax settings configured for an independent contractor contract.
Inputs
contract_idstringrequired- Deel Contract ID
deelmcp_it_asset_getRetrieves the details of a specific IT asset by `asset_id`.Read-onlyIt Asset Get
Retrieves the details of a specific IT asset by `asset_id`.
Inputs
asset_idstringrequired- Unique identifier of the IT asset
deelmcp_it_asset_listReturns a cursor-paginated list of all IT assets historically or currently managed by the organization.Read-onlyIt Asset List
Returns a cursor-paginated list of all IT assets historically or currently managed by the organization.
Inputs
categorystring- Filter assets by their product categoryone of
ADAPTERCABLECHAIRCHARGERCOMPACT_DESKTOPDESKDESKTOPDESK_RISERDESK_TIDYDOCKING_STATIONDONGLEFOOTRESTHEADSETKEYBOARDLAPTOPLAPTOP_STANDMICE_TRACKPADMOBILE_DEVICEMONITORMONITOR_ARMOTHERPRINTERSHREDDERSTANDING_MATTABLETTASK_LIGHTWEBCAMWELCOME_PACKWIFI_RANGE_EXTENDER cursorstring- Indicates where the next page of results starts, as returned in a paginated list response
hris_profile_idstring- Filter assets by assigned worker with given HRIS Profile ID
limitinteger- Return a page of results with given number of records
locationstring- Filter assets by their locationone of
AT_WAREHOUSECLEARANCE_WAREHOUSEDEEL_WAREHOUSEORGANIZATION_WAREHOUSESUPPLIERWITH_COURIERWITH_USERWRITE_OFF statusstring- Filter assets by their statusone of
ACTIVEARCHIVED
deelmcp_it_order_getReturns the status, shipping details, and associated product for a single IT equipment order identified by order_id.Read-onlyIt Order Get
Returns the status, shipping details, and associated product for a single IT equipment order identified by order_id.
Inputs
order_idstringrequired- Unique identifier of the IT order
deelmcp_it_order_listReturns a cursor-paginated list of all IT equipment orders for the organization, spanning both historical and current procurement requests.Read-onlyIt Order List
Returns a cursor-paginated list of all IT equipment orders for the organization, spanning both historical and current procurement requests.
Inputs
cursorstring- Indicates where the next page of results starts, as returned in a paginated list response
limitinteger- Return a page of results with given number of records
deelmcp_it_policy_listReturns all available IT hardware policies, which define the equipment eligible for ordering.Read-onlyIt Policy List
Returns all available IT hardware policies, which define the equipment eligible for ordering.
Inputs
This tool takes no inputs.
deelmcp_list_check_in_sessions_by_check_in_idReturns CheckInSessions for the given CheckIn, scoped to the authenticated MCP user.Read-onlyList Check In Sessions By Check In Id
Returns CheckInSessions for the given CheckIn, scoped to the authenticated MCP user. By default, results are returned as a paginated list ordered by scheduled occurrence date descending. When `relative_to=UPCOMING`, the endpoint returns at most one upcomi
Inputs
check_in_idstringrequired- The UUID of the parent CheckIn whose sessions should be listed.
cursorstring- Opaque pagination token. The only valid value is a cursor string returned by a previous response of this same tool — pass it back verbatim. Omit (do not pass the field) on the first page. Do not generate, modify, decode, or guess this value; the server treats it as opaque and will reject anything else. If no cursor was returned by a prior call, omit the field entirely.
end_atstring- ISO 8601 upper bound (inclusive) for scheduled_occurrence_at. Omit to default to the server's current time. Cannot be combined with relative_to. Values in the future are silently clipped to "now" — this filter never returns future sessions. To retrieve the next upcoming session, use relative_to=UPCOMING.
limitinteger- Maximum number of sessions to return. Defaults to 10. Maximum 100.
relative_tostring- Filter sessions relative to the server's current time. "UPCOMING" returns at most one session — the single next scheduled session visible to the user on the FE — and ignores limit/cursor; next_cursor is always null. "PAST" returns sessions with scheduled_occurrence_at < now, ordered by scheduled_occurrence_at descending (most recent first), and paginates via limit/cursor. Cannot be combined with start_at or end_at. Use relative_to when the user references "next", "upcoming", "current", "previous", or "last" session to avoid guessing the current time. Do not assume additional upcoming sessions exist beyond what "UPCOMING" returns.one of
UPCOMINGPAST start_atstring- ISO 8601 lower bound (inclusive) for scheduled_occurrence_at. Omit to not filter by lower bound. Cannot be combined with relative_to. start_at/end_at only return sessions that have already occurred — the upper bound is silently clipped to the server's current time, so future sessions are never returned through this filter. To retrieve the next upcoming session, use relative_to=UPCOMING.
deelmcp_list_check_insReturns a paginated list of active CheckIns (published and not archived) where the authenticated MCP user is one of the participants.Read-onlyList Check Ins
Returns a paginated list of active CheckIns (published and not archived) where the authenticated MCP user is one of the participants. Use participant_name_or_email to narrow results to CheckIns that include a participant whose name or email matches the va
Inputs
cursorstring- Opaque pagination token. The only valid value is a cursor string returned by a previous response of this same tool — pass it back verbatim. Omit (do not pass the field) on the first page. Do not generate, modify, decode, or guess this value; the server treats it as opaque and will reject anything else. If no cursor was returned by a prior call, omit the field entirely.
limitinteger- Maximum number of CheckIns to return. Defaults to 20. Maximum 50.
participant_name_or_emailstring- Name or email of another CheckIn participant. Performs a case-insensitive substring match across legal name, preferred name, work email, and personal email of any assignee of the CheckIn (including the requester). Use this when the user references another participant by name (e.g. “my check-in with John” → “John”) or by email. Omit to list every active CheckIn the requester participates in.
deelmcp_list_library_versioned_journeysLists discoverable library VersionedJourneys for the authenticated MCP userRead-onlyList Library Versioned Journeys
Lists discoverable library VersionedJourneys for the authenticated MCP user
Inputs
cursorstring- Opaque pagination token. The only valid value is a cursor string returned by a previous response of this same tool — pass it back verbatim. Omit on the first page. Do not generate, modify, decode, or guess this value.
limitinteger- Maximum number of VersionedJourneys to return. Defaults to 20. Maximum 50.
searchstring- Case-insensitive substring match on VersionedJourney title. Omit to list all VersionedJourneys.
deelmcp_lookup_country_listReturns all countries supported by the platform, including each country's visa support status, Employer of Record availability, sub-territories, and classification.Read-onlyLookup Country List
Returns all countries supported by the platform, including each country's visa support status, Employer of Record availability, sub-territories, and classification.
Inputs
This tool takes no inputs.
deelmcp_lookup_currency_listReturns all currencies supported by the platform, including their ISO codes and names.Read-onlyLookup Currency List
Returns all currencies supported by the platform, including their ISO codes and names.
Inputs
This tool takes no inputs.
deelmcp_lookup_job_title_listReturns the platform's catalogue of predefined job titles.Read-onlyLookup Job Title List
Returns the platform's catalogue of predefined job titles. Results are paginated using cursor-based navigation via `after_cursor`.
Inputs
after_cursorstring- Cursor for pagination. Use this to retrieve the next page of results.
deelmcp_lookup_listReturns reference data of the type specified by the `documents` query parameter; supported values are `currencies`, `countries`, `entity_types`, and `sic`.Read-onlyLookup List
Returns reference data of the type specified by the `documents` query parameter; supported values are `currencies`, `countries`, `entity_types`, and `sic`.
Inputs
documentsstringrequired- The type of lookup data to retrieve. Options are `currencies`, `countries`, `entity_types`, and `sic_numbers`.one of
sicNumbersentityTypescountries
deelmcp_lookup_seniority_listReturns predefined seniority levels including their names, hierarchical positions, and identifiers.Read-onlyLookup Seniority List
Returns predefined seniority levels including their names, hierarchical positions, and identifiers. When `is_eor_contract` is `true`, C-level seniorities are excluded from the response.
Inputs
is_eor_contractboolean- when `true`, exclude C-level seniorities for EOR contracts. Set to `false` to return all seniorities
deelmcp_milestone_getRetrieves a single milestone identified by milestone_id within a specific contract.Read-onlyMilestone Get
Retrieves a single milestone identified by milestone_id within a specific contract.
Inputs
contract_idstringrequired- Deel contract id.
milestone_idstringrequired- ID of milestone to return
deelmcp_milestone_listRetrieves all milestones associated with a specific contract, including each milestone's title, amount, status, relevant dates, and creator and reviewer information.Read-onlyMilestone List
Retrieves all milestones associated with a specific contract, including each milestone's title, amount, status, relevant dates, and creator and reviewer information.
Inputs
contract_idstringrequired- The unique identifier of the Deel contract for which milestones are being retrieved.
deelmcp_offboarding_tracker_getReturns termination details for a contract identified by its offboarding tracker `id`.Read-onlyOffboarding Tracker Get
Returns termination details for a contract identified by its offboarding tracker `id`.
Inputs
idstringrequired- Unique onboarding tracker identifier
deelmcp_offboarding_tracker_hris_getReturns termination details for a contract identified by its HRIS profile `oid`.Read-onlyOffboarding Tracker Hris Get
Returns termination details for a contract identified by its HRIS profile `oid`.
Inputs
oidstringrequired- Unique hris profile oid
deelmcp_offboarding_tracker_listReturns a list of contracts currently in the offboarding process.Read-onlyOffboarding Tracker List
Returns a list of contracts currently in the offboarding process. By default, results are scoped to a 45-day date range; set `ignore_date_range` to `true` to retrieve all terminations regardless of date.
Inputs
cursorstring- Opaque pagination cursor from the previous response's `page.cursor`. Pass it back verbatim to fetch the next page; omit it for the first page.
hiring_typesarray- Filter by hiring type.
ignore_date_rangeboolean- Ignore the default 45-day date range and retrieve all terminations
include_overviewboolean- Include an overview of the contract
limitinteger- Number of results to return per page (maximum 100; values above this are silently clamped to 100)
paginationobject- Deprecated. Use `cursor` instead.
progress_statusesarray- Filter by offboarding progress status.
searchstring- Search term to filter contracts by name or other attributes
sort_bystring- Field to sort byone of
progressStatusWeight sort_orderstring- Sorting orderone of
ASCDESC
deelmcp_onboarding_tracker_counter_getReturns onboarding tracker counts grouped by status with a grand total, filtered by the caller's organization.Read-onlyOnboarding Tracker Counter Get
Returns onboarding tracker counts grouped by status with a grand total, filtered by the caller's organization.
Inputs
actionsarray- No description.
contractOidarray- No description.
countriesarray- No description.
fromDatestring- No description.
hiringTypesarray- No description.
hrisDirectManagersarray- No description.
includeOverviewboolean- No description.
legalEntitiesarray- No description.
limitinteger- No description.
progressStatusesarray- No description.
searchstring- No description.
sortBystring- No description.one of
progressStatusWeight sortOrderstring- No description.one of
ASCDESC teamsarray- No description.
toDatestring- No description.
deelmcp_onboarding_tracker_getReturns a worker's onboarding status by `tracker_id`.Read-onlyOnboarding Tracker Get
Returns a worker's onboarding status by `tracker_id`.
Inputs
tracker_idstringrequired- The unique identifier of the onboarding tracker.
deelmcp_onboarding_tracker_hris_getReturns a worker's onboarding status by `hris_profile_id`.Read-onlyOnboarding Tracker Hris Get
Returns a worker's onboarding status by `hris_profile_id`.
Inputs
hris_profile_idstringrequired- The unique identifier of the employee HRIS profile.
deelmcp_onboarding_tracker_listReturns a list of workers currently going through onboarding, including contract details, HRIS profile information, current onboarding status, and onboarding due dates.Read-onlyOnboarding Tracker List
Returns a list of workers currently going through onboarding, including contract details, HRIS profile information, current onboarding status, and onboarding due dates. Supports cursor-based pagination.
Inputs
actionsarray- Filter by whether the onboarding is waiting on an action from the client
cardstring- Narrow the list to the workers one filter card counts. `STARTING_THIS_WEEK` also needs `weekFromDate` and `weekToDate`.one of
ACTION_REQUIREDOVERDUEWITH_DEEL_FOR_REVIEWREADY_TO_STARTSTARTING_THIS_WEEK contractOidarray- Search attribute to filter onboarding list by contract id
countriesarray- Filter by contract country. Uses ISO 3166-1 alpha-2 codes.
cursorstring- Cursor for pagination, taken from `page.cursor` of the previous response. It replaces the other query parameters, which are carried over from the request that produced it.
fromDatestring- Start date for filtering contracts
hiringTypesarray- Search attribute to filter onboarding list by hiring type
hrisDirectManagersarray- Search attribute to filter onboarding list by HRIS direct manager. Expects the manager's HRIS profile ID, as returned by `GET /people` in `employments[].team.direct_manager_id` — not a worker or contract ID.
include_overviewboolean- Include an overview of the contract
legalEntitiesarray- Search attribute to filter onboarding list by legal entity
lifecycleStatusesarray- Filter by lifecycle status, the same value each item returns in `progress.lifecycle_status`
limitinteger- Number of results to return per page. Ignored when `cursor` is supplied — a cursor already carries the page size and filters of the request that produced it.
progressStatusesarray- Search attribute to filter onboarding list by progress status
searchstring- Search term to filter contracts by name or other attributes
sort_bystring- Field to sort byone of
progressStatusWeight sort_orderstring- Sorting orderone of
ASCDESC teamsarray- Search attribute to filter onboarding list by team
toDatestring- End date for filtering contracts
waitingOnPartiesarray- Filter by the party the onboarding is waiting on, the same value each item returns in `progress.waiting_on`
weekFromDatestring- First day of the week the `STARTING_THIS_WEEK` card counts, in the caller's timezone
weekToDatestring- Last day of the week the `STARTING_THIS_WEEK` card counts, in the caller's timezone. On or after `weekFromDate`
deelmcp_org_analytics_getExecutes an analytics query against the Cube backend.Read-onlyOrg Analytics Get
Executes an analytics query against the Cube backend. Use GET /organization/analytics/:entity_name/metadata first to fetch metadata for the specific entity, then use only the measures and dimensions returned for that entity.
Inputs
dataobjectrequired- Request payload containing the Cube.js query and output format. The query specifies which dimensions, measures, and time_dimensions to retrieve from an analytics entity (e.g., people).
deelmcp_org_analytics_metadata_getReturns metadata for an analytics entity (cube) including measures, dimensions, types, and formats.Read-onlyOrg Analytics Metadata Get
Returns metadata for an analytics entity (cube) including measures, dimensions, types, and formats. Use this to construct valid queries for `POST /organizations/analytics` — all query members must belong to the same entity.
Inputs
entity_namestringrequired- The name of the analytics entity (cube) to retrieve metadata for.one of
peoplecontractsinvoicestime_off_requestscompensationonboardingtime_trackingterminationspayroll_g2n_itemsgross_to_netimmigrationatsexpensesimmigration_tracked_documentsbenefitsimmigration_feesequitygross_to_net_cost_centerspeople_dailytime_off_summarypeople_historyreview_cycle_answersaudit_logsclient_paymentsworker_bank_detailsreview_cycle_tasksworkforce_planning
deelmcp_org_contract_custom_field_listReturns custom field definitions for contracts — field metadata and placement for supported types (text, list, multiselect, number, percentage, currency, date), not contract-specific values.Read-onlyOrg Contract Custom Field List
Returns custom field definitions for contracts — field metadata and placement for supported types (text, list, multiselect, number, percentage, currency, date), not contract-specific values.
Inputs
This tool takes no inputs.
deelmcp_org_current_person_getReturns the profile of the currently authenticated user, including identity, organizational membership, and integration identifiers for connected services such as Slack.Read-onlyOrg Current Person Get
Returns the profile of the currently authenticated user, including identity, organizational membership, and integration identifiers for connected services such as Slack.
Inputs
This tool takes no inputs.
deelmcp_org_custom_field_get"Retrieves a single person custom field definition by its `id`.Read-onlyOrg Custom Field Get
"Retrieves a single person custom field definition by its `id`.
Inputs
idstringrequired- Custom field id.
deelmcp_org_custom_field_listReturns custom field definitions for people - field metadata and placement for supported types (text, list, multiselect, number, percentage, currency, date), not person-specific values.Read-onlyOrg Custom Field List
Returns custom field definitions for people - field metadata and placement for supported types (text, list, multiselect, number, percentage, currency, date), not person-specific values.
Inputs
This tool takes no inputs.
deelmcp_org_department_listReturns the list of departments within the authenticated user's organization, including each department's identifier, name, and parent department where applicable.Read-onlyOrg Department List
Returns the list of departments within the authenticated user's organization, including each department's identifier, name, and parent department where applicable.
Inputs
This tool takes no inputs.
deelmcp_org_getReturns details of the organization associated with the authentication token; the organization is resolved automatically from the token and requires no additional identifier.Read-onlyOrg Get
Returns details of the organization associated with the authentication token; the organization is resolved automatically from the token and requires no additional identifier.
Inputs
This tool takes no inputs.
deelmcp_org_get_legal_entityReturns legal entity data for an organization integrated with an external benefits vendor.Read-onlyOrg Get Legal Entity
Returns legal entity data for an organization integrated with an external benefits vendor.
Inputs
idstringrequired- Id from the legal entity to fetch data
deelmcp_org_get_structureFetches a single organization structure, returning associated roles and teams alongside structure metadata.Read-onlyOrg Get Structure
Fetches a single organization structure, returning associated roles and teams alongside structure metadata.
Inputs
external_idstringrequired- External ID
deelmcp_org_group_listReturns a paginated list of groups in the organization.Read-onlyOrg Group List
Returns a paginated list of groups in the organization. Archived groups are included by default and can be excluded via the `include_archived_groups` parameter.
Inputs
cursorstring- The encoded cursor for paginated results. This is an opaque string that allows fetching the next set of results.
external_metadatastring- Extra information about the group.
include_archived_groupsboolean- Include archived groups (soft deleted records). Defaults to `true`.
limitinteger- The maximum number of groups to return (between 1 and 100)
sort_orderstring- Sort the results in ascending (ASC) or descending (DESC) order based on the group name.one of
ASCDESC
deelmcp_org_hris_person_getReturns detailed information about a single person in the organization by their public ID.Read-onlyOrg Hris Person Get
Returns detailed information about a single person in the organization by their public ID. Returns personal details, employment information, organizational structure, person status, direct manager, custom fields, and related data.
Inputs
hris_profile_idstringrequired- Unique identifier for the person.
include_custom_fieldsboolean- Include custom fields in the response.
include_worker_relationsboolean- Include worker relations in the response.
deelmcp_org_legal_entity_listReturns a paginated list of legal entities in the account, with optional filtering by country, entity type, global payroll flag, and archived status.Read-onlyOrg Legal Entity List
Returns a paginated list of legal entities in the account, with optional filtering by country, entity type, global payroll flag, and archived status.
Inputs
countrystring- Filter by country.
cursorstring- Cursor for pagination.
global_payrollboolean- Filter by global payroll flag.
include_archivedboolean- Whether to include archived legal entities in the results.
include_payroll_settingsboolean- Whether to include payroll settings in the response.
legal_entity_idstring- Filter by specific legal entity ID.
limitinteger- The number of results to return per page.
sort_orderstring- Sorting order of the results.one of
ASCDESC typestring- Filter by entity type.
deelmcp_org_manager_listReturns a paginated list of all managers in the organization.Read-onlyOrg Manager List
Returns a paginated list of all managers in the organization.
Inputs
limitinteger- Maximum number of records to return per page.
offsetinteger- The starting index for the page of records to return.
deelmcp_org_person_custom_field_listReturns all custom field values currently set for the specified worker.Read-onlyOrg Person Custom Field List
Returns all custom field values currently set for the specified worker.
Inputs
worker_idstringrequired- Worker id.
deelmcp_org_person_listReturns a paginated list of people records in the organization.Read-onlyOrg Person List
Returns a paginated list of people records in the organization. Supports filtering by search term, teams, custom fields, and other query parameters. Build people directories, sync HR data, or power search interfaces across your workforce records.
Inputs
band_placementsarray- Employee's current band placement.
comparative_ratios_fromnumber- Employee's minimum band placement
comparative_ratios_tonumber- Employee's maximum band placement
fieldsarray- Pick the fields you want to see in the response in order to avoid a bloated people list output. Supports dot notation (e.g., 'employments[0].contract_status') to access nested fields.
hiring_statusesarray- Employee's current hiring status.
hiring_typesarray- Filter people by hiring types
limitinteger- Return a page of results with given number of records.
offsetinteger- Return a page of results with given number of records.
person_statusesarray- Filter people by person (worker profile) lifecycle status.
searchstring- Include a contract if by name or contractor name contains given search term.
sort_bystring- Sort people by given field name.one of
idfirst_namelast_namefull_nameemailcountrybirth_datehiring_typestart_dateteamjob_titlehiring_statuscompletion_datedirect_managerdirect_reports_countband_placementcomparative_ratio sort_orderstring- Order direction of results; ascending or descending.one of
ascdesc teamsarray- Filter the results based on the team(group) the users contract is associated with
deelmcp_org_personal_info_getReturns personal information for a worker by their worker ID.Read-onlyOrg Personal Info Get
Returns personal information for a worker by their worker ID.
Inputs
worker_idstringrequired- Unique identifier for a worker (External ID).
deelmcp_org_positions_listFetches all positions associated with the specified `hrisProfileId`.Read-onlyOrg Positions List
Fetches all positions associated with the specified `hrisProfileId`.
Inputs
hris_profile_idstringrequired- HRIS Profile ID
deelmcp_org_relation_type_listReturns all configured worker relation types available in the organization, which define the valid relationship categories that can be assigned when creating or upserting worker relations.Read-onlyOrg Relation Type List
Returns all configured worker relation types available in the organization, which define the valid relationship categories that can be assigned when creating or upserting worker relations.
Inputs
This tool takes no inputs.
deelmcp_org_role_listRetrieves all roles defined within the current organization.Read-onlyOrg Role List
Retrieves all roles defined within the current organization.
Inputs
This tool takes no inputs.
deelmcp_org_structure_getFetches a single organization structure by its `hrisOrgStr_id`, returning associated roles, teams, and structure metadata.Read-onlyOrg Structure Get
Fetches a single organization structure by its `hrisOrgStr_id`, returning associated roles, teams, and structure metadata.
Inputs
hris_org_structure_idstringrequired- HRIS Organization Structure ID
deelmcp_org_structures_listReturns the organization's hierarchical structure, including departments and teams, with offset-based pagination.Read-onlyOrg Structures List
Returns the organization's hierarchical structure, including departments and teams, with offset-based pagination.
Inputs
limitnumber- Return a page of results with given number of records.
offsetnumber- Return a page of results with given number of records.
deelmcp_org_team_listReturns the list of teams within the authenticated user's organization, with each entry including the team's ID and name.Read-onlyOrg Team List
Returns the list of teams within the authenticated user's organization, with each entry including the team's ID and name.
Inputs
This tool takes no inputs.
deelmcp_org_working_location_listReturns the list of available work location labels for the organization.Read-onlyOrg Working Location List
Returns the list of available work location labels for the organization. Populate options when creating or editing people or contract records.
Inputs
This tool takes no inputs.
deelmcp_payment_breakdown_getReturns a breakdown of a payment made to Deel, with individual invoices and the Deel fee included as discrete line items.Read-onlyPayment Breakdown Get
Returns a breakdown of a payment made to Deel, with individual invoices and the Deel fee included as discrete line items.
Inputs
payment_idstringrequired- Unique identifier for the payment to retrieve the breakdown.
deelmcp_payment_request_list_recentReturns the last N payment requests for the authenticated employee profile, including amount, currency, status, due dates, and activity logs.Read-onlyPayment Request List Recent
Returns the last N payment requests for the authenticated employee profile, including amount, currency, status, due dates, and activity logs. The number of results is controlled by the limit parameter.
Inputs
limitinteger- Number of payment requests to return.
deelmcp_payout_withdrawal_tracking_getRetrieve the step-by-step tracking information for a withdrawal, including current progress, status steps, and any delay banners.Read-onlyPayout Withdrawal Tracking Get
Retrieve the step-by-step tracking information for a withdrawal, including current progress, status steps, and any delay banners.
Inputs
idstringrequired- Withdrawal identifier. Accepts either the sequential numeric id or the UUID public id.
profileIdstring- Contractor profile public ID (UUID). Required when the caller is a client or org admin; identifies which contractor's withdrawal to look up. Ignored for worker callers, who can only read their own withdrawals.
deelmcp_payroll_cycle_listLists payroll cycles with optional filters for contract OIDs, date range, country, entity, and cycle state.Read-onlyPayroll Cycle List
Lists payroll cycles with optional filters for contract OIDs, date range, country, entity, and cycle state. Use `employment_id` to narrow results to specific employee contracts.
Inputs
cursorstring- Cursor for pagination.
cycle_action_statesarray- Filter by cycle action state.
cycle_typesarray- Filter by cycle type.
cycles_tabstring- Filter cycles by tab.one of
activeupcomingcompleted employment_idstring- Contract OID(s) from people endpoint employments[0].id.
end_datestring- End of date range.
exclude_completedboolean- Exclude completed cycles.
limitinteger- Maximum number of cycles to return.
start_datestring- Start of date range.
deelmcp_payroll_payment_cycle_listFetches the scheduled payment dates and current status of each payment cycle for a specific contract.Read-onlyPayroll Payment Cycle List
Fetches the scheduled payment dates and current status of each payment cycle for a specific contract.
Inputs
contract_idstringrequired- The Deel contract ID for which payment dates are being retrieved.
deelmcp_payroll_report_getGet payroll report data for a payroll cycle, including available columns, employee row values, and optional previous report items.Read-onlyPayroll Report Get
Get payroll report data for a payroll cycle, including available columns, employee row values, and optional previous report items. Use this response to discover payroll_report_column_id and payroll_id before updating entries.
Inputs
cycle_idstringrequired- Payroll event/cycle id.
contract_oidsarray- Contract OID(s) to filter report rows.
cursorstring- Cursor for pagination.
employee_statusarray- Employee status filter.
limitinteger- Maximum number of report rows.
searchstring- Filter by employee name.
deelmcp_retrieve_ats_job_posting_by_organizationThis endpoint retrieves a single job posting by its ID for a specific organization.Read-onlyRetrieveAtsJobPostingByOrganization
This endpoint retrieves a single job posting by its ID for a specific organization. It provides detailed information about the job posting, including its associated job details, publication status, and other relevant metadata.
Inputs
job_posting_idstringrequired- Unique identifier of the job posting to retrieve
organization_idstringrequired- Unique identifier of the organization
deelmcp_retrieve_ats_job_postings_by_organizationRetrieves a list of all job postings in the Applicant Tracking System.Read-onlyRetrieveAtsJobPostingsByOrganization
Retrieves a list of all job postings in the Applicant Tracking System. Results can be filtered by query parameters.
Inputs
organization_idstringrequired- Unique identifier of the organization
cursorstring- The cursor for pagination (optional)
job_board_idstring- Job Board ID must be a valid UUID
limitinteger- Maximum number of records returned in one response (optional)
deelmcp_retrieve_custom_fields_for_organizationRetrieves custom field values for a specific organization structure (team).Read-onlyRetrieveCustomFieldsForOrganization
Retrieves custom field values for a specific organization structure (team). This endpoint returns all custom fields configured for organization structures, including their current values, inheritance status, and any pending change requests. Custom fields
Inputs
team_idstringrequired- Public ID (UUID) of the HRIS team/organization structure
cursorstring- Opaque cursor for pagination
limitinteger- Max items per page (default 20, max 100)
deelmcp_retrieve_payment_receiptsRetrieve a list of payments made to Deel, including worker details, payment status, and payment methods.Read-onlyRetrievePaymentReceipts
Retrieve a list of payments made to Deel, including worker details, payment status, and payment methods.
Inputs
currenciesarray- Filters payments by their currency codes. Can be a single currency code or an array of codes.
cursorstring- A cursor for pagination. Use the value returned in the 'next_cursor' field to get the next page of results.
date_fromstring- Filters results to include payments created on or after this date (in ISO 8601 format).
date_tostring- Filters results to include payments created before this date (in ISO 8601 format).
entitiesarray- Filters payments by legal entity type (e.g., 'individual' or 'company'). Can be a single entity type or an array.
statusesarray- Filters payments by their status (e.g., 'paid' or 'processing'). Can be a single status type or an array.
deelmcp_time_tracking_timesheet_getRetrieves a timesheet by `timesheet_id`, including its submission, review, and processing status.Read-onlyTime Tracking Timesheet Get
Retrieves a timesheet by `timesheet_id`, including its submission, review, and processing status. Pass `expand=file_data` to include file name and download URL in the response.
Inputs
timesheet_idstringrequired- ID of the timesheet to fetch file for
extendstring- Optional list of fields to extend in the response. Currently only `file_data` is supported, which includes file details (file_id, file_name) and download URL.
deelmcp_timeoff_all_event_listReturns time-off events for a worker profile identified by hris_profile_id, with optional filtering by time_off_type_id or policy_id.Read-onlyTimeoff All Event List
Returns time-off events for a worker profile identified by hris_profile_id, with optional filtering by time_off_type_id or policy_id.
Inputs
hris_profile_idstringrequired- Worker hris profile id
policy_idstring- Policy id
time_off_type_idstring- Time off type id
deelmcp_timeoff_dailies_listReturns holidays, work schedule entries, and time-off dailies for a given date range, scoped to one or more HRIS profile IDs or countries.Read-onlyTimeoff Dailies List
Returns holidays, work schedule entries, and time-off dailies for a given date range, scoped to one or more HRIS profile IDs or countries.
Inputs
countriesarray- List of countries to be fetched
end_datestring- End date of non working days date range
hris_profile_idsarray- HRIS profile ids
start_datestring- Start date of non working days date range
deelmcp_timeoff_entitlement_listReturns time-off entitlements for the specified hris_profile_id, including available balances, used days, and remaining allocation per time-off type.Read-onlyTimeoff Entitlement List
Returns time-off entitlements for the specified hris_profile_id, including available balances, used days, and remaining allocation per time-off type. Results can be scoped to a specific policy type or tracking period date.
Inputs
hris_profile_idstringrequired- HRIS profile ID
policy_type_namestring- Policy type nameone of
Adoption leaveAdvanced vacationBereaved partner's paternity leaveBereavement leaveBlood donation leaveBreastfeeding leaveCarer's leaveChildbirth leaveChildcare leaveCivic/public duty leaveCompensatory leaveDisability leaveDoctor's appointment leaveFamily & domestic violence leaveFamily responsibility leaveFloating Holiday AllowanceHajj leaveHospitalization leaveLong Service LeaveMarriage/wedding leaveMaternity leaveMenstrual leaveMilitary leaveMoving leaveNeonatal care leaveOther leavePaid leaveParental bereavement leaveParental leavePaternity leavePersonal leavePregnancy leaveRegional holidayRTTShared parental leaveSick leaveStudy leaveSupplementary LeaveUnpaid leaveVacationVacation - public holidays replacementVolunteer leaveWork accident leaveWork Location tracking_period_datestring- Tracking period date
deelmcp_timeoff_event_listReturns a paginated list of time-off requests for the specified hris_profile_id, with optional filters for status, policy type, date ranges covering the time-off period, approval date, and last-updated date.Read-onlyTimeoff Event List
Returns a paginated list of time-off requests for the specified hris_profile_id, with optional filters for status, policy type, date ranges covering the time-off period, approval date, and last-updated date.
Inputs
hris_profile_idstringrequired- HRIS profile id
approval_end_datestring- Approval end date
approval_start_datestring- Approval start date
end_datestring- End date of time off
nextstring- Next page
page_sizeinteger- Page size
policy_type_namesarray- Filter by policy type names. When omitted, Work Location time-offs are excluded by default. Pass policy_type_names=Work+Location to retrieve only Work Location entries.
policy_typesarray- Policy types
start_datestring- Start date of time off
statusarray- Time off status
time_off_idsarray- Time off ids
updated_end_datestring- Updated end date
updated_start_datestring- Updated start date
deelmcp_timeoff_policy_listReturns the time-off policies assigned to the specified hris_profile_id, including policy details such as allowed types, accrual rules, and balances.Read-onlyTimeoff Policy List
Returns the time-off policies assigned to the specified hris_profile_id, including policy details such as allowed types, accrual rules, and balances. Results can be filtered by policy type name or policy type ID.
Inputs
hris_profile_idstringrequired- hrisProfileId id.
policy_type_idstring- policy type id
policy_type_namestring- Policy type name.one of
Adoption leaveAdvanced vacationBereaved partner's paternity leaveBereavement leaveBlood donation leaveBreastfeeding leaveCarer's leaveChildbirth leaveChildcare leaveCivic/public duty leaveCompensatory leaveDisability leaveDoctor's appointment leaveFamily & domestic violence leaveFamily responsibility leaveFloating Holiday AllowanceHajj leaveHospitalization leaveLong Service LeaveMarriage/wedding leaveMaternity leaveMenstrual leaveMilitary leaveMoving leaveNeonatal care leaveOther leavePaid leaveParental bereavement leaveParental leavePaternity leavePersonal leavePregnancy leaveRegional holidayRTTShared parental leaveSick leaveStudy leaveSupplementary LeaveUnpaid leaveVacationVacation - public holidays replacementVolunteer leaveWork accident leaveWork Location
deelmcp_timeoff_policy_validation_template_listReturns policy validation templates and policy types for one or more countries, specified as ISO 3166-1 alpha-2 codes.Read-onlyTimeoff Policy Validation Template List
Returns policy validation templates and policy types for one or more countries, specified as ISO 3166-1 alpha-2 codes. Policy types in the response are unique across the result set.
Inputs
countriesarrayrequired- List of countries (ISO 3166-1 alpha-2 codes) to fetch policy templates and types for.
deelmcp_timeoff_request_listReturns time-off requests for the authenticated organization, with optional filtering by status, date ranges, policy types, and specific request IDs.Read-onlyTimeoff Request List
Returns time-off requests for the authenticated organization, with optional filtering by status, date ranges, policy types, and specific request IDs. Results are paginated using cursor-based navigation.
Inputs
approval_end_datestring- Approval end date
approval_start_datestring- Approval start date
end_datestring- End date of time off
include_deleted_time_offsboolean- When true, includes soft-deleted time-off records in the response. Deleted records will have a deleted_at timestamp and status DELETED.
nextstring- Next page
page_sizeinteger- Page size
policy_type_namesarray- Filter by policy type names. When omitted, Work Location time-offs are excluded by default. Pass policy_type_names=Work+Location to retrieve only Work Location entries.
policy_typesarray- Policy types
start_datestring- Start date of time off
statusarray- Time off status
time_off_idsarray- Time off ids
updated_end_datestring- Updated end date
updated_start_datestring- Updated start date
deelmcp_timeoff_request_validateValidates a time-off request against policy compliance, available balance, blackout dates, and other rules before creation.Read-onlyTimeoff Request Validate
Validates a time-off request against policy compliance, available balance, blackout dates, and other rules before creation. Returns an `is_valid` flag with any errors and adjusted dates.
Inputs
dataobject- Time off request data
deelmcp_timesheet_getReturns a single timesheet entry.Read-onlyTimesheet Get
Returns a single timesheet entry.
Inputs
timesheet_idstringrequired- ID of an existing timesheet
deelmcp_timesheet_listReturns a paginated list of timesheets in the account, optionally filtered by contract_id, contract_types, statuses, reporter_id, or date range.Read-onlyTimesheet List
Returns a paginated list of timesheets in the account, optionally filtered by contract_id, contract_types, statuses, reporter_id, or date range.
Inputs
contract_idstring- Filter results to timesheets belonging to this Deel contract ID.
contract_typesarray- List of contract types
date_fromstring- Short date in format ISO-8601 (YYYY-MM-DD). For example 2022-12-31.
date_tostring- Short date in format ISO-8601 (YYYY-MM-DD). For example 2022-12-31.
limitstring- Maximum number of records to return per page. NOTE: query parameters are passed as strings.
offsetstring- Number of records to skip before starting to return results. NOTE: query parameters are passed as strings.
reporter_idstring- Filter results to timesheets submitted by this user ID.
statusesarray- List of statuses to filter by
deelmcp_timesheet_preset_getRetrieves a single hourly report preset by its id.Read-onlyTimesheet Preset Get
Retrieves a single hourly report preset by its id.
Inputs
idstringrequired- The unique identifier of the hourly report preset to retrieve
deelmcp_timesheet_preset_listReturns saved hourly report presets for the specified contract, optionally scoped to a work statement.Read-onlyTimesheet Preset List
Returns saved hourly report presets for the specified contract, optionally scoped to a work statement. Results support cursor-based pagination and can be ordered by title or creation date.
Inputs
contract_idstringrequired- ID of the Deel contract
cursorstring- Pagination cursor for fetching next set of results
limitinteger- Number of results to return per page
order_bystring- Field to order results by (title or created_at)
order_directionstring- Direction of ordering (ASC or DESC)
work_statement_idstring- ID of the work statement (optional)
deelmcp_timesheet_root_preset_alt_getRetrieves a single hourly report root preset by its id, including its current status.Read-onlyTimesheet Root Preset Alt Get
Retrieves a single hourly report root preset by its id, including its current status.
Inputs
idstringrequired- The unique identifier of the hourly report root preset to retrieve
deelmcp_timesheet_root_preset_async_listReturns a cursor-paginated list of hourly report root presets, with optional filtering by work_statement_statuses and result ordering.Read-onlyTimesheet Root Preset Async List
Returns a cursor-paginated list of hourly report root presets, with optional filtering by work_statement_statuses and result ordering.
Inputs
cursorstring- Pagination cursor for fetching the next page of results
limitinteger- Maximum number of items to return per page (max: 100)
order_bystring- Field to order the results byone of
created_at order_directionstring- Direction to order the results (ascending or descending)one of
ASCDESC work_statement_statusesarray- Filter results by work statement status
deelmcp_verification_kyc_getRetrieves KYC verification details for a worker identified by `worker_profile_id` or `profile_id`; these two parameters are mutually exclusive.Read-onlyVerification Kyc Get
Retrieves KYC verification details for a worker identified by `worker_profile_id` or `profile_id`; these two parameters are mutually exclusive. `contract_id` is required when multiple profiles are associated with the worker.
Inputs
contract_idstring- Worker's contract ID. This parameter is required in case there are multiple profiles associated to the target worker. For example, when worker used to work for the former company he had another profile ID. So we need contract ID to properly resolve profile's KYC details. In case this parameter is not provided and multiple associated profiles are found, exception with 409 status code will be thrown
profile_idstring- Worker's profile public ID client requests to fetch KYC details for, This parameter is mutually exclusive with worker_profile_id
worker_profile_idstring- Worker's HRIS profile public ID client requests to fetch KYC details for. This parameter is mutually exclusive with profile_id
deelmcp_verification_method_getReturns the KYC verification method supported for a given combination of issuing country and document type.Read-onlyVerification Method Get
Returns the KYC verification method supported for a given combination of issuing country and document type.
Inputs
countrystringrequired- The document's issuing country code (ISO 3166-1 alpha-2)
document_typestringrequired- The document to be provided during KYCone of
passportgovernment_iddriving_licenseother
deelmcp_worker_contract_type_listReturns the additional information template for a given contract type and employment country, specifying the fields required to complete employee information for that combination.Read-onlyWorker Contract Type List
Returns the additional information template for a given contract type and employment country, specifying the fields required to complete employee information for that combination.
Inputs
countrystringrequired- ISO 3166-1 alpha-2 country code.
typestringrequired- The contract type. Must be 'eor' (Employer of Record) or 'gp' (Global Payroll).one of
eorgp
deelmcp_worker_document_downloadGet the download link of worker document.Read-onlyWorker Document Download
Get the download link of worker document.
Inputs
document_idstringrequired- Unique identifier for a compliance document in Deel.
worker_idstringrequired- Unique identifier for a worker.
deelmcp_worker_document_listRetrieve a list of documents of a worker.Read-onlyWorker Document List
Retrieve a list of documents of a worker.
Inputs
worker_idstringrequired- Unique identifier for a worker.
deelmcp_worker_personal_info_external_getRetrieves a worker profile record using a system-wide external worker identifier.Read-onlyWorker Personal Info External Get
Retrieves a worker profile record using a system-wide external worker identifier.
Inputs
worker_idstringrequired- System-wide external identifier for a worker record.
deelmcp_addNoteToACandidate_v2026_01_01_betaBETA - new endpoint, stable from 2026-12-29; behavior may change until then.WriteAdd Note To Acandidate V2026 01 01 Beta
BETA - new endpoint, stable from 2026-12-29; behavior may change until then. Adds a note to a candidate — the candidate-level counterpart to the application-notes endpoint. Use this when feedback applies to the candidate overall rather than to a single application; the note then stays visible across all of that candidate's applications.
Inputs
candidate_idstringrequired- Id of the candidate which the note will be added
dataobjectrequired- No description.
deelmcp_ap_vendor_bill_createCreates a new vendor bill in accounts payable, associating it with your organization.WriteApVendorBillCreate
Creates a new vendor bill in accounts payable, associating it with your organization. Attachments can be added to the bill via a subsequent call using the returned id.
Inputs
dataobjectrequired- No description.
deelmcp_append_note_to_check_in_sessionAppend note to CheckInSessionWriteAppend Note To Check In Session
Append note to CheckInSession
Inputs
check_in_session_idstringrequired- The UUID of the CheckInSession whose Note will receive the append.
dataobjectrequired- Append payload for the CheckInSession Note. Safe to call repeatedly; will never overwrite user-authored or previously written content.
visibility_slugstringrequired- Which Note to append to. "SHARED" — the single shared Note visible to all assignees of the parent CheckIn. "PRIVATE" — the requesting user’s own private Note (each user has at most one private Note per CheckInSession). The tuple (CheckInSession, visibility) addresses exactly one Note.one of
SHAREDPRIVATE
deelmcp_ats_applications_createCreates a new ATS application linking an existing candidate to an existing job.WriteAts Applications Create
Creates a new ATS application linking an existing candidate to an existing job. Both the candidate and job must exist prior to this call; the returned id can be used for subsequent operations such as adding notes or associating interview stages.
Inputs
dataobjectrequired- No description.
deelmcp_ats_applications_interview_plan_createAssociates an application with an interview plan stage.WriteAts Applications Interview Plan Create
Associates an application with an interview plan stage. Set `is_current_stage` to control active vs historical entry. Supports selective activity triggers and candidate archivation with optional rejection email.
Inputs
application_idstringrequired- ID of the application to be associated with the interview plan stage
dataobjectrequired- No description.
deelmcp_ats_applications_notes_createAdds a note to a specific application.WriteAts Applications Notes Create
Adds a note to a specific application. The `author_id` must correspond to a valid HRIS user.
Inputs
application_idstringrequired- Id of the application which the note will be added
dataobjectrequired- No description.
deelmcp_ats_candidate_createCreates a candidate record for contractor onboarding outside of an ATS flow.WriteAts Candidate Create
Creates a candidate record for contractor onboarding outside of an ATS flow. The returned record can be used in subsequent contract creation calls.
Inputs
dataobjectrequired- Details of candidate to create
deelmcp_ats_candidate_get_detailsRetrieve the complete detail for a single candidate in one call rather than fetching each part separately.WriteAts Candidate Get Details
Retrieve the complete detail for a single candidate in one call rather than fetching each part separately. The applications included are limited to the jobs the authenticated caller is permitted to see, so the set returned can vary by caller.
Inputs
candidate_idstringrequired- Unique identifier of the candidate.
deelmcp_ats_candidates_createCreates a new candidate record in the ATS and returns the candidate with their unique identifier, which can then be used to link the candidate to job applications.WriteAts Candidates Create
Creates a new candidate record in the ATS and returns the candidate with their unique identifier, which can then be used to link the candidate to job applications.
Inputs
dataobjectrequired- No description.
deelmcp_ats_interview_feedback_listUse this endpoint to pull organization-wide interview feedback when following up across candidates and jobs — for example, after filtering interviews or applications by stage, call this to see which reviewers still owe feedback (status=NOT_SUBMITTED) or wWriteAts Interview Feedback List
Use this endpoint to pull organization-wide interview feedback when following up across candidates and jobs — for example, after filtering interviews or applications by stage, call this to see which reviewers still owe feedback (status=NOT_SUBMITTED) or w
Inputs
activity_typestring- Filter by the kind of activity the feedback belongs to.one of
INTERVIEW_SCHEDULINGAPPLICATION_EVALUATIONEXERCISEQUESTIONNAIRE application_idsarray- Filter feedback by application IDs.
candidate_idsarray- Filter feedback by candidate IDs.
cursorstring- Pagination cursor returned by a previous response.
includearray- Optional expansions. FORM_RESPONSES embeds the submitted scorecard answers (caps limit at 50).
interview_plan_stage_idsarray- Filter feedback by the interview plan stage of the activity it belongs to (stage ids from GET /rest/ats/jobs/{job_id}/interview-plan-stages).
job_idsarray- Filter feedback by job IDs.
limitinteger- Maximum number of feedback records per page (1-100; 1-50 with include=FORM_RESPONSES).
reviewer_hris_organization_user_idsarray- Filter feedback by the HRIS organization user IDs of the reviewers (interviewers) who owe or submitted it.
scheduled_interview_idsarray- Filter feedback by the scheduled interview it was collected for (ids from GET /rest/ats/interviews).
should_hide_sensitive_fieldsboolean- When true (default), form responses marked as sensitive are omitted.
sort_orderstring- Order by feedback creation time.one of
NEWEST_FIRSTOLDEST_FIRST statusstring- SUBMITTED returns completed scorecards; NOT_SUBMITTED returns feedback still owed by a reviewer.one of
SUBMITTEDNOT_SUBMITTED submitted_afterstring- Return feedback submitted at or after this ISO 8601 datetime.
submitted_beforestring- Return feedback submitted at or before this ISO 8601 datetime.
updated_afterstring- Return feedback updated strictly after this ISO 8601 datetime (incremental sync).
deelmcp_ats_interview_listReturns a paginated list of interviews for the organization.WriteAts Interview List
Returns a paginated list of interviews for the organization. Use the available query parameters to filter by job, candidate, interviewer, status, or date range, or to fetch updates incrementally via updated_after
Inputs
application_idsarray- Filter interviews by application IDs. When set, every interview of those applications is returned — past, cancelled and on stages the candidate has already moved past — and results default to latest meeting first.
candidate_idsarray- Filter interviews by candidate IDs.
cursorstring- Pagination cursor returned by a previous response.
date_range_endstring- Upper bound of interview start time (ISO 8601).
date_range_startstring- Lower bound of interview start time (ISO 8601).
interview_plan_stage_idsarray- Filter interviews by the interview plan stage the interview belongs to (from GET /rest/ats/jobs interview_plan_stages). When set, every interview on those stages is returned regardless of the candidate's current stage, and results default to latest meeting first.
interviewer_hou_idsarray- Filter interviews by interviewer HRIS organization user IDs.
job_idsarray- Filter interviews by job IDs.
limitinteger- Maximum number of interviews to return per page.
sort_orderstring- Order interviews by upcoming-first, newest-first (by creation), oldest-first, or latest-meeting-first (most recent meeting time, for past-interview views).one of
SCHEDULED_FIRSTNEWEST_FIRSTOLDEST_FIRSTLATEST_MEETING_FIRST statusarray- Filter interviews by status.
updated_afterstring- Return interviews updated strictly after this ISO 8601 datetime (incremental sync).
deelmcp_ats_interview_plan_getReturns the interview plan stages of a job in pipeline order, each with the number of applications currently in the stage and the number that ever reached it.WriteAts Interview Plan Get
Returns the interview plan stages of a job in pipeline order, each with the number of applications currently in the stage and the number that ever reached it. Optionally embeds the most recently moved applications per stage.
Inputs
job_idstringrequired- Job whose interview plan stages to list.
applications_per_stage_limitinteger- Maximum number of current applications embedded per stage when include=CURRENT_APPLICATIONS (1-25).
includearray- Optional expansions. CURRENT_APPLICATIONS embeds the most recently moved applications currently sitting in each stage.
deelmcp_ats_jobs_createCreates a new job in the ATS and returns the resulting job record, including its assigned `id`, initial status, and associated approval rule and request identifiers.WriteAts Jobs Create
Creates a new job in the ATS and returns the resulting job record, including its assigned `id`, initial status, and associated approval rule and request identifiers.
Inputs
dataobjectrequired- No description.
deelmcp_ats_teams_listRetrieves a list of all teams in the Applicant Tracking SystemWriteAts Teams List
Retrieves a list of all teams in the Applicant Tracking System
Inputs
cursorstring- The cursor for pagination
include_archivedstring- If true, archived teams are included in the response; they are excluded by default
limitinteger- Maximum number of records returned in one response
deelmcp_benefit_401k_activateActivates the 401k benefits integration for the specified legal entity.WriteBenefit 401k Activate
Activates the 401k benefits integration for the specified legal entity. Must be called before 401k plans can be created or employees enrolled.
Inputs
idstringrequired- Id from the legal entity to activate 401k integration
deelmcp_benefit_401k_enrollment_createEnrolls a contract in a 401(k) plan, setting contribution rates and election details.WriteBenefit 401k Enrollment Create
Enrolls a contract in a 401(k) plan, setting contribution rates and election details. The referenced plan must be active and created via `POST /benefits/legal-entities/{legal_entity_id}/401k/plans` before enrollment can proceed.
Inputs
contract_idstringrequired- Contract id from the employee
dataobjectrequired- Schema for the 401K Guideline Plan request body.
legal_entity_idstringrequired- Legal entity id which employee/contract belongs
plan_idstringrequired- Plan id to enroll the employee into
deelmcp_benefit_401k_plan_createCreates a new 401k plan for the specified legal entity.WriteBenefit 401k Plan Create
Creates a new 401k plan for the specified legal entity. The 401k integration must be activated before this endpoint can be called. The response includes the plan's unique identifier required for subsequent enrollment and management operations.
Inputs
dataobjectrequired- Schema for the 401K Guideline Plan request body.
legal_entity_idstringrequired- Id from the legal entity to receive a new 401k plan
deelmcp_bulkTagUpsertionsUse this endpoint to keep an organization's tag vocabulary consistent — create the candidate, job and opening tags a hiring workflow needs, or rename ones already in use, in one call instead of one request per tag.WriteBulk Tag Upsertions
Use this endpoint to keep an organization's tag vocabulary consistent — create the candidate, job and opening tags a hiring workflow needs, or rename ones already in use, in one call instead of one request per tag. It returns the tag ids the tagging endpoints expect, so an importing system can reconcile its own labels with Deel's before it tags any records.
Inputs
dataobjectrequired- At least one tag group must be provided. Include tag_id to update an existing tag label, or omit it to create or match case-insensitively.
deelmcp_BulkUpdateJobProfilesV2Controller_bulkUpdate_v2Use this endpoint to change the job family or track for many job profiles at once, instead of updating them one at a time.WriteBulk Update Job Profiles V2 Controller Bulk Update V2
Use this endpoint to change the job family or track for many job profiles at once, instead of updating them one at a time. Select specific profiles directly, or match a broader set with filters and update all of them in a single call.
Inputs
allboolean- When true, updates every job profile matching `filters` (or all of them if no filters), except the ids in `unselectedJobProfileIds`. When false/omitted, `selectedJobProfileIds` is used.
filtersobject- Scopes the "all" selection. Only applied when `all` is true.
selectedJobProfileIdsarray- Ids of the job profiles to update. Required when `all` is not true.
unselectedJobProfileIdsarray- Ids to exclude from the update when `all` is true.
updatesobject- Changes to apply to the selected job profiles.
deelmcp_check_in_session_listReturns check-in sessions (with notes and tasks) for a user, from the last 6 months.WriteCheck In Session List
Returns check-in sessions (with notes and tasks) for a user, from the last 6 months. For AI agents needing check-in history as context for insights.
Inputs
hris_organization_user_idstringrequired- UUID of the HRIS organization user whose check-in sessions to retrieve.
cursorstring- Opaque pagination cursor returned from a previous response. Omit to start from the first page.
limitinteger- Maximum number of sessions to return. Defaults to 10. Maximum 50.
deelmcp_clone_a_groupClone an existing group within the organization.WriteCloneAGroup
Clone an existing group within the organization. This creates a new group with the specified name, copying the structure and settings from the source group.
Inputs
dataobjectrequired- No description.
idstringrequired- Unique identifier of the group to be cloned.
deelmcp_compensation_band_bulk_updateBulk-updates existing compensation bands.WriteCompensation Band Bulk Update
Bulk-updates existing compensation bands. Each band is identified by ID or by the unique combination of job family group, job family, job profile, market, market group, and worker type. Accepts up to 1000 bands per request.
- Idempotent
Inputs
compensationBandsarray- Array of compensation bands to update (maximum 1000)
deelmcp_compensation_band_createBulk creates or upserts up to 1000 compensation bands per request.WriteCompensation Band Create
Bulk creates or upserts up to 1000 compensation bands per request. Returns a summary of created and updated records. Bands define pay ranges for a job profile, market, and worker type combination.
Inputs
dataobjectrequired- No description.
deelmcp_compensation_band_point_updateUpdates the band point configuration (indexes 1–9) for the organization.WriteCompensation Band Point Update
Updates the band point configuration (indexes 1–9) for the organization. Points 1 and 9 must always be enabled. No separate GET exists — read current settings from the List Compensation Bands response.
- Idempotent
Inputs
bandPointSettingsobject- Band point settings to update
deelmcp_compensation_band_updateUpdates an existing compensation band.WriteCompensation Band Update
Updates an existing compensation band. When `cashBandPointValues` is provided, it replaces the full band points list. Compensation bands define pay ranges for a job profile and market.
Inputs
idstringrequired- Compensation band id
bonusFrequencystring- Frequency of the target bonus payout. Required when bonusPoint is provided.one of
MONTHLYQUARTERLYBIANNUALLYANNUALLY bonusPointnumber- Target bonus value. Use with bonusPointUnit and bonusFrequency. Set to null to clear the bonus.
bonusPointUnitstring- Unit for the bonus point. Required when bonusPoint is provided.one of
PERCENTAGEUNITSCASH cashBandPointValuesarray- Array of band points within this compensation band. If provided, will replace the existing band points list.
equityBandPointsarray- Array of equity band points. If provided, will replace the existing equity band points list. Pass empty array to delete all equity points.
notesstring- Notes for the compensation band
scalestring- The scale of the compensation band, either ANNUAL, MONTHLY, or HOURLY
deelmcp_compensation_job_family_createUse this endpoint to create a new job family within an existing job family group.WriteCompensation Job Family Create
Use this endpoint to create a new job family within an existing job family group. Job families group related job profiles under a common domain. Ensure you have the jobArchitecture.manage permission to perform this operation.
Inputs
descriptionstring- A brief description of the job family.
jobFamilyGroupobject- The job family group to which this job family belongs.
jobFamilyGroupIdstring- The unique identifier for the job family group to which this job family belongs.
namestring- The name of the job family to be created.
deelmcp_compensation_job_family_group_createCreates a new job family group — the top-level unit in the job architecture hierarchy used to group related job families.WriteCompensation Job Family Group Create
Creates a new job family group — the top-level unit in the job architecture hierarchy used to group related job families.
Inputs
descriptionstring- A brief description of the job family group.
namestring- The name of the job family group.
deelmcp_compensation_job_profile_createUse this endpoint to create a new job profile within a job family in the job architecture module.WriteCompensation Job Profile Create
Use this endpoint to create a new job profile within a job family in the job architecture module. Job profiles define seniority levels and tracks for workers. Ensure you have the jobProfile.manage permission to perform this operation.
Inputs
descriptionstring- A brief description of the job profile.
jobFamilyobject- The job family to which this job profile belongs.
jobFamilyIdstring- The unique identifier for the job family to which this job profile belongs.
levelnumber- The level of the job profile, indicating its seniority or complexity.
namestring- The name of the job profile.
trackstring- The position track to which the job profile belongs.
typestring- The type of the job profile, indicating its classification.one of
ANNUALHOURLY
deelmcp_compensation_market_bulk_assignAssigns multiple workers to sub-markets in a single request.WriteCompensation Market Bulk Assign
Assigns multiple workers to sub-markets in a single request. Each assignment maps a worker (by ID or email) to a sub-market. Workers can only belong to one sub-market; reassignment moves them automatically.
Inputs
allboolean- When true, targets every worker in the organization matching `filters`, except the ids in `unselectedWorkerIds`. When false/omitted, `selectedWorkerIds` is used.
filtersobject- Scopes the "all" selection. Only applied when `all` is true.
selectedWorkerIdsarray- HRIS profile OIDs of the workers to assign. Required when `all` is not true.
subMarketIdstring- The sub-market to assign the workers to.
unselectedWorkerIdsarray- HRIS profile OIDs to exclude when `all` is true.
deelmcp_compensation_market_group_createBulk creates market groups and their sub-markets.WriteCompensation Market Group Create
Bulk creates market groups and their sub-markets. Each group requires a name, currency code, and at least one sub-market with eligible worker types. Defines the market structure used for compensation bands.
Inputs
marketGroupsarray- Array of market groups to create
deelmcp_competencies_gapReturns the HrisOrganizationUser's current and next role card level expectations alongside their latest published review cycle.WriteCompetencies Gap
Returns the HrisOrganizationUser's current and next role card level expectations alongside their latest published review cycle.
Inputs
hris_organization_user_idstringrequired- The UUID of the HrisOrganizationUser to fetch the competencies gap for.
deelmcp_compliance_document_send_confirmStep 2 of 2: confirms and executes a pending send-document operation, assigning the custom document to the specified workers.WriteCompliance Document Send Confirm
Step 2 of 2: confirms and executes a pending send-document operation, assigning the custom document to the specified workers. Requires the execution_id returned by the preview step.
Inputs
execution_idstringrequired- The execution ID returned by the send preview step.
deelmcp_contract_bulk_update_createUse this endpoint to execute bulk contract updates asynchronously.WriteContract Bulk Update Create
Use this endpoint to execute bulk contract updates asynchronously. Currently, only completion_date updates for IC contracts are supported.
Inputs
dataobjectrequired- No description.
deelmcp_contract_createCreates a new contractor contract and returns it with its assigned `id`.WriteContract Create
Creates a new contractor contract and returns it with its assigned `id`. After creation, invite the contractor to sign via `POST /contracts/{contract_id}/invitations`.
Inputs
dataobjectrequired- No description.
deelmcp_contract_i9_dismissMarks the I-9 for a given contract as verified outside of DeelWriteContract I9 Dismiss
Marks the I-9 for a given contract as verified outside of Deel
Inputs
contract_idstringrequired- The unique identifier of the contract.
deelmcp_contract_milestone_review_bulk_createReview a batch of milestones to approve or reject submitted work.WriteContract Milestone Review Bulk Create
Review a batch of milestones to approve or reject submitted work.
Inputs
contract_idstringrequired- Deel contract id.
dataobjectrequired- No description.
deelmcp_contract_milestone_review_createReview a milestone to approve or decline submitted work.WriteContract Milestone Review Create
Review a milestone to approve or decline submitted work.
Inputs
contract_idstringrequired- Deel contract id.
dataobjectrequired- No description.
milestone_idstringrequired- ID of milestone to return
deelmcp_contract_off_cycle_payment_createCreates a new invoice line item for an off-cycle payment against a specific contract, for use when a payment must be issued outside the regular payment schedule.WriteContract Off Cycle Payment Create
Creates a new invoice line item for an off-cycle payment against a specific contract, for use when a payment must be issued outside the regular payment schedule.
Inputs
contract_idstringrequired- The unique identifier (ID) of the Deel contract for which the off-cycle payment is being created.
dataobject- No description.
deelmcp_contract_sign_invite_sendSends a signing invitation email to a worker, setting their email as the expected signer.WriteContract Sign Invite Send
Sends a signing invitation email to a worker, setting their email as the expected signer. Resets a previously rejected contract to signing-eligible. Cannot be called if the worker has already signed.
Inputs
contract_idstringrequired- Deel contract id.
dataobject- No description.
deelmcp_contract_task_bulk_reviewApproves or declines multiple submitted tasks associated with a contract in a single request.WriteContract Task Bulk Review
Approves or declines multiple submitted tasks associated with a contract in a single request. Each task review must include a status of approved or declined, with an optional reason required when declining.
Inputs
contract_idstringrequired- The unique Deel contract ID associated with the tasks.
dataobject- No description.
deelmcp_contract_task_createCreates a new task for the contractor associated with the specified contract.WriteContract Task Create
Creates a new task for the contractor associated with the specified contract. A task can include an amount, description, and submission date.
Inputs
contract_idstringrequired- The unique Deel contract ID associated with the task.
dataobject- No description.
deelmcp_contract_task_reviewSubmits an approval or rejection review for a task associated with a contract.WriteContract Task Review
Submits an approval or rejection review for a task associated with a contract. If the review status is declined, an optional reason may be included in the request body.
Inputs
contract_idstringrequired- The unique Deel contract ID associated with the task.
task_idstringrequired- The unique ID of the task to be reviewed.
dataobject- No description.
deelmcp_contract_updateSets an external identifier to link internal reference IDs (e.g.WriteContract Update
Sets an external identifier to link internal reference IDs (e.g. employee numbers, ERP keys) to a Deel worker. Must be unique. Can be used as a filter when listing contracts.
Inputs
contract_idstringrequired- Deel contract id.
dataobjectrequired- No description.
deelmcp_create_check_in_task_itemsAtomically creates a batch of task items within the given CheckInSession.WriteCreate Check In Task Items
Atomically creates a batch of task items within the given CheckInSession. Task items may be referred to generically as items, points, talking points, discussion points, follow-ups, agenda items, or action items — section_slug distinguishes agenda from act
Inputs
check_in_session_idstringrequired- The UUID of the CheckInSession to add task items to.
dataobjectrequired- Atomic batch creation payload. All items succeed together or none are persisted; partial success is not possible.
deelmcp_createAnalyticsDashboardCreates a dashboard from tiles that already exist.WriteCreate Analytics Dashboard
Creates a dashboard from tiles that already exist. Use this to group saved visualizations into a single view — create or list the tiles first via POST or GET /rest/organizations/analytics/tiles, since at least one tile ID is required. The dashboard name must be unique within the organization.
Inputs
dataobjectrequired- No description.
deelmcp_createAtsAttachmentFile_v2026_01_01_betaBETA - new endpoint, stable from 2026-12-29; behavior may change until then.WriteCreate Ats Attachment File V2026 01 01 Beta
BETA - new endpoint, stable from 2026-12-29; behavior may change until then. Uploads a file and attaches it to an ATS candidate, offer, or job activity. Use this in preference to POST /rest/ats/candidates/{candidate_id}/attachments, which only accepts a candidate CV, whenever you need to attach any other file type.
Inputs
attachable_idstringrequired- Unique identifier of the entity the file is attached to
attachable_type_slugstringrequired- Type of the entity the file is attached toone of
CANDIDATEOFFERJOB_ACTIVITY attachment_type_slugstringrequired- Type of the attachment being createdone of
CVLOGOOFFER_LETTEROTHER
deelmcp_createCustomMeasureDefines a new measure on a data model: an aggregation (sum, count, avg, min, max, countDistinct or runningTotal) over a member or SQL expression, optionally filtered.WriteCreate Custom Measure
Defines a new measure on a data model: an aggregation (sum, count, avg, min, max, countDistinct or runningTotal) over a member or SQL expression, optionally filtered. Use this when the built-in measures do not answer a question; the returned api_name can then be queried like any other measure.
Inputs
dataobjectrequired- No description.
deelmcp_CreateGoalAttachmentClaims a goals file (for example a bulk import CSV) uploaded to the Deel File API and returns a download link that expires within 1 hour.WriteCreate Goal Attachment
Claims a goals file (for example a bulk import CSV) uploaded to the Deel File API and returns a download link that expires within 1 hour. Upload the file first to get file_id and one_time_secret, then share download_url with the person. Files are deleted after 1 day; to get a new link, generate and upload the file again.
Inputs
dataobjectrequired- No description.
deelmcp_createGpWorker_v2026_10_01_betaBETA - new endpoint, stable from 2027-01-12; behavior may change until then.WriteCreate Gp Worker V2026 10 01 Beta
BETA - new endpoint, stable from 2027-01-12; behavior may change until then. Creates a Global Payroll worker and their contract in a single call, so API clients and partner integrations can onboard Global Payroll workers directly instead of using the legacy `POST /rest/contracts/gp` flow. No invitation email is sent to the worker unless the request asks for one.
Inputs
dataobjectrequired- No description.
deelmcp_customTemplateCommentResolve_v2026_08_18Marks a comment on a custom document template as resolved, which is how feedback that has been dealt with is closed out.WriteCustom Template Comment Resolve V2026 08 18
Marks a comment on a custom document template as resolved, which is how feedback that has been dealt with is closed out. Only the comment the authenticated user wrote may be resolved, unless that user is an organization admin, who may resolve any comment on the template. Resolving a comment that is already resolved changes nothing. The comment and its replies are kept and stay readable.
Inputs
comment_idstringrequired- UUID of the comment to resolve
template_external_idstringrequired- External ID of the custom template
deelmcp_customTemplateInviteList_v2026_08_18Lists the people invited to contribute to a custom document template from outside the organization, newest first.WriteCustom Template Invite List V2026 08 18
Lists the people invited to contribute to a custom document template from outside the organization, newest first. Every invite is returned whatever its status, so use status to tell a live invitation from a cancelled or expired one. Returns one page: when has_more is true, pass next_cursor back as cursor to read the following page.
Inputs
template_external_idstringrequired- External ID of the custom template
cursorstring- The next_cursor from a previous response, to read the page after it. Omit for the first page
limitinteger- Maximum number of invites to return (1-100, default 20)
deelmcp_delay_eor_employee_onboardingDelay EOR employee onboardingWriteDelayEorEmployeeOnboarding
Delay EOR employee onboarding
Inputs
dataobjectrequired- No description.
oidstringrequired- Contract oid
deelmcp_development_plan_get_detailsReturns a development plan assignment with its action items for the specified user, including the rich text content.WriteDevelopment Plan Get Details
Returns a development plan assignment with its action items for the specified user, including the rich text content. Use this endpoint to pull in full details of a development plan when you need it as context for generating insights.
Inputs
hris_organization_user_idstringrequired- UUID of the HRIS organization user whose development plan to retrieve.
idstringrequired- UUID of the development plan assignment to retrieve.
deelmcp_document_bulk_reminder_confirmSend reminder notifications to workers with a pending document assignmentWriteDocument Bulk Reminder Confirm
Send reminder notifications to workers with a pending document assignment
Inputs
execution_idstringrequired- The execution ID returned by the bulk-remind preview step.
deelmcp_document_compliance_remindSends a reminder email to specific workers about a pending custom document.WriteDocument Compliance Remind
Sends a reminder email to specific workers about a pending custom document. Has a built-in 24-hour rate limit per worker — workers reminded within the last 24 hours are silently skipped.
Inputs
document_template_idstringrequired- Unique identifier of the document template.
workerIdsarrayrequired- List of worker IDs to send reminders to. Between 1 and 100.
customMessagestring- Optional custom message to include in the reminder email.
titlestring- Optional custom subject line for the reminder email.
deelmcp_downloadScheduledReportFileStreams the raw bytes of one generated file (csv, xlsx or pdf) with a Content-Disposition attachment header.WriteDownload Scheduled Report File
Streams the raw bytes of one generated file (csv, xlsx or pdf) with a Content-Disposition attachment header. Use this with a file_id from GET /rest/organizations/analytics/scheduled-reports/{id}/files; a non-admin may only download files generated for their own profile.
Inputs
file_idstringrequired- Generated file identifier
idstringrequired- Scheduled report identifier
deelmcp_engage_get_hou_competencies_and_review_feedbacksReturns the current competencies from career assignments and review cycle feedbacks for a given HRIS organization user and review cycle.WriteEngage Get Hou Competencies And Review Feedbacks
Returns the current competencies from career assignments and review cycle feedbacks for a given HRIS organization user and review cycle. Competencies include the title, description, and expectation for the user's role.
Inputs
hris_organization_user_idstringrequired- The UUID of the HrisOrganizationUser to fetch the competencies and review cycle feedbacks for.
review_cycle_idstringrequired- The UUID of the ReviewCycle to fetch
deelmcp_engage_get_worker_current_career_pathReturns the current career path assignment for an HrisOrganizationUser, including the career path and level.WriteEngage Get Worker Current Career Path
Returns the current career path assignment for an HrisOrganizationUser, including the career path and level. Use this endpoint to ground development plan drafting in where someone already is, so suggestions target the level they are moving to.
Inputs
hris_organization_user_idstringrequired- UUID of the HRIS organization user whose current career path assignment to retrieve.
deelmcp_engage_list_org_worker_career_pathsReturns career path assignments for the organization, including the user, the career path they sit on and its level.WriteEngage List Org Worker Career Paths
Returns career path assignments for the organization, including the user, the career path they sit on and its level. Use this endpoint to find who sits on a given path or level, for example to compare someone against peers before drafting a plan.
Inputs
cursorstring- Opaque pagination cursor returned from a previous response. Omit to start from the first page.
limitinteger- Maximum number of career path assignments to return. Defaults to 10. Maximum 50.
deelmcp_engage_list_proficiency_levelsReturns proficiency levels for the organization, including their name, description, position, and color theme.WriteEngage List Proficiency Levels
Returns proficiency levels for the organization, including their name, description, position, and color theme. Proficiency levels define the organization's competency rating scale (e.g. Beginner to Expert), and competency levels are mapped to them. Use th
Inputs
sort_bystring- Field to sort results by. Defaults to position.one of
namepositioncreated_atupdated_at sort_orderstring- Sort direction (ascending or descending).one of
ASCDESC
deelmcp_engage_tag_listReturns a paginated list of Deel Engage tags for the organization.WriteEngage Tag List
Returns a paginated list of Deel Engage tags for the organization. Tags are organization-scoped labels that can be attached to goals, competencies, journeys, learning resources, and other Engage entities to group and filter them. Use this endpoint to disc
Inputs
cursorstring- Opaque pagination cursor returned from a previous response. Omit to start from the first page.
limitinteger- Maximum number of tags to return. Defaults to 20. Maximum 50.
querystring- Free-text search query. Filters tags whose title contains this string.
tag_idsarray- Filter to only these tag UUIDs.
deelmcp_EnrolInCourseEnrols the calling user in a course discovered via ListLibraryCourses or ListRecommendedCourses, letting them self-enrol without needing an admin to assign it.WriteEnrol In Course
Enrols the calling user in a course discovered via ListLibraryCourses or ListRecommendedCourses, letting them self-enrol without needing an admin to assign it. The enrolment always applies to the authenticated caller, never another worker.
Inputs
dataobjectrequired- Empty data wrapper required for MCP POST requests.
versioned_journey_idstringrequired- UUID of the VersionedJourney to self-assign or unassign.
deelmcp_eor_amendment_acceptAccepts a pending amendment on an EOR worker contract, formally approving the proposed modifications on the client's behalf.WriteEor Amendment Accept
Accepts a pending amendment on an EOR worker contract, formally approving the proposed modifications on the client's behalf. The amendment must already exist and be in a pending state before this operation can be called.
Inputs
amendment_idstringrequired- A unique identifier for the employee contract amendment.
contract_idstringrequired- The unique identifier of EOR worker contract.
deelmcp_eor_amendment_confirmConfirms a draft amendment on an EOR contract and initiates the review process, routing it to Deel and the employee for acknowledgment and approval.WriteEor Amendment Confirm
Confirms a draft amendment on an EOR contract and initiates the review process, routing it to Deel and the employee for acknowledgment and approval. The amendment must exist in a confirmable state prior to calling this endpoint.
Inputs
amendment_idstringrequired- A unique identifier for the employee contract amendment.
contract_idstringrequired- The unique identifier of EOR worker contract.
deelmcp_eor_amendment_createCreates a new amendment for an EOR contract, supporting changes to salary, currency, effective date, and other terms.WriteEor Amendment Create
Creates a new amendment for an EOR contract, supporting changes to salary, currency, effective date, and other terms. Validated against applicable business and regulatory rules.
Inputs
contract_idstringrequired- The unique identifier of the EOR worker contract
dataobject- No description.
deelmcp_eor_amendment_updateApplies a partial update to a specific EOR contract amendment.WriteEor Amendment Update
Applies a partial update to a specific EOR contract amendment. The amendment must be in DRAFT status; updates to amendments in any other state will be rejected. This operation overwrites existing draft data and cannot be undone.
Inputs
amendment_idstringrequired- A unique identifier for the employee contract amendment. This string is either supplied by the client or generated by the system and is used to uniquely identify the amendment during upsert operations.
contract_idstringrequired- The unique identifier of EOR worker contract.
dataobject- No description.
deelmcp_eor_assignment_acceptRecords client approval of a project assignment for an EOR contract, confirming that the terms have been reviewed and accepted.WriteEor Assignment Accept
Records client approval of a project assignment for an EOR contract, confirming that the terms have been reviewed and accepted.
Inputs
contract_idstringrequired- The unique identifier of the employee contract.
dataobject- No description.
deelmcp_eor_assignment_checkin_submitSubmits completed answers for a project assignment checkin questionnaire.WriteEor Assignment Checkin Submit
Submits completed answers for a project assignment checkin questionnaire. All required questionnaire fields must be included; partial submissions are not accepted.
Inputs
contract_idstringrequired- The unique identifier of the contract.
dataobject- Form submission payload containing respondent type, question answers, and optional version.
deelmcp_eor_contract_document_signApplies a signature and job title to a specified EOR contract document.WriteEor Contract Document Sign
Applies a signature and job title to a specified EOR contract document. Currently only the `FRAMEWORK_AGREEMENT` document type is supported.
Inputs
contract_idstringrequired- EOR contract ID
typestringrequired- The type of document. Currently only FRAMEWORK_AGREEMENT is supported.one of
FRAMEWORK_AGREEMENT dataobject- No description.
deelmcp_eor_contract_updateApplies partial updates to mutable fields of an EOR contract, such as salary, job title, or benefits.WriteEor Contract Update
Applies partial updates to mutable fields of an EOR contract, such as salary, job title, or benefits. Only fields included in the request body are modified; fields required for validation must still be present.
Inputs
contract_idstringrequired- The unique identifier of the employee contract.
dataobjectrequired- No description.
deelmcp_eor_offboarding_client_sign_off_reviewSubmits a client sign-off decision—approval or change request—for the offboarding documents of a specific contract during the client sign-off step.WriteEor Offboarding Client Sign Off Review
Submits a client sign-off decision—approval or change request—for the offboarding documents of a specific contract during the client sign-off step.
Inputs
contract_idstringrequired- The unique identifier of the employee contract.
dataobjectrequired- No description.
deelmcp_eor_worker_createSubmits details for an Employee of Record (EOR) contract and returns a quote.WriteEor Worker Create
Submits details for an Employee of Record (EOR) contract and returns a quote. Deel processes the submitted information and returns pricing, compensation, and health plan details before the contract is activated.
Inputs
dataobjectrequired- No description.
deelmcp_eor_worker_info_updatePartially updates employee information on an EOR contract.WriteEor Worker Info Update
Partially updates employee information on an EOR contract. Only documented fields are accepted. Restricted to contracts in pre-signature or review statuses; other statuses return a validation error.
Inputs
contract_idstringrequired- The unique identifier of the employee contract.
dataobject- No description.
deelmcp_eor_worker_profile_createCreates an EOR worker record and returns the associated `user_id`, `profile_id`, and `hris_profile_id`.WriteEor Worker Profile Create
Creates an EOR worker record and returns the associated `user_id`, `profile_id`, and `hris_profile_id`.
Inputs
dataobject- No description.
deelmcp_ExportCompensationBandsController_export_v1Exports all compensation bands for the caller organization as a downloadable CSV.WriteExport Compensation Bands Controller Export V1
Exports all compensation bands for the caller organization as a downloadable CSV. Use this when reviewing existing band data as part of the AI-assisted compensation band creation workflow, before creating or updating bands, or when handing off band data to external reporting tools.
Inputs
compensationBandIdsstring- Comma-separated list of compensation band IDs to filter by
currenciesstring- Comma-separated list of currency codes to filter byone of
USDCAFNBYRCLFCUCBIFGGPIMPBTNIRRCDFJEPLRDXDRZMKERNHRKKPWLSLLTLLVLMGAMROSDGSLLSSPSYPTJSTMTCVEDJFGNFKMFRWFAEDALLAMDANGAOAAWGAZNBAMBBDBDTBGNBMDBNDBSDBWPBYNBZDCHFCNYCZKXAGXAUZWLIDRJPYKRWPYGUGXVESVNDARSAUDBOBBRLCADCLPCOPCRCDOPEURGTQHNLMXNNZDPABPENUSDUYUVUVXAFXOFXPFDKKDZDEGPETBFJDFKPGBPGELGHSGIPGMDGYDHKDHTGILSINRISKJMDKGSKHRKYDKZTLAKLBPLKRMADMDLMKDMMKMNTMOPMRUMURMVRMWKMYRMZNNADNGNNOKNPRPGKPHPPKRPLNQARRONRSDRUBSARSBDSCRSEKSGDSHPSOSSRDSTNSZLTHBTOPTRYTTDTZSUAHUZSWSTXCDYERZARZMWCUPNIOSVCHUFBHDIQDJODKWDLYDOMRTNDKESTWDSLEZWGVED currencystring- Convert monetary values to this currency codeone of
USDCAFNBYRCLFCUCBIFGGPIMPBTNIRRCDFJEPLRDXDRZMKERNHRKKPWLSLLTLLVLMGAMROSDGSLLSSPSYPTJSTMTCVEDJFGNFKMFRWFAEDALLAMDANGAOAAWGAZNBAMBBDBDTBGNBMDBNDBSDBWPBYNBZDCHFCNYCZKXAGXAUZWLIDRJPYKRWPYGUGXVESVNDARSAUDBOBBRLCADCLPCOPCRCDOPEURGTQHNLMXNNZDPABPENUSDUYUVUVXAFXOFXPFDKKDZDEGPETBFJDFKPGBPGELGHSGIPGMDGYDHKDHTGILSINRISKJMDKGSKHRKYDKZTLAKLBPLKRMADMDLMKDMMKMNTMOPMRUMURMVRMWKMYRMZNNADNGNNOKNPRPGKPHPPKRPLNQARRONRSDRUBSARSBDSCRSEKSGDSHPSOSSRDSTNSZLTHBTOPTRYTTDTZSUAHUZSWSTXCDYERZARZMWCUPNIOSVCHUFBHDIQDJODKWDLYDOMRTNDKESTWDSLEZWGVED includeOnlyBandsWithAssignedWorkersboolean- If true, only bands with at least one assigned worker will be exported.
jobProfilesstring- Comma-separated list of job profile IDs to filter by
marketsstring- Comma-separated list of market IDs to filter by
scalesstring- Comma-separated list of salary scales to filter byone of
ANNUALMONTHLYHOURLY searchstring- Search term to filter by job profile name
statusesstring- Comma-separated list of band statuses to filter byone of
COMPLETEINCOMPLETEEMPTY workerTypesstring- Comma-separated list of worker types to filter byone of
CONTRACTORDIRECT_EMPLOYEEDIRECT_EMPLOYEE_PAYROLLEOR_EMPLOYEEPEO_EMPLOYEEUNSPECIFIED
deelmcp_ExportJobStructureV3Controller_export_v3Exports job family groups, job families, and job profiles as a CSV file for offline analysis or downstream integration.WriteExport Job Structure V3 Controller Export V3
Exports job family groups, job families, and job profiles as a CSV file for offline analysis or downstream integration. Use this when you need bulk job-architecture data outside the platform — select specific profiles, or export everything matching optional filters.
Inputs
allboolean- When true, exports every job profile matching `filters` (or all of them if no filters), except the ids in `unselectedJobProfileIds`. When false/omitted, `selectedJobProfileIds` is exported.
filtersobject- Scopes the "all" selection. Only applied when `all` is true.
headersarray- Headers to include in the export
selectedJobProfileIdsarray- Ids of the job profiles to export. Required when `all` is not true.
unselectedJobProfileIdsarray- Ids to exclude from the export when `all` is true.
deelmcp_external_org_worker_relation_createCreates a hierarchical worker relation between a worker and their subordinates, using external IDs to identify all parties.WriteExternal Org Worker Relation Create
Creates a hierarchical worker relation between a worker and their subordinates, using external IDs to identify all parties. The request body must supply the external IDs of both the parent and child workers along with the relation type.
Inputs
dataobject- No description.
deelmcp_fileVerificationAttach_v2026_09_09Adds a QR verification page to a PDF so a printout reader can check it is genuine.WriteFile Verification Attach V2026 09 09
Adds a QR verification page to a PDF so a printout reader can check it is genuine. Upload the PDF to the File Service first, then send its file_id and one_time_secret as claim_file — or source_url instead, never both. Generated the content yourself? Use file_verification_render_html instead. Answers PENDING: poll file_verification_get, then call file_verification_claim_result. A signed or form PDF fails with a failure_reason. Retry with idempotency_key and a fresh claim_file pair.
Inputs
setup_namestringrequired- Feature setup your integration is registered under, for example TIME_OFF_CERTIFICATE. A name that is registered nowhere answers 404 — use the one your integration was given, do not invent it
claim_fileobject- Claim pair for a file you already uploaded to the File Service (file_id + one_time_secret). Provide this or source_url, never both. Always claim with a fresh pair — a pair reused from a failed or earlier call is already spent
extra_rowsarray- Extra label/value rows to print on the verification page, at most 10
file_namestring- Display name for the finished PDF. Omitted falls back to the source file name
idempotency_keystring- Your own key for this attachment. Send one and a repeat returns the verification you already created instead of a second one; the repeat body is discarded. Without a key, calling this tool twice creates two verifications and attaches two pages. This only covers a repeat that finds an existing verification — if the first call failed before creating one (for example the claim itself failed), a retry still claims again, so send a fresh claim_file pair, never the one from the failed call
issued_atstring- When the document was issued (ISO 8601). Omitted leaves the row off the printed page — it is never inferred for you
issued_bystring- Who issued the document. Omitted leaves the row off the printed page
languagestring- BCP-47 language tag for the verification page, for example "es" or "pt-BR". Omitted renders it in English. The page is printed and read by a person outside Deel, so pick the language that person reads
source_urlstring- Address the PDF can be downloaded from, as an alternative to claim_file. Only hosts on the download allow-list are fetched
deelmcp_fileVerificationClaimResult_v2026_09_09Transfers the finished PDF to you and answers with the file_id and one_time_secret to pass to your own claimFile call.WriteFile Verification Claim Result V2026 09 09
Transfers the finished PDF to you and answers with the file_id and one_time_secret to pass to your own claimFile call. Use it once file_verification_get reports COMPLETED. The secret is single-use: a second call transfers again and returns a different pair, so a retry must use the newest pair. Refused while the verification is not COMPLETED, and refused once revoked — revocation stops this call and stops a new download_url being minted, but a download_url already handed out stays usable until it expires.
Inputs
idstringrequired- Identifier of the verification whose result you are claiming
setup_namestringrequired- Feature setup your integration is registered under, for example TIME_OFF_CERTIFICATE. A name that is registered nowhere answers 404 — use the one your integration was given, do not invent it
deelmcp_fileVerificationGet_v2026_09_09Reads the current state of a verification.WriteFile Verification Get V2026 09 09
Reads the current state of a verification. This is the polling tool after file_verification_attach: repeat until the status is COMPLETED, or FAILED with a failure_reason. Safe to repeat as often as you need. Set include_download_url=true to also get a short-lived link to the finished PDF; it is null unless the status is COMPLETED, and null once revoked. The link is borrowed and expires — to own the file, use file_verification_claim_result. An id you do not own is treated the same as one that doesn't exist.
Inputs
idstringrequired- Identifier returned when the verification was created
setup_namestringrequired- Feature setup your integration is registered under, for example TIME_OFF_CERTIFICATE. A name that is registered nowhere answers 404 — use the one your integration was given, do not invent it
include_download_urlboolean- Set true to also mint a short-lived download link for the finished PDF. Defaults to false
deelmcp_fileVerificationRenderHtml_v2026_09_09Renders HTML you generated yourself into a verified, QR-coded PDF and returns the claimable result in the same response, with no polling and no separate claim call.WriteFile Verification Render Html V2026 09 09
Renders HTML you generated yourself into a verified, QR-coded PDF and returns the claimable result in the same response, with no polling and no separate claim call. Use this instead of the attach flow when you have HTML content rather than an existing PDF file to upload.
Inputs
htmlstringrequired- The complete document as an HTML page. It must contain at least one <div data-qr-code="true"></div> placeholder, which is replaced with the QR code; everything else is rendered exactly as you wrote it. Scripts, iframes, inline event handlers and meta refresh are refused
setup_namestringrequired- Feature setup your integration is registered under, for example TIME_OFF_CERTIFICATE. A name that is registered nowhere answers 404 — use the one your integration was given, do not invent it
file_namestring- Display name for the rendered PDF. Omitted falls back to a generated name
idempotency_keystring- Your own key for this render. Send one and a repeat returns the same verification and a fresh claim instead of rendering a second document. Without a key, calling this tool twice renders two documents
languagestring- BCP-47 language tag for the verification page, for example "es" or "pt-BR". Omitted renders it in English
deelmcp_GetAkaiMetadataController_execute_v1Retrieves previously saved Akai compensation configuration for the organization.WriteGet Akai Metadata Controller Execute V1
Retrieves previously saved Akai compensation configuration for the organization. Call this at the start of an Akai session to check whether setup data already exists before asking the user to provide it again.
Inputs
This tool takes no inputs.
deelmcp_getAnalyticsDashboardByIdReads one dashboard in full, including its tiles and their layout.WriteGet Analytics Dashboard By Id
Reads one dashboard in full, including its tiles and their layout. Use this after listing dashboards via GET /rest/organizations/analytics/dashboards to see which tiles a dashboard contains before updating it with PATCH /rest/organizations/analytics/dashboards/{dashboard_id}.
Inputs
dashboard_idstringrequired- Dashboard UUID v4 identifier
deelmcp_getAnalyticsTileByIdReads one analytics tile in full, including the serialized CubeJS query behind it.WriteGet Analytics Tile By Id
Reads one analytics tile in full, including the serialized CubeJS query behind it. Use this after listing tiles via GET /rest/organizations/analytics/tiles when the list entry is not enough — for example to inspect or copy a tile's query before refining it with PATCH /rest/organizations/analytics/tiles/{tile_id}.
Inputs
tile_idstringrequired- Tile UUID v4 identifier
deelmcp_GetCourseReturns a course (VersionedJourney) by id, including the steps of its currently published version.WriteGet Course
Returns a course (VersionedJourney) by id, including the steps of its currently published version. Use this to review a course's content before recommending it or reporting on it. Users who are not Learning admins must be a collaborator on the course to access it.
Inputs
idstringrequired- The UUID of the VersionedJourney to retrieve.
deelmcp_GetCourseEnrolmentUse this once you have identified an enrolment and the ListCourseEnrolments summary is not enough: it returns every result the course recorded for that learner, including step and block completions (and whether an administrator forced them), every quiz attempt with its score and pass state, survey and acknowledgement answers, SCORM data and active learning time.WriteGet Course Enrolment
Use this once you have identified an enrolment and the ListCourseEnrolments summary is not enough: it returns every result the course recorded for that learner, including step and block completions (and whether an administrator forced them), every quiz attempt with its score and pass state, survey and acknowledgement answers, SCORM data and active learning time. Third-party content is referenced, never the asset. Same access rules as ListCourseEnrolments.
Inputs
idstringrequired- UUID of the JourneyAssignment (course enrolment).
deelmcp_getCustomMeasureByIdReads one custom measure in full, including its aggregation, filters and presentation metadata.WriteGet Custom Measure By Id
Reads one custom measure in full, including its aggregation, filters and presentation metadata. Use this after listing measures via GET /rest/organizations/analytics/custom-measures, for example to copy a definition before changing it with PATCH.
Inputs
idstringrequired- Custom measure identifier
deelmcp_getInterviewTranscript_betaBETA - new endpoint, stable from 2027-01-16; behavior may change until then.WriteGet Interview Transcript Beta
BETA - new endpoint, stable from 2027-01-16; behavior may change until then. Returns the transcript of an interview as a paginated, ordered list of speaker segments. Only returned for organizations with Interview Assistant enabled, for interviews where the candidate consented to recording and transcription.
Inputs
interview_idstringrequired- Unique identifier of the interview to retrieve the transcript for.
cursorstring- Pagination cursor returned by a previous response.
limitinteger- Maximum number of transcript segments to return per page.
deelmcp_getPoliciesForOrganizationLook up an organization's time-off policies, most commonly to resolve a policy_id for use with Get Profiles Assigned to Policy, or to audit policy configuration (allowances, tracking rules) before assigning workers or reviewing compliance.WriteGet Policies For Organization
Look up an organization's time-off policies, most commonly to resolve a policy_id for use with Get Profiles Assigned to Policy, or to audit policy configuration (allowances, tracking rules) before assigning workers or reviewing compliance. Filter by policy_type to narrow results to the leave categories relevant to your integration; each result's assigned profile count lets you spot unused or over-assigned policies without an extra call.
Inputs
countryarray- Filter by country codes
has_workers_assignedboolean- Filter by assignment status
nextstring- Pagination token from the previous response (next)
page_sizeinteger- Items per page (max 50)
policy_namestring- Filter by policy name (case-insensitive search)
policy_typearray- Filter by policy type names
state_or_regionarray- Filter by state/region codes
worker_types_assignedarray- Filter by worker types
deelmcp_GetReviewCycleRetrieves the feedback a user has received as a reviewee in a review cycle, grouped by feedback type.WriteGet Review Cycle
Retrieves the feedback a user has received as a reviewee in a review cycle, grouped by feedback type. Use this to see what others submitted about a user, as opposed to the feedback a user has given. A user can read their own received feedback; reading another user's requires manager or admin access.
Inputs
hris_organization_user_idstringrequired- UUID of the HrisOrganizationUser whose review cycle to retrieve.
review_cycle_idstringrequired- UUID of the review cycle to retrieve.
deelmcp_GetReviewCycleGivenFeedbackRetrieves the feedback a user has given as a reviewer in a review cycle, spanning every reviewee they were assigned, grouped by feedback type.WriteGet Review Cycle Given Feedback
Retrieves the feedback a user has given as a reviewer in a review cycle, spanning every reviewee they were assigned, grouped by feedback type. Use this to see what a reviewer submitted about others, as opposed to the feedback a user received. A user can read their own given feedback; reading another user's requires admin access.
Inputs
hris_organization_user_idstringrequired- UUID of the HrisOrganizationUser whose given feedback to retrieve.
review_cycle_idstringrequired- UUID of the review cycle to retrieve given feedback for.
deelmcp_GetReviewCycleSubmissionStatusReports whether a user has completed their required review-cycle tasks, such as self-reviews or peer feedback, at the current point in the cycle.WriteGet Review Cycle Submission Status
Reports whether a user has completed their required review-cycle tasks, such as self-reviews or peer feedback, at the current point in the cycle. Use this to check completion status rather than to read submitted content. A user can check their own status; checking another user's requires manager or admin access.
Inputs
hris_organization_user_idstringrequired- UUID of the HrisOrganizationUser whose submission status to retrieve.
review_cycle_idstringrequired- UUID of the review cycle to retrieve submission status for.
deelmcp_getScheduledReportByIdReads one schedule in full, including resolved recipients, last run outcome and next run.WriteGet Scheduled Report By Id
Reads one schedule in full, including resolved recipients, last run outcome and next run. Use this after listing schedules via GET /rest/organizations/analytics/scheduled-reports, or to verify a change made with PATCH.
Inputs
idstringrequired- Scheduled report identifier
deelmcp_getWorkStatementPaymentPoliciesUse this endpoint to discover the payment policies configured for the authenticated organization and to pick the policy ID to reference when creating a contract.WriteGet Work Statement Payment Policies
Use this endpoint to discover the payment policies configured for the authenticated organization and to pick the policy ID to reference when creating a contract. A payment policy is a reusable payment cycle configuration — when a cycle ends, when payment falls due, and whether payment moves earlier when the due date lands on a weekend.
Inputs
This tool takes no inputs.
deelmcp_goal_createCreates a new goal and returns its ID and title.WriteGoal Create
Creates a new goal and returns its ID and title. Use this endpoint to programmatically create individual, team, or company-wide goals with configurable progress tracking. Required fields: title, goal_type, visibility, and progress_config. Team goals also
Inputs
dataobjectrequired- Parameters for creating a new goal.
deelmcp_goal_cycle_listReturns a paginated list of goal cycles for the organization.WriteGoal Cycle List
Returns a paginated list of goal cycles for the organization. A goal cycle is a time-boxed period (e.g. "Q2 2025") in which goals are set and tracked. Statuses: "scheduled" (not started), "draft" (goal-setting open, not live), "active" (cycle running), "e
Inputs
cursorstring- Opaque pagination cursor returned from a previous response. Omit to start from the first page.
goal_cycle_idsarray- Filter to only these goal cycle UUIDs.
goal_cycle_statusesarray- Filter by goal cycle status. "scheduled" — not yet started; "draft" — in draft period; "active" — currently active; "ended" — past end date.
has_milestonesboolean- When true, returns only goal cycles that have at least one milestone. When omitted or false, returns all goal cycles regardless of milestone presence.
limitinteger- Maximum number of goal cycles to return. Defaults to 20. Maximum 50.
querystring- Free-text search query. Filters goal cycles whose title contains this string.
deelmcp_goal_progress_updateUpdates the progress of goal by recording a new progress entry for the specified goal.WriteGoal Progress Update
Updates the progress of goal by recording a new progress entry for the specified goal. The value must be a numeric string. An optional comment can be provided to describe the progress update.
Inputs
dataobjectrequired- Fields for recording progress on a goal.
goal_idstringrequired- The UUID of the goal to record progress for.
deelmcp_goal_updatePartially updates an existing goal.WriteGoal Update
Partially updates an existing goal. Only included fields are changed; omitted fields are left as-is. Mutable: title, description, goal_type, visibility, starts_at, due_at, assignee_hris_organization_user_ids (use get_people_by_name for IDs), goal_cycle_id
Inputs
dataobjectrequired- Fields to update on the goal. Only provided fields will be changed.
goal_idstringrequired- The UUID of the goal to update.
deelmcp_gp_bank_account_createAdds a bank account for the GP worker; country-specific field requirements must be retrieved from `GET /gp/workers/{worker_id}/banks/guide` before submitting.WriteGp Bank Account Create
Adds a bank account for the GP worker; country-specific field requirements must be retrieved from `GET /gp/workers/{worker_id}/banks/guide` before submitting.
Inputs
dataobjectrequired- No description.
worker_idstringrequired- Unique identifier for a worker in UUID format.
deelmcp_gp_bank_account_updatePartially updates the bank account for the worker; only fields provided in the request body are modified.WriteGp Bank Account Update
Partially updates the bank account for the worker; only fields provided in the request body are modified.
Inputs
bank_idstringrequired- Unique identifier for the bank account in UUID format.
worker_idstringrequired- Unique identifier for a worker in UUID format.
account_numberstring- The user's bank account number.
account_typestring- Bank account type.
ach_routing_numberstring- The ACH (Automated Clearing House) Routing Number.
address_line1string- The primary address line.
address_line2string- The secondary address line.
bank_branch_namestring- The name of the user's bank branch.
bank_codestring- The bank code.
bank_country_codestring- The country code where the bank is located.
bank_namestring- Name of the user's bank.
branch_codestring- The branch code of the user's bank.
citystring- The city of the user's address.
country_codestring- The country code of the user's address.
currency_codestring- The currency code for transactions.
emailstring- The user's email address.
full_namestring- Full name of the user.
ibanstring- The International Bank Account Number (IBAN).
original_namestring- The original name of the user.
phonestring- The user's phone number.
postalstring- The user's postal or ZIP code.
province_statestring- The state or province of the user's address.
rib_numberstring- The RIB (Relevé d'Identité Bancaire).
swift_bicstring- SWIFT/BIC code for the bank.
tax_idstring- The user's tax identification number.
deelmcp_gp_worker_additional_info_updatePartially updates the additional information on the contract; only fields supplied under the `data` object are modified.WriteGp Worker Additional Info Update
Partially updates the additional information on the contract; only fields supplied under the `data` object are modified.
Inputs
contract_idstringrequired- The unique public identifier of the contract.
dataobjectrequired- No description.
effective_datesobject- Per-field effective date (YYYY-MM-DD), keyed like `data`. Only allowed for effective-dated fields, and required whenever such a field is set to a new value (unchanged values and clears need no date). Past dates apply immediately as corrections, future dates are scheduled.
include_completion_statusboolean- Pass `true` to receive a 200 response with `is_additional_data_done` and `missing_keys` instead of the default 204 No Content.
deelmcp_gp_worker_address_updatePartially updates the address on record for the GP employee.WriteGp Worker Address Update
Partially updates the address on record for the GP employee.
Inputs
dataobjectrequired- No description.
worker_idstringrequired- Unique identifier for a worker in UUID format.
deelmcp_gp_worker_compensation_updateUpdates the compensation for the GP employee and returns the complete compensation history including the applied change.WriteGp Worker Compensation Update
Updates the compensation for the GP employee and returns the complete compensation history including the applied change.
Inputs
dataobjectrequired- No description.
worker_idstringrequired- Unique identifier for a worker in UUID format.
deelmcp_gp_worker_employee_info_updatePartially updates personal details, tax information, and employment-related fields for the GP worker.WriteGp Worker Employee Info Update
Partially updates personal details, tax information, and employment-related fields for the GP worker.
Inputs
dataobjectrequired- No description.
worker_idstringrequired- Unique identifier for a worker in UUID format.
deelmcp_gp_worker_info_addAdds supplementary fields to the contract, with the extra data supplied under the `data` object in the request body.WriteGp Worker Info Add
Adds supplementary fields to the contract, with the extra data supplied under the `data` object in the request body.
Inputs
contract_idstringrequired- The unique public identifier of the contract.
dataobjectrequired- No description.
deelmcp_gp_worker_pto_updateApplies a partial update to the PTO policy assigned to a Global Payroll worker.WriteGp Worker Pto Update
Applies a partial update to the PTO policy assigned to a Global Payroll worker. Only fields included in the request body are modified; omitted fields retain their current values.
Inputs
dataobjectrequired- No description.
worker_idstringrequired- Unique identifier for a worker in UUID format.
deelmcp_hr_suite_competenciesReturns competencies for the organization, including their title, description, competency group, and levels with their proficiency mapping.WriteHr Suite Competencies
Returns competencies for the organization, including their title, description, competency group, and levels with their proficiency mapping. Competencies define the skills and behaviors that role cards and career paths are built from. Use this endpoint whe
Inputs
competency_group_idsarray- Filter to competencies within specific competency groups.
cursorstring- Opaque pagination cursor returned from a previous response. Omit to start from the first page.
limitinteger- Maximum number of competencies to return. Defaults to 50. Maximum 100.
searchstring- Search term to filter competencies by title.
sort_bystring- Field to sort results by. Defaults to title.one of
titlecreated_atupdated_at sort_orderstring- Sort direction (ascending or descending).one of
ASCDESC
deelmcp_hr_suite_list_career_pathsReturns role cards (career paths) for the organization, including their name, description, and creation/update timestamps.WriteHr Suite List Career Paths
Returns role cards (career paths) for the organization, including their name, description, and creation/update timestamps. Role cards define the job roles within an organization's career framework.
Inputs
cursorstring- Opaque pagination cursor returned from a previous response. Omit to start from the first page.
limitinteger- Maximum number of role cards to return. Defaults to 50. Maximum 100.
sort_bystring- Field to sort results by. Defaults to name.one of
namecreated_atupdated_at sort_orderstring- Sort direction (ascending or descending).one of
ASCDESC
deelmcp_hr_suite_list_competency_groupsReturns competency groups for the organization, including their name, code, position, and default status.WriteHr Suite List Competency Groups
Returns competency groups for the organization, including their name, code, position, and default status. Competency groups organize the competency library into sections (e.g. Engineering, Leadership). Use this endpoint when you need to discover the group
Inputs
sort_bystring- Field to sort results by. Defaults to position.one of
namepositioncreated_atupdated_at sort_orderstring- Sort direction (ascending or descending).one of
ASCDESC
deelmcp_immigration_case_createCreates a new immigration case for a worker.WriteImmigration Case Create
Creates a new immigration case for a worker. The appropriate visa type must be determined before calling this endpoint.
Inputs
datastring- No description.
deelmcp_indirect_reportsReturns the recursive org-chart subtree of reports below a manager (both direct and indirect reports), with the depth of each report relative to the manager.WriteIndirect Reports
Returns the recursive org-chart subtree of reports below a manager (both direct and indirect reports), with the depth of each report relative to the manager. Optionally limit the traversal depth or filter reports by name.
Inputs
manager_idstringrequired- The public ID of the manager (HRIS profile) whose reports should be returned.
hrisRelationshipTypeIdstring- Traverse relationships of this relationship type. Defaults to the organization default relationship type.
indirectReportHrisProfileOidstring- Restrict the subtree to the branch that contains this specific report (HRIS profile public ID).
maxDepthinteger- Maximum depth of the org-chart subtree to traverse. Depth 1 returns only direct reports.
searchstring- Case-insensitive substring to match against the display name of reports.
deelmcp_invoice_adjustment_createCreates an invoice adjustment — such as a bonus, commission, VAT percentage, or deduction — against a contract.WriteInvoice Adjustment Create
Creates an invoice adjustment — such as a bonus, commission, VAT percentage, or deduction — against a contract. Pass the `recurring` query parameter to apply the adjustment automatically to future invoices.
Inputs
dataobjectrequired- Payload attributes required to create one invoice adjustment with optional approval, preset, and grouping metadata.
recurringstring- Add this invoice adjustment as recurring
deelmcp_invoice_adjustment_reviewSubmits an approve or decline review decision for a single invoice adjustment.WriteInvoice Adjustment Review
Submits an approve or decline review decision for a single invoice adjustment.
Inputs
dataobjectrequired- No description.
idstringrequired- ID of an existing invoice adjustment.
deelmcp_invoice_payroll_adjustment_createCreates a new payroll adjustment for a contract, modifying the payment amount on the next payment cycle.WriteInvoice Payroll Adjustment Create
Creates a new payroll adjustment for a contract, modifying the payment amount on the next payment cycle. The `adjustment_category_id` must reference a valid category retrieved from `GET /adjustments/categories`.
Inputs
dataobjectrequired- Details of adjustment to create
deelmcp_invoice_payroll_adjustment_updateApplies a partial update to an existing adjustment.WriteInvoice Payroll Adjustment Update
Applies a partial update to an existing adjustment. Only fields included in the request body are modified; omitted fields retain their current values.
Inputs
idstringrequired- Deel adjustment id.
deelmcp_invoice_tax_createCreates an invoicing tax entry for an independent contractor contract.WriteInvoice Tax Create
Creates an invoicing tax entry for an independent contractor contract.
Inputs
contract_idstringrequired- Deel Contract ID
dataobject- No description.
deelmcp_invoice_tax_updateApplies a partial update to the invoicing tax for an independent contractor contract; accepts `tax_type` (WITHHOLDING_TAX or VAT) and `percentage` to modify how taxes are calculated on future invoices.WriteInvoice Tax Update
Applies a partial update to the invoicing tax for an independent contractor contract; accepts `tax_type` (WITHHOLDING_TAX or VAT) and `percentage` to modify how taxes are calculated on future invoices.
Inputs
contract_idstringrequired- Deel Contract ID
dataobject- No description.
deelmcp_listAnalyticsDashboardsLists the organization's analytics dashboards — ordered collections of tiles with presentation settings.WriteList Analytics Dashboards
Lists the organization's analytics dashboards — ordered collections of tiles with presentation settings. Call this to discover existing dashboards before reading one via GET /rest/organizations/analytics/dashboards/{dashboard_id}, or to check whether a dashboard already covers a topic before creating another one.
Inputs
This tool takes no inputs.
deelmcp_listAnalyticsExportsLists the caller's own analytics exports that have not expired (the in-app Download Folder), newest first, each with a freshly signed download link.WriteList Analytics Exports
Lists the caller's own analytics exports that have not expired (the in-app Download Folder), newest first, each with a freshly signed download link. Use this to retrieve a file produced by POST /rest/organizations/analytics/query with a csv, xlsx or pdf format.
Inputs
This tool takes no inputs.
deelmcp_listAnalyticsSharingRecipientsLists the recipients the caller may share analytics with — people holding analytics access in the organization, plus the organization itself — optionally filtered by a name or email search.WriteList Analytics Sharing Recipients
Lists the recipients the caller may share analytics with — people holding analytics access in the organization, plus the organization itself — optionally filtered by a name or email search. Call this to resolve sharing_with_id values before POST /rest/organizations/analytics/sharing.
Inputs
cursor_created_atstring- Cursor: created_at of the last item of the previous page
cursor_idstring- Cursor: id of the last item of the previous page
limitinteger- Page size
offsetinteger- Number of items to skip
searchstring- Case-insensitive name or email filter
deelmcp_listAnalyticsTilesLists the organization's analytics tiles — saved data visualizations built on CubeJS queries.WriteList Analytics Tiles
Lists the organization's analytics tiles — saved data visualizations built on CubeJS queries. Call this to discover the tiles available before reading one in full via GET /rest/organizations/analytics/tiles/{tile_id}, or to collect the tile IDs needed to assemble a dashboard via POST /rest/organizations/analytics/dashboards.
Inputs
This tool takes no inputs.
deelmcp_ListCompensationBandsController_getFilters_v1Use this endpoint to look up the valid filter options before creating or updating a compensation band through the Compensation Band agent, so submitted values match what the platform currently supports.WriteList Compensation Bands Controller Get Filters V1
Use this endpoint to look up the valid filter options before creating or updating a compensation band through the Compensation Band agent, so submitted values match what the platform currently supports.
Inputs
This tool takes no inputs.
deelmcp_ListCourseEnrolmentsUse this to review how learners actually performed on a course across the organization, not just whether they finished: a per-learner summary of completion, quiz score and pass state, SCORM score and active learning time.WriteList Course Enrolments
Use this to review how learners actually performed on a course across the organization, not just whether they finished: a per-learner summary of completion, quiz score and pass state, SCORM score and active learning time. Learning admins see every enrolment within their data access scope; a course folder collaborator must filter on exactly one course; a manager on exactly their reporting team. Use GetCourseEnrolment for the full detail of one enrolment.
Inputs
assignee_hris_organization_user_idsarray- Filter by learner HrisOrganizationUser UUIDs. Omit to include every learner the token may see.
cursorstring- Pagination token. The only valid value is the next_cursor returned by a previous response of this tool. Omit on the first page. Do not generate, modify, decode, or guess this value.
is_self_assignmentboolean- When true, returns only enrolments the learner self-enrolled in, for example from the course library. When false, returns only enrolments created any other way, such as by an admin or a manager. Omit to include all enrolments.
journey_idsarray- Filter by course version UUIDs (journey_id). Omit to include all courses.
limitinteger- Maximum number of enrolments to return. Defaults to 20. Maximum 50.
should_include_archived_journey_assignmentsboolean- When true, includes enrolments of an archived provider course. Requires exactly one journey_id pointing at an archived course from a content provider. Defaults to false.
statusesarray- Filter by completion status. Omit to include all statuses.
versioned_journey_idsarray- Filter by course UUIDs across all versions (versioned_journey_id). Omit to include all courses.
deelmcp_ListCurrencyController_list_v1Retrieves the list of currencies supported by the compensation management service, including each currency's code, exchange rate, default status, and last update time.WriteList Currency Controller List V1
Retrieves the list of currencies supported by the compensation management service, including each currency's code, exchange rate, default status, and last update time. Use this to populate currency selection or validate currency codes when configuring compensation amounts.
Inputs
This tool takes no inputs.
deelmcp_listCustomMeasuresLists the custom measures defined in the organization, optionally narrowed to one view or team.WriteList Custom Measures
Lists the custom measures defined in the organization, optionally narrowed to one view or team. Use this to discover the api_name of a measure before referencing it in POST /rest/organizations/analytics/query or in a tile's query.
Inputs
team_idstring- Only measures scoped to this team (public identifier)
view_namestring- Only measures exposed in this view
deelmcp_listCustomReportsLists the custom reports created by or shared with the calling user — saved analytics report definitions.WriteList Custom Reports
Lists the custom reports created by or shared with the calling user — saved analytics report definitions. Call this to find a caller's existing saved report before recreating one. Results are resolved per profile, so call it with a personal token: an organization token runs as the org's service account, which owns no custom reports and so resolves to none.
Inputs
This tool takes no inputs.
deelmcp_listItPolicyUsers_betaBETA - new endpoint, stable from 2026-12-25; behavior may change until then.WriteList It Policy Users Beta
BETA - new endpoint, stable from 2026-12-25; behavior may change until then. Lists the workers assigned to one of your organization's IT hardware policies. Use it to resolve which workers a policy applies to before raising equipment requests on their behalf, or to audit policy membership.
Inputs
policy_idstringrequired- IT policy identifier
cursorstring- Indicates where the next page of results starts, as returned in a paginated list response
hris_profile_idstring- Filter by the worker's HRIS Profile ID, to find which policy a specific worker is attached to. Repeat the key to filter on multiple values.
limitinteger- Return a page of results with given number of records
deelmcp_listItWarehouses_betaBETA - new endpoint, stable from 2026-12-15; behavior may change until then.WriteList It Warehouses Beta
BETA - new endpoint, stable from 2026-12-15; behavior may change until then. Lists your organization's storage locations — your own offices and any Deel-managed warehouses. Use it to resolve a `warehouse_id` before routing a collection or an asset location update, and to enumerate sites alongside `GET /rest/it/assets`.
Inputs
countrystring- Filter by warehouse country (ISO 3166 alpha-2). Repeat the key to filter on multiple values.
cursorstring- Indicates where the next page of results starts, as returned in a paginated list response
limitinteger- Return a page of results with given number of records
searchstring- Free-text search on warehouse name
typestring- Filter by organization warehouse type. Repeat the key to filter on multiple values.one of
OFFICERESIDENCEWAREHOUSE
deelmcp_ListLearningProgramEnrolmentsUse this to monitor learning program enrolments (LearningProgramAssignments) across the organization and spot the ones needing follow-up, such as overdue or incomplete programs.WriteList Learning Program Enrolments
Use this to monitor learning program enrolments (LearningProgramAssignments) across the organization and spot the ones needing follow-up, such as overdue or incomplete programs. Restricted to Learning admins — other callers cannot access this endpoint. Use the course reporting endpoints instead when you need results for a single course rather than a whole program.
Inputs
assignee_hris_organization_user_idsarray- Filter by assignee HrisOrganizationUser UUIDs. Omit to include all assignees.
cursorstring- Pagination token. The only valid value is a cursor string returned by a previous response of same tool. Omit on the first page. Do not generate, modify, decode, or guess this value.
is_self_assignmentboolean- Filter by self-enrolment. True returns only LearningProgramAssignments the assignee self-enrolled in; false returns only LearningProgramAssignments created any other way. Omit to include all.
learning_program_idsarray- Filter by LearningProgram UUIDs. Omit to include all LearningPrograms.
limitinteger- Maximum number of LearningProgramAssignments to return. Defaults to 20. Maximum 50.
statusesarray- Filter by assignment status. Omit to include all statuses.
deelmcp_ListLibraryLearningProgramsLists only the published library LearningPrograms that allow self-enrolment, so the authenticated user can find LearningPrograms they could enrol in.WriteList Library Learning Programs
Lists only the published library LearningPrograms that allow self-enrolment, so the authenticated user can find LearningPrograms they could enrol in. Use it to discover available LearningPrograms rather than to view existing enrolments.
Inputs
cursorstring- Opaque pagination token. The only valid value is a cursor string returned by a previous response of this same tool — pass it back verbatim. Omit on the first page. Do not generate, modify, decode, or guess this value.
limitinteger- Maximum number of LearningPrograms to return. Defaults to 20. Maximum 50.
searchstring- Case-insensitive substring match on LearningProgram title. Omit to list all LearningPrograms.
deelmcp_ListMarketWorkersController_getFilters_v1Get the available filter options for a market to refine worker queries by relevant dimensions like worker type or employment status.WriteList Market Workers Controller Get Filters V1
Get the available filter options for a market to refine worker queries by relevant dimensions like worker type or employment status. Use this before calling the workers list endpoint to determine which filters are applicable.
Inputs
market_idstringrequired- No description.
deelmcp_ListMyCourseEnrolmentsUse this to find out what the authenticated user is expected to learn and how far they have got: their own course enrolments, with what is still outstanding and what is already done.WriteList My Course Enrolments
Use this to find out what the authenticated user is expected to learn and how far they have got: their own course enrolments, with what is still outstanding and what is already done. Scoped to the caller only, so use the reporting endpoints when you need enrolments for other people. Narrow the list with the query parameters.
Inputs
cursorstring- Pagination token. The only valid value is a cursor string returned by a previous response of same tool. Omit on the first page. Do not generate, modify, decode, or guess this value.
journey_idsarray- Filter by Journey UUIDs. Omit to include all Journeys.
limitinteger- Maximum number of JourneyAssignments to return. Defaults to 20. Maximum 50.
statusesarray- Filter by assignment status. Omit to include all statuses.
versioned_journey_idsarray- Filter by VersionedJourney UUIDs. Omit to include all VersionedJourneys.
deelmcp_listOpeningsLists the headcount openings (requisitions), that is the positions that jobs are hiring for.WriteList Openings
Lists the headcount openings (requisitions), that is the positions that jobs are hiring for. Use it to review that headcount and to see which hire filled each opening. Callers with restricted access see only the openings they may view.
Inputs
cursorstring- Pagination cursor returned by a previous response.
job_idsarray- Filter openings by linked job IDs.
limitinteger- Maximum number of openings to return per page.
location_idsarray- Filter openings by location IDs.
statusarray- Filter openings by one or more statuses.
tag_idsarray- Filter openings by tag IDs.
tag_ids_operatorstring- Operator for tag_ids filter. 'ANY' returns openings with at least one matching tag; 'ALL' returns openings with all specified tags. Defaults to 'ANY'.one of
ANYALL team_idsarray- Filter openings by team IDs.
deelmcp_listReportTemplatesLists the report templates available to the calling user — their own, those shared with them, and those they have favourited.WriteList Report Templates
Lists the report templates available to the calling user — their own, those shared with them, and those they have favourited. Call this before building a report or tile from scratch, to start from an existing reusable definition instead. Results are resolved per profile, so call it with a personal token: an organization token runs as the org's service account, which owns and favourites no templates.
Inputs
This tool takes no inputs.
deelmcp_ListReviewCyclesReturns a paginated list of review cycles a user is assigned to, most recently published first.WriteList Review Cycles
Returns a paginated list of review cycles a user is assigned to, most recently published first. Use the returned next_cursor to fetch subsequent pages. A user can list their own review cycles; listing another user's requires manager or admin access.
Inputs
hris_organization_user_idstringrequired- UUID of the HrisOrganizationUser whose review cycles to list.
cursorstring- Opaque pagination cursor returned from a previous response. Omit to start from the first page.
limitinteger- Maximum number of review cycles to return. Defaults to 20. Maximum 100.
deelmcp_ListReviewCycleVersionedQuestionsLists the existing questions across the organization, including those from the shared question bank, showing the latest text of each question.WriteList Review Cycle Versioned Questions
Lists the existing questions across the organization, including those from the shared question bank, showing the latest text of each question. Use it when building a review cycle to find an existing question to reuse, then link it to a form with CreateFormQuestion. Results are organization-wide rather than limited to the given review cycle.
Inputs
review_cycle_idstringrequired- UUID of the review cycle.
cursorstring- Opaque pagination cursor returned from a previous response. Omit to start from the first page.
is_from_question_bankboolean- Filter by whether the question was added to the question bank.
limitinteger- Maximum number of versioned questions to return. Defaults to 20. Maximum 100.
deelmcp_lists_versioned_journeysLists VersionedJourneys for the authenticated MCP user.WriteLists Versioned Journeys
Lists VersionedJourneys for the authenticated MCP user. Users with canManageHrSuiteLearning receive the full list. Users without that permission must provide a folder_id for a folder they collaborate on
Inputs
cursorstring- Opaque pagination token. The only valid value is a cursor string returned by a previous response of this same tool — pass it back verbatim. Omit on the first page. Do not generate, modify, decode, or guess this value.
folder_idstring- Filter by folder UUID. Omit to list VersionedJourneys across all folders.
limitinteger- Maximum number of VersionedJourneys to return. Defaults to 20. Maximum 50.
searchstring- Case-insensitive substring match on VersionedJourney title. Omit to list all VersionedJourneys.
statusesarray- Filter by Journey status. Omit to include all statuses.
deelmcp_listScheduledReportEligibleRecipientsLists the people in the organization who may be recipients of a scheduled report delivery, optionally filtered by a name or email search.WriteList Scheduled Report Eligible Recipients
Lists the people in the organization who may be recipients of a scheduled report delivery, optionally filtered by a name or email search. Call this to resolve recipient identifiers before POST or PATCH /rest/organizations/analytics/scheduled-reports.
Inputs
cursor_created_atstring- Cursor: created_at of the last item of the previous page
cursor_idstring- Cursor: id of the last item of the previous page
limitinteger- Page size
offsetinteger- Number of items to skip
searchstring- Case-insensitive name or email filter
deelmcp_listScheduledReportFilesLists the files a schedule has generated, newest first.WriteList Scheduled Report Files
Lists the files a schedule has generated, newest first. Recipients see the files generated for them; organization admins see every recipient's files. Use this to find a file_id to pass to GET /rest/organizations/analytics/scheduled-reports/{id}/files/{file_id}/download.
Inputs
idstringrequired- Scheduled report identifier
limitinteger- Page size
offsetinteger- Number of items to skip
deelmcp_listScheduledReportLogsLists the execution log of a schedule, newest first: queued, successful and failed runs with their messages.WriteList Scheduled Report Logs
Lists the execution log of a schedule, newest first: queued, successful and failed runs with their messages. Use this to check whether a delivery went out or why it failed, for example after POST /rest/organizations/analytics/scheduled-reports/{id}/run.
Inputs
idstringrequired- Scheduled report identifier
limitinteger- Page size
offsetinteger- Number of items to skip
deelmcp_listScheduledReportsLists the organization's scheduled report deliveries with their recipients, format and next run, optionally filtered by status or entity type.WriteList Scheduled Reports
Lists the organization's scheduled report deliveries with their recipients, format and next run, optionally filtered by status or entity type. Use this to find a schedule before inspecting it with GET /rest/organizations/analytics/scheduled-reports/{id} or changing it with PATCH.
Inputs
entity_typestring- Filter by entity typeone of
TILEDASHBOARD limitinteger- Page size
offsetinteger- Number of items to skip
statusstring- Filter by schedule status
deelmcp_milestone_createCreates a new payment milestone on a milestone-based contract.WriteMilestone Create
Creates a new payment milestone on a milestone-based contract. After creation, the milestone enters a review workflow before payment is processed.
Inputs
contract_idstringrequired- The unique identifier of the Deel contract where the milestone will be added.
dataobjectrequired- No description.
deelmcp_org_analytics_tile_getCreates a new analytics tile (chart, table, or text widget) for use on custom dashboards.WriteOrg Analytics Tile Get
Creates a new analytics tile (chart, table, or text widget) for use on custom dashboards.
Inputs
dataobjectrequired- No description.
deelmcp_org_create_legal_entityCreates a new legal entity under the organization and returns the entity record including its assigned id.WriteOrg Create Legal Entity
Creates a new legal entity under the organization and returns the entity record including its assigned id.
Inputs
dataobject- No description.
deelmcp_org_current_person_profile_updateApplies a partial update to the authenticated user's profile, modifying only the fields supplied in the request body.WriteOrg Current Person Profile Update
Applies a partial update to the authenticated user's profile, modifying only the fields supplied in the request body.
Inputs
dataobjectrequired- No description.
deelmcp_org_direct_employee_createCreates a direct employee record under the organization's own legal entity, provisioning both a person and an employment contract.WriteOrg Direct Employee Create
Creates a direct employee record under the organization's own legal entity, provisioning both a person and an employment contract. For onboarding employees managed through your own payroll providers.
Inputs
dataobjectrequired- No description.
deelmcp_org_group_createCreates a new group within the organization and returns the created group record, including its assigned `id`.WriteOrg Group Create
Creates a new group within the organization and returns the created group record, including its assigned `id`.
Inputs
dataobjectrequired- No description.
deelmcp_org_group_updateApplies a partial update to an existing group's details.WriteOrg Group Update
Applies a partial update to an existing group's details. Only fields included in the request body are modified; omitted fields retain their current values.
Inputs
dataobjectrequired- No description.
idstringrequired- Unique identifier of the group to be edited.
deelmcp_org_hris_person_get_betaBETA - becomes the default version of `org_hris_person_get` on 2027-01-12.WriteOrg Hris Person Get Beta
BETA - becomes the default version of `org_hris_person_get` on 2027-01-12. Use `org_hris_person_get` unless you need this version's changes. Returns detailed information about a single person in the organization by their public ID. Returns personal details, employment information, organizational structure, person status, direct manager, custom fields, and related data.
Inputs
hris_profile_idstringrequired- Unique identifier for the person.
include_custom_fieldsboolean- Include custom fields in the response.
include_worker_relationsboolean- Include worker relations in the response.
deelmcp_org_manager_createCreates a new manager in the organization and returns the created manager's identity fields, including the assigned `id`.WriteOrg Manager Create
Creates a new manager in the organization and returns the created manager's identity fields, including the assigned `id`.
Inputs
dataobjectrequired- No description.
deelmcp_org_person_custom_field_updateCreates or updates a custom field value for a worker; if a value for the specified field already exists it is overwritten.WriteOrg Person Custom Field Update
Creates or updates a custom field value for a worker; if a value for the specified field already exists it is overwritten.
- Idempotent
Inputs
dataobjectrequired- No description.
worker_idstringrequired- Worker id.
deelmcp_org_person_list_betaBETA - becomes the default version of `org_person_list` on 2026-12-30.WriteOrg Person List Beta
BETA - becomes the default version of `org_person_list` on 2026-12-30. Use `org_person_list` unless you need this version's changes. Returns a paginated list of people records in the organization. Supports filtering by search term, teams, custom fields, and other query parameters. Build people directories, sync HR data, or power search interfaces across your workforce records.
Inputs
band_placementsarray- Employee's current band placement.
comparative_ratios_fromnumber- Employee's minimum band placement
comparative_ratios_tonumber- Employee's maximum band placement
fieldsarray- Pick the fields you want to see in the response in order to avoid a bloated people list output. Supports dot notation (e.g., 'employments[0].contract_status') to access nested fields.
hiring_typesarray- Filter people by hiring types
lifecycle_statusesarray- Filter people by where they sit in the work lifecycle. Replaces `hiring_statuses`.
limitinteger- Return a page of results with given number of records.
offsetinteger- Return a page of results with given number of records.
person_statusesarray- Filter people by the status of the person (worker profile) itself.
searchstring- Include a contract if by name or contractor name contains given search term.
sort_bystring- Sort people by given field name.one of
idfirst_namelast_namefull_nameemailcountrybirth_datehiring_typestart_dateteamjob_titlecompletion_datedirect_managerdirect_reports_countband_placementcomparative_ratioperson_statuslifecycle_status sort_orderstring- Order direction of results; ascending or descending.one of
ascdesc teamsarray- Filter the results based on the team(group) the users contract is associated with
deelmcp_org_positions_updateApplies a batch of add, edit, and delete operations to positions within a single request.WriteOrg Positions Update
Applies a batch of add, edit, and delete operations to positions within a single request. Multiple operation types may be submitted together; callers should ensure each operation in the batch targets a valid, existing position where applicable.
Inputs
dataobject- The request payload containing the position changes to apply.
deelmcp_org_relation_type_createCreates a new worker relation type, defining a named parent–child relationship structure that can be applied to worker associations.WriteOrg Relation Type Create
Creates a new worker relation type, defining a named parent–child relationship structure that can be applied to worker associations. The `is_default` flag on the response indicates whether the created type has been set as the default relation type.
Inputs
dataobject- No description.
deelmcp_org_role_createCreates a new custom role within the current organization.WriteOrg Role Create
Creates a new custom role within the current organization.
Inputs
dataobject- No description.
deelmcp_org_role_updateApplies a partial update to the custom role, modifying only the fields supplied in the request body.WriteOrg Role Update
Applies a partial update to the custom role, modifying only the fields supplied in the request body.
Inputs
roleIdstringrequired- ID of the role
dataobject- No description.
deelmcp_org_structure_updateApplies a partial update to an existing organization structure.WriteOrg Structure Update
Applies a partial update to an existing organization structure. Only fields provided in the request body are modified; omitted fields retain their current values.
Inputs
hris_org_structure_idstringrequired- Org Structure
dataobject- No description.
deelmcp_org_structures_createCreates a new organization structure, returning the record with its assigned `id`.WriteOrg Structures Create
Creates a new organization structure, returning the record with its assigned `id`. The `is_multi_select` and `enable_roles` flags control multi-team assignment and role management support.
Inputs
dataobject- No description.
deelmcp_org_update_legal_entityApplies a partial update to an existing legal entity identified by id; only fields included in the request body are modified.WriteOrg Update Legal Entity
Applies a partial update to an existing legal entity identified by id; only fields included in the request body are modified.
Inputs
idstringrequired- The ID of the legal entity to update.
dataobject- No description.
deelmcp_org_update_structureApplies a partial update to an existing organization structure.WriteOrg Update Structure
Applies a partial update to an existing organization structure. Only fields provided in the request body are modified; omitted fields retain their current values.
Inputs
external_idstringrequired- External ID
dataobject- No description.
deelmcp_org_worker_relation_createEstablishes a hierarchical relationship between a worker and one or more subordinates.WriteOrg Worker Relation Create
Establishes a hierarchical relationship between a worker and one or more subordinates. The request body must identify both the parent worker and the subordinate profiles to be linked.
Inputs
dataobject- The request payload containing the relationship details.
deelmcp_org_working_location_updateSets the working location for a worker identified by their HRIS profile ID.WriteOrg Working Location Update
Sets the working location for a worker identified by their HRIS profile ID.
- Idempotent
Inputs
dataobjectrequired- No description.
idstringrequired- Hris profile ID
deelmcp_payroll_contract_createCreates a new Global Payroll contract.WritePayroll Contract Create
Creates a new Global Payroll contract. Country-specific required fields must be retrieved first from `GET /forms/gp/worker-additional-fields/{country_code}`. Returns the contract with its `id`.
Inputs
dataobjectrequired- No description.
deelmcp_payroll_report_entry_updateUpdates payroll report items for an employee in a specific cycle.WritePayroll Report Entry Update
Updates payroll report items for an employee in a specific cycle. Ensure the cycle is editable before submitting. Provide `payroll_report_column_id` values from the payroll report response.
Inputs
cycle_idstringrequired- Payroll event/cycle id.
dataobjectrequired- No description.
payroll_report_entry_idstringrequired- Payroll report entry id, unique for each employee for each cycle.
deelmcp_people_by_name_searchSearches people in the requesting organization by display name.WritePeople By Name Search
Searches people in the requesting organization by display name. Supports cursor-based or offset-based pagination via the search/limit/offset query (or cursor+limit). Returns a lightweight list with id, display_name, and hris_organization_user_id suitable
Inputs
active_for_productstring- Return only people who are active for the specified Deel product. Mutually exclusive with `inactive_for_product`.one of
HR_SUITEDEEL_PLUGINSATSDEEL_COMP actor_team_permissionstring- Restrict results to people the requesting actor can act on under the given team-scoped permission.
cursorstring- Opaque pagination cursor returned by a previous response. When supplied, `search`, `offset`, and the product filters are ignored.
inactive_for_productstring- Return only people who are inactive for the specified Deel product. Mutually exclusive with `active_for_product`.one of
HR_SUITEDEEL_PLUGINSATSDEEL_COMP limitinteger- Maximum number of people to return per page.
offsetinteger- Number of records to skip when using offset-based pagination. Ignored when `cursor` is supplied.
only_managersboolean- When true, restrict results to people who manage at least one direct report.
searchstring- Case-insensitive substring to match against the person display name. Defaults to empty (no filtering).
deelmcp_recommended_journeysLists Journeys recommended for the authenticated User, ranked by relevance to their profile and an optional free-text search.WriteRecommended Journeys
Lists Journeys recommended for the authenticated User, ranked by relevance to their profile and an optional free-text search.
Inputs
exclude_journey_idsarray- UUIDs of Journeys to exclude from the recommendations.
limitinteger- Maximum number of recommended Journeys to return. Defaults to 10. Maximum 50.
relevance_levelstring- Minimum relevance threshold for returned Journeys. "high" returns only very close matches, "low" returns broader matches. Defaults to "medium".one of
lowmediumhigh searchstring- Free-text describing what the user wants to learn. Combined with the requester profile to rank recommendations. Omit to recommend based on the requester profile alone.
should_include_completed_assigned_journeys_in_past_yearboolean- When true, Journeys the requester completed within the past year are eligible for recommendation.
should_include_inprogress_assigned_journeysboolean- When true, Journeys the requester has in progress are eligible for recommendation.
should_return_only_deel_academy_journeysboolean- When true, only Journeys from the Deel Academy catalogue are recommended.
should_return_only_journeys_discoverable_in_libraryboolean- When true, only Journeys discoverable by the requester in the learning library (per their team and position) are recommended.
should_skip_already_assigned_journeysboolean- When true, Journeys already assigned to the requester are excluded. Cannot be combined with should_include_inprogress_assigned_journeys or should_include_completed_assigned_journeys_in_past_year.
deelmcp_rejectEorQuoteRejects the quote of an EOR contract.WriteReject Eor Quote
Rejects the quote of an EOR contract. Rejection is only accepted while the contract is in one of `new`, `under_review`, `waiting_for_client_sign`, `waiting_for_eor_sign`, `waiting_for_employee_contract`, `waiting_for_employee_sign` or `awaiting_deposit_payment`. Rejection is terminal — there is no public endpoint to un-reject a contract, and a contract already in `rejected` cannot be rejected again. The token must hold the `contracts.edit` permission on the contract.
Inputs
contract_idstringrequired- The unique identifier of the EOR contract.
dataobjectrequired- No description.
deelmcp_retrieveAListOfAtsHires_betaBETA - new endpoint, stable from 2027-01-01; behavior may change until then.WriteRetrieve Alist Of Ats Hires Beta
BETA - new endpoint, stable from 2027-01-01; behavior may change until then. Maps ATS applications to the HRIS profiles they were hired into, oldest change first, with cursor pagination. To poll, set updated_after a few minutes before the updated_at of the last row you read: a row can commit late with an earlier updated_at. Rows then repeat, so upsert by application_id. The feed has inserts and updates only: the hire of a deleted application drops out with no marker, so run a full sync from time to time.
Inputs
cursorstring- Cursor for pagination. Use the next_cursor value from the previous response to get the next page of results.
limitinteger- Maximum number of records to return per page
updated_afterstring- Return only records updated strictly after this timestamp (ISO 8601 format). Use it to poll for changes.
deelmcp_retrieveAnItWarehouse_betaBETA - new endpoint, stable from 2026-12-15; behavior may change until then.WriteRetrieve An It Warehouse Beta
BETA - new endpoint, stable from 2026-12-15; behavior may change until then. Retrieves one storage location with its address and type. Call this to confirm a warehouse's delivery address before routing a collection or an asset location update to it.
Inputs
warehouse_idstringrequired- Unique identifier of the warehouse
deelmcp_retrieveAtsApplicationFormThis endpoint retrieves a single application form by its ID for a specific organization.WriteRetrieve Ats Application Form
This endpoint retrieves a single application form by its ID for a specific organization. It provides detailed information about the application form and other relevant metadata.
Inputs
application_form_idstringrequired- Id of the application form
deelmcp_retrieveGpWorkerCreationSchema_v2026_10_01_betaBETA - new endpoint, stable from 2027-01-12; behavior may change until then.WriteRetrieve Gp Worker Creation Schema V2026 10 01 Beta
BETA - new endpoint, stable from 2027-01-12; behavior may change until then. Returns the fields POST /rest/gp/workers accepts, with whether each is required, its permitted values and its validation rules. Pass country, or legal_entity_id and payroll_group_id, to get the rules that apply to that case: contract_state and its provinces, work_location for US entities, postal code format, allowed currencies and the employee_number requirement of a Payroll Connect group. Build the form from this response and the create will not reject it.
Inputs
countrystring- ISO 3166-1 alpha-2 country of the legal entity. Adds the country rules. Must match the legal entity when legal_entity_id is also given.
legal_entity_idstring- Legal entity of your organization. Its country is used and the currencies it may pay in are returned.
payroll_group_idstring- Payroll group of the legal entity. When it is a Payroll Connect (Soft GP) group, employee_number is reported as required. Requires legal_entity_id.
deelmcp_review_cycle_score_getReturns the overall score and per-feedback-type scores for the target user in the specified review cycle.WriteReview Cycle Score Get
Returns the overall score and per-feedback-type scores for the target user in the specified review cycle. Returns the calibrated score when available, otherwise the current computed score.
Inputs
hris_organization_user_idstringrequired- UUID of the HrisOrganizationUser whose score to retrieve.
review_cycle_idstringrequired- UUID of the review cycle to retrieve the score for.
deelmcp_review_cycle_task_get_contextReturns full review cycle task details including feedback, reviewee profile, owner, and assignment.WriteReview Cycle Task Get Context
Returns full review cycle task details including feedback, reviewee profile, owner, and assignment. Requires admin access (hr_suite_review_cycles.manage). Intended for AI agents that need full context to generate insights for a specific task.
Inputs
review_cycle_task_idstringrequired- UUID of the review cycle task.
deelmcp_role_card_groupsReturns a paginated list of role card groups (career frameworks) for the organization, including associated role cards with their levels and competencies.WriteRole Card Groups
Returns a paginated list of role card groups (career frameworks) for the organization, including associated role cards with their levels and competencies. Use search to find groups by name, filter by role card IDs, competency IDs, career frameworks, or as
Inputs
assigned_hris_organization_user_idsarray- Filter by role card groups assigned to specific users.
career_leveling_framework_idsarray- Filter by associated career leveling framework IDs.
competency_category_idsarray- Filter by competency category IDs.
competency_idsarray- Filter to groups containing specific competency IDs.
cursorstring- No description.
limitinteger- Maximum number of results to return. Defaults to 20.
role_card_group_idsarray- Filter by specific role card group IDs.
role_card_idsarray- Filter to only groups containing specific role card IDs.
role_card_level_idsarray- Filter to only groups containing specific role card level IDs.
searchstring- Search term to filter role card groups by name.
sort_bystring- Field to sort results by.one of
namecreated_atupdated_atposition sort_orderstring- Sort direction (ascending or descending).one of
ASCDESC
deelmcp_runScheduledReportNowQueues an out-of-cycle run of the schedule; the delivery happens asynchronously.WriteRun Scheduled Report Now
Queues an out-of-cycle run of the schedule; the delivery happens asynchronously. Use this to send a report right away without waiting for the next run, then follow progress via GET /rest/organizations/analytics/scheduled-reports/{id}/logs and pick up the output via .../files.
Inputs
idstringrequired- Scheduled report identifier
deelmcp_signGlobalPayrollAmendment_betaBETA - new endpoint, stable from 2026-12-29; behavior may change until then.WriteSign Global Payroll Amendment Beta
BETA - new endpoint, stable from 2026-12-29; behavior may change until then. Signs a pending Global Payroll amendment on the client's behalf, applying the change. amendment_id is the id returned by POST /rest/contracts/{contract_id}/amendments. Global Payroll amendments only — IC contracts use POST /rest/workers/amendments/{amendment_id}/sign instead.
Inputs
amendment_idstringrequired- The unique identifier of the Global Payroll amendment to sign, as returned by POST /rest/contracts/{contract_id}/amendments.
contract_idstringrequired- The unique identifier of the Global Payroll contract.
dataobjectrequired- No description.
deelmcp_task_updateApplies a partial update to the specified task and returns whether the update was successful.WriteTask Update
Applies a partial update to the specified task and returns whether the update was successful.
Inputs
dataobjectrequired- No description.
task_idstringrequired- The id of an existing task
deelmcp_time_tracking_timesheet_reviewApproves or rejects a submitted timesheet; only timesheets in `PENDING_REVIEW` status are eligible, and all associated hours are approved or rejected as a single operation.WriteTime Tracking Timesheet Review
Approves or rejects a submitted timesheet; only timesheets in `PENDING_REVIEW` status are eligible, and all associated hours are approved or rejected as a single operation.
Inputs
dataobjectrequired- No description.
timesheet_idstringrequired- ID of the timesheet to review
deelmcp_time_tracking_timesheet_upload_url_generateAccepts timesheet file metadata and returns a pre-signed `upload_url` together with a new timesheet record `id`.WriteTime Tracking Timesheet Upload Url Generate
Accepts timesheet file metadata and returns a pre-signed `upload_url` together with a new timesheet record `id`. Currently limited to EOR contracts.
Inputs
dataobjectrequired- No description.
deelmcp_timeoff_request_createCreates a new time-off request for a worker.WriteTimeoff Request Create
Creates a new time-off request for a worker.
Inputs
dataobject- The time off request data
deelmcp_timesheet_createCreates a timesheet entry for an hourly contractor, recording the contract, date, hours worked, and an optional description.WriteTimesheet Create
Creates a timesheet entry for an hourly contractor, recording the contract, date, hours worked, and an optional description. The entry is immediately placed into a review workflow upon creation.
Inputs
dataobjectrequired- Payload attributes required to create one timesheet entry with optional approval, preset, and grouping metadata.
deelmcp_timesheet_create_reviewsReview a batch of timesheets to approve or reject submitted work.WriteTimesheet Create Reviews
Review a batch of timesheets to approve or reject submitted work.
Inputs
dataobjectrequired- No description.
deelmcp_timesheet_preset_createCreates a new hourly report preset, returning the assigned id upon success.WriteTimesheet Preset Create
Creates a new hourly report preset, returning the assigned id upon success.
Inputs
dataobjectrequired- No description.
deelmcp_timesheet_preset_updateApplies a partial update to an existing hourly report preset identified by id.WriteTimesheet Preset Update
Applies a partial update to an existing hourly report preset identified by id. Only fields included in the request body are modified.
- Idempotent
Inputs
dataobjectrequired- No description.
idstringrequired- The unique identifier of the hourly report preset to update
deelmcp_timesheet_reviewSubmits an approve or reject decision for a timesheet entry.WriteTimesheet Review
Submits an approve or reject decision for a timesheet entry. Approved timesheets are queued for inclusion in the next payment cycle.
Inputs
dataobjectrequired- Review decision payload to apply to the timesheet entry.
timesheet_idstringrequired- ID of an existing timesheet
deelmcp_timesheet_root_preset_async_createCreates a new hourly report root preset and initiates asynchronous processing; the response includes an async_task object that can be used to track completion.WriteTimesheet Root Preset Async Create
Creates a new hourly report root preset and initiates asynchronous processing; the response includes an async_task object that can be used to track completion.
Inputs
titlestringrequired- The title of the hourly report root preset (maximum 255 characters)
descriptionstring- Detailed description of the root preset's purpose and usage (maximum 30000 characters)
filestring- Optional file attachment for the root preset
hourly_report_presetsarray- Array of preset configurations to be created along with the root preset
hourly_report_presets_processing_typestring- Determines whether presets should be processed synchronously or asynchronouslyone of
ASYNCSYNC typestring- The type of preset, RATE – indicates a preset that overrides the default contract rate, TRACKING - used exclusively for tracking, applying the default contract rateone of
RATETRACKING
deelmcp_timesheet_updatePartially updates an existing timesheet entry; only fields supplied in the request body are modified.WriteTimesheet Update
Partially updates an existing timesheet entry; only fields supplied in the request body are modified. Both clients and contractors may perform this operation.
- Idempotent
Inputs
dataobjectrequired- Fields to update on the existing timesheet entry.
timesheet_idstringrequired- ID of an existing timesheet.
deelmcp_update_check_in_task_itemsUpdates the completion state of a task item within the given CheckInSession.WriteUpdate Check In Task Items
Updates the completion state of a task item within the given CheckInSession. Task items may be referred to generically as items, points, talking points, discussion points, follow-ups, agenda items, or action items. Idempotent: setting is_completed to its
Inputs
check_in_session_idstringrequired- The UUID of the CheckInSession that owns the task item.
dataobjectrequired- Completion update payload. Pass is_completed=true to mark as done, is_completed=false to reopen.
idstringrequired- The UUID of the task item to update.
deelmcp_update_worker_relation_typeUpdate a worker relation type.WriteUpdateWorkerRelationType
Update a worker relation type.
Inputs
typeIdstringrequired- Worker Relation Type id
dataobject- No description.
deelmcp_update_worker_relation_type_external_idUpdate a worker relation type by external id.WriteUpdateWorkerRelationTypeExternalId
Update a worker relation type by external id.
Inputs
externalIdstringrequired- Worker Relation Type external ID
dataobject- No description.
deelmcp_updateAnalyticsDashboardUpdates an existing dashboard — its name, description, or the set and order of tiles it contains.WriteUpdate Analytics Dashboard
Updates an existing dashboard — its name, description, or the set and order of tiles it contains. Use this to refine a dashboard after creating it with POST /rest/organizations/analytics/dashboards, rather than creating a replacement. Omitted fields are left unchanged; set a field to null to clear it.
Inputs
dashboard_idstringrequired- Dashboard UUID v4 identifier
dataobjectrequired- No description.
deelmcp_updateAnalyticsTileUpdates an existing tile's configuration — its name, description, visualization type, or the CubeJS query behind it.WriteUpdate Analytics Tile
Updates an existing tile's configuration — its name, description, visualization type, or the CubeJS query behind it. Use this to refine a tile after creating it with POST /rest/organizations/analytics/tiles, rather than creating a replacement. Omitted fields are left unchanged; set a field to null to clear it.
Inputs
dataobjectrequired- No description.
tile_idstringrequired- Tile UUID v4 identifier
deelmcp_updateAtsCandidateUpdates an existing candidate record in the ATS.WriteUpdate Ats Candidate
Updates an existing candidate record in the ATS. All fields are optional — only the provided fields are updated. Use origin_source_slug to set or correct the candidate source (e.g. sourced_internally).
Inputs
candidate_idstringrequired- Unique identifier of the candidate to update
dataobjectrequired- No description.
deelmcp_updateCustomMeasureChanges a custom measure's name, description, cube or definition; omitted fields keep their value.WriteUpdate Custom Measure
Changes a custom measure's name, description, cube or definition; omitted fields keep their value. Use this to refine a measure created with POST /rest/organizations/analytics/custom-measures. At least one field is required.
Inputs
dataobjectrequired- No description.
idstringrequired- Custom measure identifier
deelmcp_UpdateJobFamilyController_update_v1Use this endpoint to rename or otherwise correct an existing job family after it's already been created, rather than creating a new one — for example fixing a typo in its name or reassigning it to a different job family group.WriteUpdate Job Family Controller Update V1
Use this endpoint to rename or otherwise correct an existing job family after it's already been created, rather than creating a new one — for example fixing a typo in its name or reassigning it to a different job family group.
Inputs
job_family_idstringrequired- The ID of the job family to be updated.
descriptionstring- A brief description of the job family.
jobFamilyGroupIdstring- The unique identifier for the job family group to which this job family belongs.
namestring- The name of the job family to be updated.
deelmcp_UpdateJobFamilyGroupController_update_v1Use this endpoint to rename or otherwise correct an existing job family group after it's already been created, rather than creating a new one — for example fixing a typo in its name.WriteUpdate Job Family Group Controller Update V1
Use this endpoint to rename or otherwise correct an existing job family group after it's already been created, rather than creating a new one — for example fixing a typo in its name.
Inputs
job_family_group_idstringrequired- The ID of the job family group to be updated.
descriptionstring- A brief description of the job family group.
namestring- The name of the job family group.
deelmcp_UpdateJobProfileController_update_v1Use this endpoint to correct or evolve an existing job profile — for example renaming it, moving it to a different job family, or changing its seniority track/level — after it's already been created and possibly assigned to workers.WriteUpdate Job Profile Controller Update V1
Use this endpoint to correct or evolve an existing job profile — for example renaming it, moving it to a different job family, or changing its seniority track/level — after it's already been created and possibly assigned to workers. To create a new one instead, use the create endpoint.
Inputs
job_profile_idstringrequired- The ID of the job profile to be updated.
descriptionstring- The description of the job profile
jobFamilyobject- The custom fields of the job profile
jobFamilyIdstring- The ID of the job family
levelnumber- The level of the job profile
namestring- The name of the job profile
trackstring- The track of the job profile
typestring- The type of the job profile
deelmcp_UpsertAkaiMetadataController_upsert_v1Use this endpoint to save or update an organization's Akai compensation-configuration settings so Akai can reference the same preferences across chat sessions.WriteUpsert Akai Metadata Controller Upsert V1
Use this endpoint to save or update an organization's Akai compensation-configuration settings so Akai can reference the same preferences across chat sessions. Call it whenever the organization's compensation-banding configuration needs to be set or changed for future Akai conversations.
Inputs
competitiveLevelnumber- Competitive level (1-100)
functionsOwnPayStructurearray- Job family UUIDs of the functions that need their own pay structure. Different functions have different market rates. A Senior Engineer and Senior Accountant may be the same level but have very different midpoints. Each function ("job family") gets its own set of bands. No sensible default — must be configured
managersPayMoreThanReportsstring- Should managers always make more than their direct and indirect reports? When IC and management bands overlap, a senior IC can mathematically earn more than their manager. This is a hard constraint (yes/no), not a threshold. If "Yes" is selected, the system must verify this holds after every band adjustmentone of
YES_ALWAYSNOT_NECESSARILYNO_STRONG_OPINION primaryGoalstring- Primary goal in creating compensation bandsone of
ATTRACT_TALENTINTERNAL_FAIRNESSCONTROL_COSTS promotionIncludePayIncreasenumber- Importance of pay increase on promotion (1-100). Captures how far apart adjacent midpoints should be (midpoint progression) and how much bands can overlap. Midpoint progression = (midpoint_upper - midpoint_lower) / midpoint_lower. Overlap = (max_lower - min_upper) / (max_lower - min_lower). These are validation thresholds checked after band generation
promotionLengthnumber- Promotion length in months (fractional values allowed). Determines band width. Longer tenure needs wider bands so employees can receive raises without hitting the ceiling. Width is expressed as ±X% around the midpoint. Formula: band_min = midpoint × (1 - spread_pct), band_max = midpoint × (1 + spread_pct)
deelmcp_worker_user_listRetrieve a list of users in Deel's HRIS.WriteWorker User List
Retrieve a list of users in Deel's HRIS.
Inputs
countstring- The maximum number of results to return per page. Used for pagination. A value of 0 is treated as a special case and returns 1 result. Typically should be a positive integer.
filterstring- Filter results using [SCIM's filtering syntax](https://datatracker.ietf.org/doc/html/rfc7644#section-3.4.2.2). Currently supports only `eq` operator and filtering by a user's email. Expected format 'email eq "email@domain.com"'.
startIndexstring- The 1-based index of the first result to return. Used for pagination. Minimum value is 1. Defaults to 1 if not provided.
deelmcp_workflow_action_triggerAdd workflow actions to a workflow created by AI AgentsWriteWorkflow Action Trigger
Add workflow actions to a workflow created by AI Agents
Inputs
dataobjectrequired- Actions configuration data containing an array of workflow actions
deelmcp_workflow_triggerCreates an internal invisible workflow with a triggerWriteWorkflow Trigger
Creates an internal invisible workflow with a trigger
Inputs
dataobjectrequired- Trigger configuration data
deelmcp_benefit_401k_enrollment_deleteRemoves the enrollment settings for an employee, from a specific 401k plan.DestructiveBenefit 401k Enrollment Delete
Removes the enrollment settings for an employee, from a specific 401k plan.
- Idempotent
Inputs
contract_idstringrequired- Contract id from the employee
dataobjectrequired- No description.
idstringrequired- Legal entity id which employee/contract belongs
plan_idstringrequired- Plan id to enroll the employee into
deelmcp_benefit_401k_enrollment_updateReplaces all enrollment settings for a contract's existing 401(k) plan enrollment.DestructiveBenefit 401k Enrollment Update
Replaces all enrollment settings for a contract's existing 401(k) plan enrollment. As a PUT operation, the full set of enrollment fields must be supplied; omitted fields will not be preserved from the prior state.
- Idempotent
Inputs
contract_idstringrequired- The unique identifier of the employee contract
dataobjectrequired- Schema for the 401K Guideline Plan request body.
legal_entity_idstringrequired- Legal entity id which employee/contract belongs
plan_idstringrequired- Plan id to enroll the employee into
deelmcp_benefit_401k_plan_clean_upTriggers a cleanup of 401k plan data for the specified legal entity.DestructiveBenefit 401k Plan Clean Up
Triggers a cleanup of 401k plan data for the specified legal entity.
Inputs
idstringrequired- Id from the legal entity to clean up
deelmcp_benefit_401k_plan_deleteDelete a 401k planDestructiveBenefit 401k Plan Delete
Delete a 401k plan
- Idempotent
Inputs
idstringrequired- Legal entity id which plans belongs
plan_idstringrequired- Plan id
deelmcp_benefit_401k_plan_updateReplaces the full configuration of a 401k plan within the specified legal entity.DestructiveBenefit 401k Plan Update
Replaces the full configuration of a 401k plan within the specified legal entity. As a PUT operation, the complete plan object must be supplied; any omitted fields will not be preserved.
- Idempotent
Inputs
dataobjectrequired- Schema for the 401K Guideline Plan request body.
legal_entity_idstringrequired- Id from the legal entity to update a 401k plan
plan_idstringrequired- 401K plan id
deelmcp_compensation_band_deletePermanently deletes a compensation band, nullifying any existing band point assignments.DestructiveCompensation Band Delete
Permanently deletes a compensation band, nullifying any existing band point assignments. This action cannot be undone.
- Idempotent
Inputs
idstringrequired- Compensation band id
deelmcp_compensation_job_profile_bulk_assignUse this endpoint to bulk assign or unassign job profiles to workers' primary active employment.DestructiveCompensation Job Profile Bulk Assign
Use this endpoint to bulk assign or unassign job profiles to workers' primary active employment. Pass null as jobProfileId to remove an existing assignment. Ensure you have the jobProfile.manage permission to perform this operation.
Inputs
allboolean- When true, targets every employee matching `filters` (or all of them if no filters), except the ids in `unselectedEmployeeIds`. When false/omitted, `selectedEmployeeIds` is used.
filtersobject- Scopes the "all" selection. Only applied when `all` is true.
jobProfileIdstring- The job profile to assign to every selected employee. Pass null to unassign.
selectedEmployeeIdsarray- HRIS profile OIDs of the employees to target. Required when `all` is not true.
unselectedEmployeeIdsarray- HRIS profile OIDs to exclude when `all` is true.
deelmcp_compensation_market_bulk_unassignRemoves multiple workers from their assigned sub-markets in a single request.DestructiveCompensation Market Bulk Unassign
Removes multiple workers from their assigned sub-markets in a single request. After unassignment, workers lose their sub-market association and their compensation band assignment is invalidated.
Inputs
allboolean- When true, targets every worker of `subMarketId` matching `filters`, except the ids in `unselectedWorkerIds`. When false/omitted, `selectedWorkerIds` is used.
filtersobject- Scopes the "all" selection. Only applied when `all` is true.
selectedWorkerIdsarray- HRIS profile OIDs of the workers to unassign. Required when `all` is not true.
subMarketIdstring- The sub-market to unassign workers from. When `all` is true, it is the market whose workers are enumerated.
unselectedWorkerIdsarray- HRIS profile OIDs to exclude when `all` is true.
deelmcp_compensation_market_group_updateUpdates a market group by ID.DestructiveCompensation Market Group Update
Updates a market group by ID. Can update name, currency code, description, and sub-markets list. When markets is provided it replaces the existing sub-markets list; omitted sub-markets are deleted.
Inputs
idstringrequired- Market group id
currencyCodestring- The currency code for this market group
descriptionstring- Optional description for the market group
marketsarray- Array of markets within this market group. If provided, will replace the existing markets list.
namestring- The name of the market group
deelmcp_contract_amendment_createSubmits an amendment to modify the details of an existing contract.DestructiveContract Amendment Create
Submits an amendment to modify the details of an existing contract. If the contract is already signed or active, the amendment must be approved and re-signed before the changes take effect.
Inputs
contract_idstringrequired- The unique identifier of the employee contract.
datastringrequired- No description.
deelmcp_contract_custom_field_deleteClears the value of a custom field on the specified contract, identified by the custom field `id`.DestructiveContract Custom Field Delete
Clears the value of a custom field on the specified contract, identified by the custom field `id`.
- Idempotent
Inputs
contract_idstringrequired- Contract id.
idstringrequired- Custom field id.
deelmcp_contract_custom_field_updateCreates or updates custom field values on the specified contract.DestructiveContract Custom Field Update
Creates or updates custom field values on the specified contract. This is a full replacement operation — any custom field values not included in the request body will be removed.
- Idempotent
Inputs
contract_idstringrequired- Contract id.
dataobjectrequired- No description.
deelmcp_contract_signSigns a contract on behalf of the client (employer), advancing it through the hiring workflow to a pending-contractor-signature state.DestructiveContract Sign
Signs a contract on behalf of the client (employer), advancing it through the hiring workflow to a pending-contractor-signature state. Can also sign a pending amendment on an active contract.
Inputs
contract_idstringrequired- Deel contract id.
dataobject- No description.
deelmcp_contract_sign_invite_deleteRemoves the active signing invitation from a contract to allow a new invitation to be issued to the worker.DestructiveContract Sign Invite Delete
Removes the active signing invitation from a contract to allow a new invitation to be issued to the worker.
- Idempotent
Inputs
contract_idstringrequired- Deel contract id.
deelmcp_contract_task_deleteDeletes a specific task from a contract.DestructiveContract Task Delete
Deletes a specific task from a contract. An optional `reason` can be supplied for audit or documentation purposes.
- Idempotent
Inputs
contract_idstringrequired- The unique identifier of the Deel contract.
task_idstringrequired- The unique identifier of the task to be deleted.
reasonstring- The reason for deleting the task. This can be used for auditing purposes.
deelmcp_contract_termination_createInitiates termination of an active contract, recording the termination reason, effective date, and any final payment details.DestructiveContract Termination Create
Initiates termination of an active contract, recording the termination reason, effective date, and any final payment details. Can only be called on contracts that are currently active.
Inputs
contract_idstringrequired- The unique identifier of the contractor contract
dataobjectrequired- Termination data. At minimum, you must provide either terminate_now: true (for immediate termination) OR completion_date (for scheduled termination).
deelmcp_contract_termination_deleteCancels a pending termination request for the specified contract, reverting the contract to its pre-termination state.DestructiveContract Termination Delete
Cancels a pending termination request for the specified contract, reverting the contract to its pre-termination state. Only termination requests that have not yet reached their effective date can be cancelled.
- Idempotent
Inputs
contract_idstringrequired- Unique identifier for the contract
deelmcp_customTemplateCommentArchive_v2026_08_18Archives a comment on a custom document template, removing it and every reply beneath it from the template.DestructiveCustom Template Comment Archive V2026 08 18
Archives a comment on a custom document template, removing it and every reply beneath it from the template. This cannot be undone and there is no way to restore an archived comment, so prefer resolving a comment whose text may still be worth reading. Only the comment the authenticated user wrote may be archived, unless that user is an organization admin, who may archive any comment on the template.
Inputs
comment_idstringrequired- UUID of the comment to archive
template_external_idstringrequired- External ID of the custom template
deelmcp_delete_worker_relationDelete a worker relation.DestructiveDeleteWorkerRelation
Delete a worker relation.
- Idempotent
Inputs
hrisProfileOidstringrequired- Worker Relation ID
deelmcp_delete_worker_relation_external_idDelete a worker relation by external id.DestructiveDeleteWorkerRelationExternalId
Delete a worker relation by external id.
- Idempotent
Inputs
profileIdstringrequired- Worker Relation external ID
deelmcp_delete_worker_relation_type_external_idDelete a Worker Relation Type by the external ID.DestructiveDeleteWorkerRelationTypeExternalId
Delete a Worker Relation Type by the external ID.
- Idempotent
Inputs
externalIdstringrequired- Worker Relation Type external ID
deelmcp_deleteCustomMeasureRemoves a custom measure so it can no longer be queried.DestructiveDelete Custom Measure
Removes a custom measure so it can no longer be queried. Use this to retire a measure; tiles that reference its api_name will stop resolving it.
Inputs
idstringrequired- Custom measure identifier
deelmcp_DeleteJobFamilyGroupsV2Controller_destroy_v2Use this endpoint to bulk-delete job family groups from a filtered list view — either by selecting specific groups, or by matching a broader set with filters and excluding a few.DestructiveDelete Job Family Groups V2 Controller Destroy V2
Use this endpoint to bulk-delete job family groups from a filtered list view — either by selecting specific groups, or by matching a broader set with filters and excluding a few. Provide `selectedJobFamilyGroupIds` to delete specific groups, or `all: true` (optionally scoped by `filters` and narrowed by `unselectedJobFamilyGroupIds`) to delete every matching group. This is permanent, cannot be undone, and cascades to the job families and profiles beneath each deleted group.
Inputs
allboolean- When true, deletes every job family group matching `filters` (or all of them if no filters), except the ids in `unselectedJobFamilyGroupIds`. When false/omitted, `selectedJobFamilyGroupIds` is used.
filtersobject- Scopes the "all" selection. Only applied when `all` is true.
selectedJobFamilyGroupIdsarray- Ids of the job family groups to delete. Required when `all` is not true.
unselectedJobFamilyGroupIdsarray- Ids to exclude from the deletion when `all` is true.
deelmcp_DeleteJobProfilesV2Controller_destroy_v2Use this endpoint to bulk-delete job profiles from a filtered list view — either by selecting specific profiles, or by matching a broader set with filters and excluding a few.DestructiveDelete Job Profiles V2 Controller Destroy V2
Use this endpoint to bulk-delete job profiles from a filtered list view — either by selecting specific profiles, or by matching a broader set with filters and excluding a few. Provide `selectedJobProfileIds` to delete specific profiles, or `all: true` (optionally scoped by `filters` and narrowed by `unselectedJobProfileIds`) to delete every matching profile. This is permanent, cannot be undone, and triggers an HR Suite sync side-effect for each deleted profile; the request fails if that sync fails.
Inputs
allboolean- When true, deletes every job profile matching `filters` (or all of them if no filters), except the ids in `unselectedJobProfileIds`. When false/omitted, `selectedJobProfileIds` is used.
filtersobject- Scopes the "all" selection. Only applied when `all` is true.
selectedJobProfileIdsarray- Ids of the job profiles to delete. Required when `all` is not true.
unselectedJobProfileIdsarray- Ids to exclude from the deletion when `all` is true.
deelmcp_deleteScheduledReportStops and removes a schedule; files already generated stay retrievable through GET /rest/organizations/analytics/scheduled-reports/{id}/files.DestructiveDelete Scheduled Report
Stops and removes a schedule; files already generated stay retrievable through GET /rest/organizations/analytics/scheduled-reports/{id}/files. Use this to end a delivery for good; to pause it temporarily, PATCH is_active to false instead.
Inputs
idstringrequired- Scheduled report identifier
deelmcp_document_compliance_cancelCancels a custom document assignment for a specific worker.DestructiveDocument Compliance Cancel
Cancels a custom document assignment for a specific worker. Only works on documents not yet completed or signed. Triggers onboarding reassessment.
Inputs
document_template_idstringrequired- Unique identifier of the document template.
workerIdstringrequired- Unique identifier of the worker whose document assignment is being cancelled.
deelmcp_eor_amendment_deleteCancels a pending EOR contract amendment, voiding the request and preventing it from being reviewed or applied to the contract.DestructiveEor Amendment Delete
Cancels a pending EOR contract amendment, voiding the request and preventing it from being reviewed or applied to the contract.
- Idempotent
Inputs
amendment_idstringrequired- A unique identifier for the employee contract amendment.
contract_idstringrequired- The unique identifier of EOR worker contract.
deelmcp_eor_contract_cancelCancels the EOR contract identified by oid.DestructiveEor Contract Cancel
Cancels the EOR contract identified by oid. The contract must be in an active or pending state to be eligible for cancellation.
Inputs
dataobjectrequired- No description.
oidstringrequired- Contract oid
deelmcp_eor_offboarding_pto_review_submitSubmits PTO details for a resignation request, triggers related notifications, and finalizes the PTO review step.DestructiveEor Offboarding Pto Review Submit
Submits PTO details for a resignation request, triggers related notifications, and finalizes the PTO review step. Only callable when the resignation status is `AWAITING_PTO`.
Inputs
contract_idstringrequired- The unique identifier of the employee contract.
dataobject- No description.
deelmcp_eor_resignation_createInitiates a resignation request for an EOR contract.DestructiveEor Resignation Create
Initiates a resignation request for an EOR contract.
Inputs
contract_idstringrequired- The unique identifier of the employee contract.
deelmcp_external_org_personal_info_updatePartially updates a worker's personal information using an external identifier.DestructiveExternal Org Personal Info Update
Partially updates a worker's personal information using an external identifier. Only fields included in the request body are modified.
Inputs
dataobjectrequired- No description.
worker_idstringrequired- Unique identifier for a worker (External ID).
deelmcp_external_org_worker_relation_updateCreates or replaces the parent worker relation for the HrisProfile identified by the given external ID.DestructiveExternal Org Worker Relation Update
Creates or replaces the parent worker relation for the HrisProfile identified by the given external ID. If a parent relation already exists for this profile, it is overwritten with the supplied data.
- Idempotent
Inputs
profile_idstringrequired- HrisProfile external ID
dataobject- The request payload containing parent relationship details.
deelmcp_gp_termination_createInitiates the termination process for a Global Payroll worker.DestructiveGp Termination Create
Initiates the termination process for a Global Payroll worker. A successful response confirms the request was accepted and the process has begun, but does not indicate that termination is complete.
Inputs
dataobjectrequired- No description.
worker_idstringrequired- Unique identifier for a worker in UUID format.
deelmcp_hris_team_custom_field_updateApplies a partial update to custom field values on the specified team.DestructiveHris Team Custom Field Update
Applies a partial update to custom field values on the specified team. Updates can be scheduled for a future effective date, and setting a field's value to `null` deletes that field value.
Inputs
dataobjectrequired- No description.
team_idstringrequired- Public ID (UUID) of the HRIS team/organization structure
deelmcp_invoice_adjustment_deletePermanently removes an invoice adjustment by its `id`.DestructiveInvoice Adjustment Delete
Permanently removes an invoice adjustment by its `id`.
- Idempotent
Inputs
idstringrequired- Invoice adjustment id.
deelmcp_invoice_adjustment_updateApplies a partial update to an existing invoice adjustment; only fields included in the request body are modified.DestructiveInvoice Adjustment Update
Applies a partial update to an existing invoice adjustment; only fields included in the request body are modified.
Inputs
dataobjectrequired- Details of adjustment to update
idstringrequired- Invoice adjustment id.
deelmcp_invoice_payroll_adjustment_deletePermanently deletes an adjustment by its id.DestructiveInvoice Payroll Adjustment Delete
Permanently deletes an adjustment by its id.
- Idempotent
Inputs
idstringrequired- Deel adjustment id.
deelmcp_invoice_tax_deletePermanently removes the specified `tax_type` from the contract's invoicing tax configuration; this action is irreversible and takes effect on future invoices.DestructiveInvoice Tax Delete
Permanently removes the specified `tax_type` from the contract's invoicing tax configuration; this action is irreversible and takes effect on future invoices.
- Idempotent
Inputs
contract_idstringrequired- Deel Contract ID
tax_typestringrequired- IC tax typeone of
WITHHOLDING_TAXVAT
deelmcp_milestone_deletePermanently deletes a specific milestone from a contract.DestructiveMilestone Delete
Permanently deletes a specific milestone from a contract. This operation is irreversible and removes all associated milestone data.
- Idempotent
Inputs
contract_idstringrequired- The unique identifier of the Deel contract from which the milestone will be deleted.
milestone_idstringrequired- The unique identifier of the milestone that is to be deleted.
deelmcp_org_delete_structurePermanently removes an organization structure from the organization.DestructiveOrg Delete Structure
Permanently removes an organization structure from the organization.
- Idempotent
Inputs
external_idstringrequired- External ID
deelmcp_org_department_updateAssigns a worker to a department by their HRIS profile ID.DestructiveOrg Department Update
Assigns a worker to a department by their HRIS profile ID. By default the new assignment appends to existing positions; set `replace_other_positions` to true to replace all current positions instead.
- Idempotent
Inputs
dataobjectrequired- No description.
idstringrequired- Hris profile ID
replace_other_positionsboolean- Indicates if this department position should replace all other positions or only append to the existing ones.
deelmcp_org_group_deleteSoft-deletes a group by archiving it.DestructiveOrg Group Delete
Soft-deletes a group by archiving it. The group is not permanently removed and the response includes the `archived_at` timestamp reflecting when the archive occurred.
- Idempotent
Inputs
idstringrequired- Unique identifier of the group to be archived.
deelmcp_org_legal_entity_deleteArchives the legal entity identified by id, marking it as inactive without permanently removing it; the response includes the archived_at timestamp.DestructiveOrg Legal Entity Delete
Archives the legal entity identified by id, marking it as inactive without permanently removing it; the response includes the archived_at timestamp.
- Idempotent
Inputs
idstringrequired- The unique identifier of the legal entity.
deelmcp_org_person_custom_field_deleteRemoves a specific custom field value from a worker record by the custom field's ID.DestructiveOrg Person Custom Field Delete
Removes a specific custom field value from a worker record by the custom field's ID.
- Idempotent
Inputs
idstringrequired- Custom field id.
worker_idstringrequired- Worker id.
deelmcp_org_personal_info_updatePartially updates personal information for a worker by their worker ID; only fields included in the request body are modified.DestructiveOrg Personal Info Update
Partially updates personal information for a worker by their worker ID; only fields included in the request body are modified.
Inputs
dataobjectrequired- No description.
worker_idstringrequired- Unique identifier for a worker.
deelmcp_org_relation_type_deletePermanently deletes the worker relation type.DestructiveOrg Relation Type Delete
Permanently deletes the worker relation type. This operation is irreversible; ensure no active worker relations are associated with the type before calling.
- Idempotent
Inputs
type_idstringrequired- Worker Relation Type ID
deelmcp_org_structure_deletePermanently removes an organization structure from the organization.DestructiveOrg Structure Delete
Permanently removes an organization structure from the organization.
- Idempotent
Inputs
hris_org_structure_idstringrequired- Org Structure
deelmcp_org_worker_relations_child_updateCreates or replaces the child worker relation for the HrisProfile.DestructiveOrg Worker Relations Child Update
Creates or replaces the child worker relation for the HrisProfile. If a child relation already exists for this profile, it is overwritten with the supplied data.
- Idempotent
Inputs
hris_profile_oidstringrequired- HrisProfile ID
dataobject- No description.
deelmcp_timeoff_request_deleteCancels the time-off request identified by time_off_id, setting its status to CANCELED regardless of its current state.DestructiveTimeoff Request Delete
Cancels the time-off request identified by time_off_id, setting its status to CANCELED regardless of its current state.
Inputs
time_off_idstringrequired- Time off request id
deelmcp_timeoff_request_reviewApproves or rejects a batch of time-off requests in a single call.DestructiveTimeoff Request Review
Approves or rejects a batch of time-off requests in a single call. The desired status must be either APPROVED or REJECTED for each entry; the response distinguishes successfully processed requests from those that encountered errors.
Inputs
dataarrayrequired- Array of time-offs to be reviewed
deelmcp_timeoff_request_updateApplies a partial update to an existing time-off request identified by time_off_id.DestructiveTimeoff Request Update
Applies a partial update to an existing time-off request identified by time_off_id. Only fields included in the request body are modified.
Inputs
time_off_idstringrequired- Time off request id
dataobject- Time off update request data
deelmcp_timeoff_sync_runSynchronizes time-off requests from an external HRIS for Global Payroll contracts.DestructiveTimeoff Sync Run
Synchronizes time-off requests from an external HRIS for Global Payroll contracts. Records are upserted or deleted by external ID. Deel calculates the payroll cycle impact of each operation.
Inputs
dataobject- No description.
deelmcp_timesheet_deletePermanently deletes a timesheet entry.DestructiveTimesheet Delete
Permanently deletes a timesheet entry. An optional `reason` query parameter may be provided to record the rationale for deletion.
Inputs
timesheet_idstringrequired- ID of an existing timesheet
reasonstring- Reason for deleting an existing task
deelmcp_timesheet_preset_deletePermanently deletes an hourly report preset identified by id.DestructiveTimesheet Preset Delete
Permanently deletes an hourly report preset identified by id.
Inputs
idstringrequired- The unique identifier of the hourly report preset to delete
deelmcp_upsert_parent_worker_relationsCreate a parent worker relation.DestructiveUpsertParentWorkerRelations
Create a parent worker relation.
- Idempotent
Inputs
hrisProfileOidstringrequired- HrisProfile ID
dataobject- No description.
No tools match.