Skip to content
API PlatformDevelopers
GET/v1/custom-fields/{custom_field_id}beta

Get a custom field

Needs
Read your data (mcp:read)
Plan
Any plan with API access
Limits
300 a minute per key
Undo
Nothing to undo: this only reads.

Returns one custom field: its key, label, type, the options of a choice field, placeholder, read_only, visibility, whether contacts hold values in it (in_use) and when it was created and last changed.

A field that is visible to managers only (visibility: manager_only) is 404 for a key whose staff member is not a manager, exactly as if it did not exist, and it is not in List custom fields for them either.

Try it

Path

The custom field id.

This only reads. It uses your real data and changes nothing.

Code and response

curl -X GET 'https://mcp.wa-api.cloud/v1/custom-fields/32' \
  -H "Authorization: Bearer $API_KEY"

The code reads your key from $API_KEY.

Parameters

Parameters
FieldTypeWhat it is
custom_field_idrequiredstring | integer · pathThe custom field id.pattern ^[1-9]\d{0,18}$

Headers

Headers
FieldTypeWhat it is
AuthorizationrequiredheaderBearer $API_KEY — your API key.
Api-VersionheaderThe API version to use, e.g. 2026-10-01. Default: the version your key is pinned to.one of: 2026-10-01 · pattern ^\d{4}-\d{2}-\d{2}$

Response 200

The custom field.

Response fields
FieldTypeWhat it is
idrequiredstring
keyrequiredstringUse this key in attributes: { "<key>": value }.
labelrequiredstring or null
typerequiredstring or null
optionsrequiredarray of object or nullAllowed values for select / multiselect / radio fields.
labelrequiredstring
valuerequiredstring
read_onlyrequiredboolean
visibilityrequiredstring or nullvisible_to_all or manager_only.
in_userequiredboolean or null
created_atrequiredstring or null
placeholderrequiredstring or nullHint shown in the empty input (none for checkbox, boolean and choice fields).
updated_atrequiredstring or null

Errors

Errors are application/problem+json. Branch on code.

StatusCodeWhen
400invalid_input

A field is missing or has the wrong format. errors[] points at each field.

401unauthenticated

The Authorization header is missing, the key is unknown, expired or revoked.

403entitlement_required

The workspace's plan does not include API access (api_access).

403insufficient_scope

The key does not have the permission this operation needs.

404not_found

No custom field with this id in your workspace, or it is visible to managers only and your key's staff member is not one.

429rate_limited

The key or workspace went over its rate limit. Wait for Retry-After seconds.

503upstream_unavailable

A service behind the API is briefly unavailable. Safe to retry with backoff.

Examples

Read a choice field

Response 200

{
  "id": "32",
  "key": "loyalty_tier",
  "label": "Loyalty tier",
  "type": "select",
  "options": [
    {
      "label": "Gold",
      "value": "gold"
    },
    {
      "label": "Silver",
      "value": "silver"
    }
  ],
  "read_only": false,
  "visibility": "visible_to_all",
  "in_use": true,
  "created_at": "2026-09-02T08:00:00Z",
  "placeholder": null,
  "updated_at": "2026-09-20T10:30:00Z"
}

Operation path

The same operation is also at POST /v1/ops/crm_get_custom_field, with every field in the JSON body.