Contact Fields

By Orqestra · Published September 2, 2026

Overview

Custom attributes on a single contact — order numbers, plan tiers, anything your business tracks that Orqestra does not model natively. These values are readable from automations, so a field written here can drive a Journey branch or appear in a template variable.

3 endpoints. Requires contacts.edit on the token.

MethodPathWhat it does
POST/contacts/{id}/fieldsAdd a custom field
DELETE/contacts/{id}/fields/{fieldId}Delete a custom field
PATCH/contacts/{id}/fields/{fieldId}Update a custom field

Endpoints

POST /contacts/{id}/fields

Add a custom field

Add a custom field (key-value pair) to a contact. Requires `contacts.edit` permission.

Requires the contacts.edit permission.

ParameterInTypeRequiredDescription
idpathstringrequiredContact ID (cuid)

Request body

FieldTypeRequiredDescription
labelstringrequiredField label (e.g. "Email", "Company")
valuestringrequiredField value

Example

curl -X POST "https://orqestra.id/api/v2/contacts/$id/fields" \
  -H "Authorization: Bearer $ORQESTRA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "label": "string",
    "value": "string"
  }'

Responds with 200 · 400 · 401 · 403 · 404. Try it in the playground →


DELETE /contacts/{id}/fields/{fieldId}

Delete a custom field

Delete a contact custom field permanently. Requires `contacts.edit` permission.

Requires the contacts.edit permission.

ParameterInTypeRequiredDescription
idpathstringrequiredContact ID (cuid)
fieldIdpathstringrequiredField ID (cuid)

Example

curl -X DELETE "https://orqestra.id/api/v2/contacts/$id/fields/$fieldId" \
  -H "Authorization: Bearer $ORQESTRA_TOKEN"

Responds with 200 · 401 · 403 · 404. Try it in the playground →


PATCH /contacts/{id}/fields/{fieldId}

Update a custom field

Update the label or value of an existing contact custom field. Requires `contacts.edit` permission.

Requires the contacts.edit permission.

ParameterInTypeRequiredDescription
idpathstringrequiredContact ID (cuid)
fieldIdpathstringrequiredField ID (cuid)

Request body

FieldTypeRequiredDescription
labelstringoptionalNew field label
valuestringoptionalNew field value

Example

curl -X PATCH "https://orqestra.id/api/v2/contacts/$id/fields/$fieldId" \
  -H "Authorization: Bearer $ORQESTRA_TOKEN"

Responds with 200 · 400 · 401 · 403 · 404. Try it in the playground →