---
title: "Upsert engagement agreement details"
method: POST
path: "/v2/employments/{employment_id}/engagement-agreement-details"
tags: ["Engagement Agreement Details"]
---

# Upsert engagement agreement details

`POST /v2/employments/{employment_id}/engagement-agreement-details`

Creates or updates the engagement agreement details for an employment.

This endpoint requires country-specific data. The exact required fields will vary depending on
which country the employment is in. To see the list of parameters for each country, see the
**Show form schema** endpoint under the [Countries](#tag/Countries) category.

Please note that compliance requirements for each country are subject to change according to local laws.
Using Remote's [json-schema-form](https://developer.remote.com/docs/how-json-schemas-work) is recommended
to avoid compliance issues and to have the latest version of a country's requirements.



## Scopes

| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage employments (`employments`) | - | Manage employments (`employment:write`) |

## Path parameters

- `employment_id` string, required

## Request body

- EmploymentEngagementAgreementDetailsParams — Engagement agreement details schema compatible params.
  - `engagement_agreement_details` object, required — Engagement agreement details params. As its properties may vary depending on the country, you must query the [Show form schema](#tag/Countries/operation/get_show_engagement_agreement_details_country) endpoint passing the country code.
    - `allowances_details` string[], nullable
    - `available_pto` integer, nullable
    - `break_time_per_day` integer, nullable
    - `business_expenses` string, nullable
    - `cba` string, nullable
    - `cba_document` object, nullable
    - `covenants` string[], nullable
    - `has_allowances` string, nullable
    - `has_bonus` string, nullable
    - `has_business_expenses` string, nullable
    - `has_business_presence` string
    - `has_cba` string, nullable
    - `has_commissions` string, nullable
    - `has_covenants` string, nullable
    - `has_illness_remuneration` string, nullable
    - `has_overtime_compensation` string, nullable
    - `has_pension_scheme` string, nullable
    - `has_signing_bonus` string, nullable
    - `has_similar_roles` string
    - `has_similar_work_conditions` string, nullable
    - `illness_remuneration_details` string, nullable
    - `max_annual_gross_salary` integer, nullable
    - `min_annual_gross_salary` integer, nullable
    - `overtime_compensation_begins` integer, nullable
    - `overtime_compensation_type` string, nullable
    - `overtime_pay_percentage` integer, nullable
    - `pension_scheme` string, nullable
    - `similar_roles` string, nullable
    - `similar_work_conditions_details` string, nullable
    - `work_hours_per_week` integer, nullable
    - `working_days` string[], nullable

## Response `200`

Success

- SuccessResponse — A generic success response returned by operations that don't produce a specific resource (e.g., updates, deletes).
  - `data` object, required
    - `status` string — The result status. Always `"ok"` for successful operations.

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict
- `422` — Unprocessable Entity
- `429` — Unprocessable Entity

---

[API](https://skmtc.net/remote-com/apis/remote.md) · [All operations](https://skmtc.net/remote-com/apis/remote/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/remote-com/remote/revisions/7e6a0c61ac82/schema)
