Skip to main content
POST
/
api
/
v2
/
contact
/
{contact_id}
/
attribute
/
contact_emails
Add an email sub-resource item
curl --request POST \
  --url https://api.example.com/api/v2/contact/{contact_id}/attribute/contact_emails \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "email": "sarah.work@acme.com",
  "is_primary": false,
  "labels": [
    "WORK"
  ]
}
'
{
  "data": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "envelope": {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "email": "jsmith@example.com",
      "is_primary": true,
      "labels": []
    }
  }
}

Authorizations

Authorization
string
header
required

Reevo API key passed as Authorization: Bearer <api-key>.

Path Parameters

contact_id
string<uuid>
required

Body

application/json

Write payload for the contact_email value type.

email
string<email>
required
is_primary
boolean
required
labels
enum<string>[]

Public wire counterpart of the internal ContactChannelLabel.

Members mirror ContactChannelLabel 1:1 (same value set). A unit test (test_contact_public_adapter.py) asserts the two member-value sets stay identical so divergence fails CI. Typing the request/response labels fields as this enum lets Pydantic reject unknown labels at the boundary instead of the adapter raising on an invalid string.

Available options:
PERSONAL,
WORK,
MOBILE

Response

Successful Response

Wrapper around a single SubResourceItemData.

data
SubResourceItemData · object
required

Sub-resource item: the item's id plus the raw compound payload.