Employments
Contract Details

Update contract details

Changed on

Updates employment's contract details.

A job title eligibility check verdict is required before contract details can be submitted. Run POST /api/eor/v2/employments/{employment_id}/job-title-eligibility-check first and send the check_id it returns as additional_job_title_eligibility_check_slug. A missing verdict, or one recorded against a different job title or role answer, is rejected — the check is never evaluated as part of this request.

This endpoint requires and returns country-specific data. The exact required and returned 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 category.

Please note that the compliance requirements for each country are subject to change according to local laws. Given its continual updates, using Remote's json-schema-form should be considered in order to avoid compliance issues and to have the latest version of a country requirements.

If you are using this endpoint to build an integration, make sure you are dynamically collecting or displaying the latest parameters for each country by querying the "Show form schema" endpoint.

For more information on JSON Schemas, see the How JSON Schemas work documentation.

To learn how you can dynamically generate forms to display in your UI, see the documentation for the json-schema-form tool.

Authentication

This endpoint accepts any one of the following token types:

  • Company-scoped access token (OAuth2AuthorizationCode) — obtained through the Authorization Code flow or the Refresh Token flow. See Authentication for partners.
  • Customer API token (CustomerAPIToken) — generated by the customer on their Integration Settings page. See Authorization for customers.

Scopes

CategoryRead only ScopeWrite only Scope (read access implicit)
Manage employments (employments)-Manage employments (employment:write)
put/v2/employments/{employment_id}/contract-details

Request

  • Base URL: https://gateway.remote.com
  • URL: https://gateway.remote.com/v2/employments/{employment_id}/contract-details
  • Auth: HTTP bearer and OAuth 2 (authorization code, authorization URL /auth/oauth2/authorize, token URL /auth/oauth2/token, scopes: https://gateway.remote.com/company.manage, employment:write, employments, all:write)

Path parameters

employment_idstring required

Employment ID

Query parameters

integer

Specific version number

OR
'latest'

Use latest version

Version of the contract_details form schema

skip_benefitsboolean

Skips the dynamic benefits part of the schema if set. To be used when benefits are set via its own API.

Request body

contract_detailsobject required

Contract information. As its properties may vary depending on the country, you must query the Show form schema endpoint passing the country code and contract_details as path parameters.

When the job title eligibility check requires an acknowledgement, present Remote's responsibility statement to the employer and obtain their acceptance before sending employer_acknowledges_risk as acknowledged. Sending it asserts that the employer was informed of, and accepted, responsibility for, as applicable, employee safety, training, health checks, any incidents connected to the employee's work environment, and the employee holding the licensing the role requires.

Example request

{
  "contract_details": {
    "annual_gross_salary": 120000,
    "contract_duration_type": "indefinite",
    "job_title": "Software Engineer",
    "work_hours_per_week": 40
  }
}

Response

Success

Example response

{
  "data": {
    "employment": {
      "contract_origin": "remote_contract",
      "id": "20a72f86-employment-id-9e4942a902ff",
      "personal_details": {},
      "status": "created",
      "type": "employee",
      "updated_at": "2024-01-15T10:30:00Z",
      "user_status": "active"
    }
  }
}

Changes

    • warning

      added the new invited enum value to the // response property for the response status

    • info

      removed the offboarding enum value from the // response property for the response status