---
title: "customField.setValue"
method: POST
path: "/customField.setValue"
tags: ["Custom Field"]
---

# customField.setValue

`POST /customField.setValue`

Set the value of a custom field for a given object.

**Note:** When updating multiple custom fields on the same object, use
[`customField.setValues`](#operation/customFieldSetValues) instead to avoid
race conditions.

**Note:** To set custom fields on an Employee, use [`user.setCustomFieldValue`](#operation/userSetCustomFieldValue) instead.

The values accepted in the `fieldValue` param depend on the type of field that's being updated. See below for more details:
  - Boolean - A boolean value
  - Date - An ISO Date string
  - LongText, String - String
  - ValueSelect - A string that matches the value of one of the ValueSelect field's options
  - MultiValueSelect - An array of strings that exist in the MultiValueSelect field's options
  - Number - A number
  - Currency - An object with the following properties:
    - value: A number
    - currencyCode: A valid ISO 4217 currency code
  - NumberRange - An object with the following properties:
    - type: "number-range"
    - minValue: A number
    - maxValue: A number
  - CompensationRange - An object with the following properties:
    - type: "compensation-range"
    - minValue: A number
    - maxValue: A number
    - currencyCode: A string
    - interval: A valid interval string
  - Url - A valid http or https URL (e.g., https://example.com)
  - UUID - A valid UUID string (e.g., for Employee fields)

**Requires the [`candidatesWrite`](authentication#permissions-customfieldsetvalue) permission.**

## Request body

- CustomFieldSetValueRequest
  - `objectId` string, uuid, required — The id of the object the field value is being set on.
  - `objectType` 'Application' | 'Candidate' | 'Job' | 'Opening', required — The type of object the field is associated with.
  - `fieldId` string, uuid, required — The unique id of the Custom Field definition for the field
  - `fieldValue` union, required — The value to store in the field. The accepted type depends on the custom field's `fieldType` (boolean, string, number, ISO date, object, array, etc.). See the description above for the full per-type table. - Location field: An object with the following properties: `{ country: "USA", city: "San Francisco", region: "California" }`. You may provide any combination of these properties and we will attempt to geocode the location. For best results, provide all three properties.
    - boolean
    - number
    - string
    - string[]
    - object
      - `value` number, required — The currency amount
      - `currencyCode` string, required — The currency code
    - object
      - `type` string, required — The range type
      - `minValue` number, required — The minimum value
      - `maxValue` number, required — The maximum value
    - object
      - `type` string, required — The compensation range type
      - `minValue` number, required — The minimum compensation value
      - `maxValue` number, required — The maximum compensation value
      - `currencyCode` string, required — The currency code
      - `interval` string, required — The compensation interval
    - object
      - `country` string — The country of the location
      - `region` string — The region of the location
      - `city` string — The city of the location

## Response `200`

Responses from the customField.setValue endpoint

- union
  - CustomFieldSetValueSuccessResponse
    - `success` true, required
    - `results` CustomFieldOnObject, required
      - `id` string, required — The custom field definition's unique identifier
      - `title` string, required — The custom field's title
      - `isPrivate` boolean — Whether the custom field is private
      - `valueLabel` union — The label of the custom field value. Only present for ValueSelect and MultiValueSelect fields.
        - string
        - string[]
      - `value` union, required — The current value of the custom field. The shape depends on the field's `fieldType` (boolean, string, number, ISO date, object, array, etc.). See the `customField.setValue` docs for per-type details.
        - boolean
        - number
        - string
        - string[]
        - object
          - `value` number, required — The currency amount
          - `currencyCode` string, required — The currency code
        - object
          - `type` string, required — The range type
          - `minValue` number, required — The minimum value
          - `maxValue` number, required — The maximum value
        - object
          - `type` string, required — The compensation range type
          - `minValue` number, required — The minimum compensation value
          - `maxValue` number, required — The maximum compensation value
          - `currencyCode` string, required — The currency code
          - `interval` string, required — The compensation interval
        - object
          - `country` string — The country of the location
          - `region` string — The region of the location
          - `city` string — The city of the location
  - ErrorResponse
    - `success` false, required
    - `errors` ErrorDetail[], required
      - `message` string, required
      - `parameter` string

---

[API](https://skmtc.net/ashbyhq/apis/ashby-api.md) · [All operations](https://skmtc.net/ashbyhq/apis/ashby-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ashbyhq/ashby-api/revisions/778b919dc743/schema)
