Contact Emails
Create a contact email
Add an email address to a contact, optionally with a label (e.g. "Work"). **Requires `Idempotency-Key`.** Returns the created row: `{ data: { contact_email: {...} } }`, status 201.
POST /v2/contact-emails/{contactId}
Parameters
Path parameters
contactId
string (uuid) required
Request body
Content-Type: application/json
email
string (email) required
label
string
ranking
integer
Example
{
"email": "[email protected]"
}
Responses
201 — Created
Content-Type: application/json
data
object required
data.email
object required
data.email.id
string (uuid) required
data.email.contact_id
string (uuid) required
data.email.user_id
string
data.email.email
string required
data.email.label
string | null
data.email.ranking
integer required
data.email.created_at
string (date-time) required
data.email.updated_at
string (date-time) required
Example
{
"data": {
"email": {
"id": "00000000-0000-0000-0000-000000000000",
"contact_id": "00000000-0000-0000-0000-000000000000",
"email": "string",
"ranking": 0,
"created_at": "2026-08-21T15:31:00.992Z",
"updated_at": "2026-08-21T15:31:00.992Z"
}
}
}
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/contact-emails/00000000-0000-0000-0000-000000000000 \
--request POST \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"email": "[email protected]"
}'
fetch('https://api.prod.getdex.com/v2/contact-emails/00000000-0000-0000-0000-000000000000', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
email: '[email protected]'
})
})
requests.post(
"https://api.prod.getdex.com/v2/contact-emails/00000000-0000-0000-0000-000000000000",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"email": "[email protected]"
}
)
Delete a meeting type
Permanently delete a meeting type. Pass `?reassign_to=<meetingTypeId>` to move the type's existing notes onto another type; omit it and they fall back to the plain 'note' type. Both happen in one tran
Reorder contact emails
Set the display order of a contact's emails. Body is id-based: `{ order: [{ id, ranking }] }` (row ids survive, unlike v1's positional payload). **Requires `Idempotency-Key`.** Returns the bulk envelo

