Tags

Create + assign tags to a contact

Find-or-create tags by name and assign them to one contact. Body: `{ tagNames: [...] }`. **Requires `Idempotency-Key`.** Returns the resulting tag list: `{ data: { tags: [...] } }` so the client can w

POST /v2/tags/contacts/{contactId}/create-assign

Parameters

Path parameters

contactId
string (uuid) required

Header parameters

Idempotency-Key
string required
Required. UUID per logical operation, reused on every retry. See apps/rest-api/src/shared/idempotency.ts for the full contract. Missing → 400 BadRequest; same key + different body → 409 Conflict.

Request body

Content-Type: application/json

tagNames
array<string> required

Example

{
  "tagNames": [
    "string"
  ]
}

Responses

200 — Successful response

Content-Type: application/json

data
object required
data.tags
array<object> required
data.tags[].id
string (uuid) required
data.tags[].user_id
string
data.tags[].name
string
data.tags[]._count
object
data.tags[]._count.tags_contacts
integer
data.pagination
object
data.pagination.nextCursor
string | null
data.pagination.count
integer

Example

{
  "data": {
    "tags": [
      {
        "id": "00000000-0000-0000-0000-000000000000"
      }
    ]
  }
}

400

No response body.

401

No response body.

403

No response body.

404

No response body.

409

No response body.

429

No response body.

500

No response body.

Code samples

curl https://api.prod.getdex.com/v2/tags/contacts/00000000-0000-0000-0000-000000000000/create-assign \
  --request POST \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "tagNames": [
    "string"
  ]
}'
Copyright © 2026