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

# customField.setValues

`POST /customField.setValues`

Set the values of multiple custom fields for a given object in a single call.
This is the recommended approach when updating multiple fields on the same object
to avoid race conditions that can occur with concurrent `customField.setValue` calls.

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

The values accepted in the `fieldValue` param depend on the type of field that's being updated. See the [`customField.setValue`](#operation/customFieldSetValue) docs for the full per-type table.

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

## Request body

- CustomFieldSetValuesRequest
  - `objectId` string, uuid, required — The id of the object the field values are being set on.
  - `objectType` 'Application' | 'Candidate' | 'Job' | 'Opening', required — The type of object the fields are associated with.
  - `values` object[], required — Array of custom field updates to apply
    - `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`. 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.setValues endpoint

- union
  - CustomFieldSetValuesSuccessResponse
    - `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)
