---
title: "Update a Custom Field Value"
method: PUT
path: "/v1/custom-fields/{custom_field_id}/values/{employment_id}"
tags: ["Custom Fields"]
---

# Update a Custom Field Value

`PUT /v1/custom-fields/{custom_field_id}/values/{employment_id}`

## Request

- Base URL: `https://gateway.remote.com`
- URL: `https://gateway.remote.com/v1/custom-fields/{custom_field_id}/values/{employment_id}`
- Auth: one of:
  - OAuth 2
    - Authorization code: `/auth/oauth2/authorize`
    - Token URL: `/auth/oauth2/token` scopes: `https://gateway.remote.com/company.manage`
  - OAuth 2
    - Authorization code: `/auth/oauth2/authorize`
    - Token URL: `/auth/oauth2/token` scopes: `custom_field_value:write`
  - OAuth 2
    - Authorization code: `/auth/oauth2/authorize`
    - Token URL: `/auth/oauth2/token` scopes: `all:write`
  - OAuth 2
    - Client credentials
    - Token URL: `/auth/oauth2/token` scopes: `custom_field_value:write`
  - OAuth 2
    - Client credentials
    - Token URL: `/auth/oauth2/token` scopes: `all:write`
  - HTTP bearer

Updates a custom field value for a given employment.

## Authentication

This endpoint accepts any one of the following token types:

- **Company-scoped access token** (`OAuth2AuthorizationCode`) — obtained by a company manager through the Authorization Code flow or the Refresh Token flow. See [Authentication for partners](https://developer.remote.com/docs/authentication-for-partners).
- **Company-scoped access token (assertion)** (`OAuth2CompanyManagerAssertion`) — obtained through the `urn:ietf:params:oauth:grant-type:jwt-bearer` grant for a company manager. See [OAuth Assertion](https://developer.remote.com/docs/authorization-method-oauth-assertion).
- **Customer API token** (`CustomerAPIToken`) — generated by the customer on their Integration Settings page, with the scopes they choose there. See [Authorization for customers](https://developer.remote.com/docs/authorization-for-customers).

## Scopes

Any one of the scopes in a token type's row is enough. `all:write` works too.

| Token type | Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|---|
| Company-scoped access token | Manage employments (`employments`) | - | Manage custom field values (`custom_field_value:write`) |
| Company-scoped access token (assertion) | Manage employments (`employments`) | - | Manage custom field values (`custom_field_value:write`) |
| Customer API token | Manage employments (`employments`) | - | Manage custom field values (`custom_field_value:write`) |

## Path parameters

- `custom_field_id` string, required
- `employment_id` string, required

## Request body

- UpdateEmploymentCustomFieldValueParams: Schema for updating a custom field value.
  - `value` union, required
    - string: For string, text, or link data types. Also decimal values represented as strings, including percentage, decimal, and currency data types. Currency values must be provided in cents (e.g. "1042.00" for $10.42)
    - integer: For integer data type.
    - string, date: UTC date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format
    - boolean: For boolean data type.
    - string, uuid: Selected option value. For single select data.

## Response `200`

Success

- EmploymentCustomFieldValueResponse: Response containing a single custom field value for an employment.
  - `data` object, required
    - `custom_field_value` EmploymentCustomFieldValue, required: The value of a custom field for a specific employment. The type of `value` depends on the custom field's data type.
      - `custom_field_id` string, required: The unique identifier (UUID) of the custom field definition this value belongs to.
      - `value` union, required
        - string
        - integer
        - boolean
        - number: Decimal value represented as a String
        - EmploymentCustomFieldValueJsonValue: The value for a single-select custom field, containing both the option ID and its human-readable label.
          - `selected_option` string, required: The unique identifier of the selected option.
          - `selected_option_label` string, required: The human-readable label of the selected option (e.g., "XL").

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `422`: Unprocessable Entity

---

[API](https://skmtc.dev/remote-com/apis/integrations.md) - [All operations](https://skmtc.dev/remote-com/apis/integrations/llms.txt) - [OpenAPI document](https://skmtc.dev/remote-com/apis/integrations/revisions/1798c3c003d5?raw)
