Skip to main content
DELETE
Delete a contact field (public API)
Removes one of your contact-field definitions. The values stay where they are.

Overview

What is and is not lost

The stored values are not deleted. They stop being returned by Get Contact, because that endpoint filters to keys the catalog still knows. Define the same key again and the values reappear.Scrubbing them would mean two losses for one action — the token stops resolving and the data is gone — and only one of those is reversible.
What the delete does break is any agent still using the token. {{contact.order_number}} in a saved flow resolves to an empty string from now on, and nothing else in the system would have told you. So the response names those agents in referencedBy. Treat a non-empty referencedBy as work to do: open each agent and remove or replace the token. An empty array means nothing referenced the field.

Seeded fields cannot be deleted

A field with isSystem: true belongs to the platform. DELETE on one is a 403. If you had defined your own field shadowing it, deleting yours simply reveals the seeded field again.

Scopes

write:contactsnot delete:contacts. This removes schema, not a contact, and the values already stored deliberately survive it; requiring the delete scope would imply the opposite.

Error Scenarios

  • 403 Forbidden: a seeded field; or the key lacks write:contacts
  • 404 Not Found: no such field in your company’s catalog

List Contact Fields

Find the field’s id

Update Contact Field

Change it instead of removing it

Authorizations

Authorization
string
header
required

API key for authentication using Bearer scheme

Path Parameters

id
string
required

Query Parameters

companyId
string

Required for ATS API keys to specify which company to access. Ignored for standard company API keys.

Response

id
string<uuid>
required

Id of the deleted field

key
string
required

Key of the deleted field

Example:

"order_number"

deleted
boolean
required

Always true; a failed delete answers with an error status

Example:

true

referencedBy
object[]
required

Agents whose saved flow still references {{contact.<key>}}. The token now resolves to an empty string in their calls. Empty when nothing referenced the field.