Dashboard

Contacts

Auth Required

Update Contact

PATCHhttps://api.inboxjot.com/v1/contacts/{contact_id}

Updates the fields you send and keeps the others. Needs a Full key. A key limited to one domain answers 403. Send an optional Idempotency-Key header to retry safely. See Idempotency.

PATCH/v1/contacts/{contact_id}
curl -X PATCH https://api.inboxjot.com/v1/contacts/con_06d2mfk8r9wq3zh5ka2pe \
  -H "Authorization: Bearer $INBOXJOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "first_name": "Riti",
    "properties": {
      "plan": "enterprise"
    },
    "topics": [
      {
        "id": "top_06d2mfk8r6pn2tc8yw3hd",
        "status": "unsubscribed"
      }
    ]
  }'
{
  "id": "con_06d2mfk8r9wq3zh5ka2pe",
  "email": "sukhamoy@example.com",
  "first_name": "Sukha",
  "last_name": "Moy",
  "status": "subscribed",
  "language": "en",
  "properties": {
    "plan": "enterprise"
  },
  "segments": [
    {
      "id": "seg_06d2mfk8r2kd7fq4mx9ab",
      "name": "Customers"
    }
  ],
  "topics": [
    {
      "id": "top_06d2mfk8r6pn2tc8yw3hd",
      "name": "Product Updates",
      "status": "unsubscribed",
      "subscribed": false
    }
  ],
  "created_at": "2026-10-12T09:41:07.000Z",
  "updated_at": "2026-10-15T14:02:33.000Z"
}

Returns the updated contact.

Path Parameters

contact_idstringrequired

A contact id, or the contact's email address.

Body Parameters

first_namestring | null

First name, up to 200 characters. Send null to clear it.

last_namestring | null

Last name, up to 200 characters. Send null to clear it.

languagestring | null

A language code, such as en or pt-BR.

notesstring | null

Private notes, up to 5,000 characters. Send null to clear them.

propertiesobject | null

Values for properties you added in Settings, keyed by the property key. Each value must match the property type: text up to 2,000 characters, a number, true or false, a date, or one of a choice property’s options. null clears a value. The values merge with the ones the contact has.

subscribedboolean | null

true subscribes the contact. false unsubscribes the contact from all email.

segment_idsstring[] | null

The static segments the contact belongs to, up to 50. The contact joins the ones in the list and leaves the static segments that are not in it. Leave it out to keep the segments as they are.

topicsobject[] | null

Topic choices to save, up to 100. Topics you leave out keep their choice.

Response

idstring

The contact id.

emailstring

The contact address.

first_namestring | null

First name.

last_namestring | null

Last name.

statusstring

One of subscribed, pending or unsubscribed.

languagestring

Language code.

propertiesobject

Property values, keyed by the property key.

segmentsobject[]

The segments the contact is in.

topicsobject[]

Every topic in the workspace, with the contact’s choice.

created_atstring

ISO 8601 time.

updated_atstring

ISO 8601 time.

Responses

PATCH/v1/contacts/{contact_id}
curl -X PATCH https://api.inboxjot.com/v1/contacts/con_06d2mfk8r9wq3zh5ka2pe \
  -H "Authorization: Bearer $INBOXJOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "first_name": "Riti",
    "properties": {
      "plan": "enterprise"
    },
    "topics": [
      {
        "id": "top_06d2mfk8r6pn2tc8yw3hd",
        "status": "unsubscribed"
      }
    ]
  }'
{
  "id": "con_06d2mfk8r9wq3zh5ka2pe",
  "email": "sukhamoy@example.com",
  "first_name": "Sukha",
  "last_name": "Moy",
  "status": "subscribed",
  "language": "en",
  "properties": {
    "plan": "enterprise"
  },
  "segments": [
    {
      "id": "seg_06d2mfk8r2kd7fq4mx9ab",
      "name": "Customers"
    }
  ],
  "topics": [
    {
      "id": "top_06d2mfk8r6pn2tc8yw3hd",
      "name": "Product Updates",
      "status": "unsubscribed",
      "subscribed": false
    }
  ],
  "created_at": "2026-10-12T09:41:07.000Z",
  "updated_at": "2026-10-15T14:02:33.000Z"
}

Returns the updated contact.