API reference
Contacts
/ v1/ orgs/ :orgId/ mail/ mailboxes/ :mailboxId/ address-booksThe mailbox's address books, default first. The default address book is created on first use.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- contacts:read
Path parameters
orgIdOrganization id (
org_…).mailboxIdMailbox id (
mbx_…).
Errors
403Mailboxes are only available to members.404Mailbox not found
curl 'https://api.cactive.com.au/v1/orgs/{orgId}/mail/mailboxes/{mailboxId}/address-books' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
addressBooks: {
addressBookId: string
name: string
isDefault: boolean
version: number
}[]
}/ v1/ orgs/ :orgId/ mail/ mailboxes/ :mailboxId/ address-booksCreates an address book (at most 20 per mailbox).
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- contacts:write
Path parameters
orgIdOrganization id (
org_…).mailboxIdMailbox id (
mbx_…).
Request body
nameany JSONrequired
Errors
403Mailboxes are only available to members.404Mailbox not found
curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/mail/mailboxes/{mailboxId}/address-books' \
-H "Authorization: Bearer $CACTIVE_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"name": {}
}'Response 201
{
addressBook: {
addressBookId: string
name: string
isDefault: boolean
version: number
}
}/ v1/ orgs/ :orgId/ mail/ mailboxes/ :mailboxId/ address-books/ :addressBookIdRenames an address book.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- contacts:write
Path parameters
orgIdOrganization id (
org_…).mailboxIdMailbox id (
mbx_…).addressBookIdAddress book id (
abk_…).
Request body
nameany JSONrequired
Errors
403Mailboxes are only available to members.404Mailbox not found
curl -X PATCH 'https://api.cactive.com.au/v1/orgs/{orgId}/mail/mailboxes/{mailboxId}/address-books/{addressBookId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"name": {}
}'Response 200
{
addressBook: {
addressBookId: string
name: string
isDefault: boolean
version: number
}
}/ v1/ orgs/ :orgId/ mail/ mailboxes/ :mailboxId/ address-books/ :addressBookIdDeletes an address book and its contacts. The default address book can't be deleted.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- contacts:write
Path parameters
orgIdOrganization id (
org_…).mailboxIdMailbox id (
mbx_…).addressBookIdAddress book id (
abk_…).
Errors
400The default address book can't be deleted.403Mailboxes are only available to members.404Mailbox not found
curl -X DELETE 'https://api.cactive.com.au/v1/orgs/{orgId}/mail/mailboxes/{mailboxId}/address-books/{addressBookId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 204 with no body
/ v1/ orgs/ :orgId/ mail/ mailboxes/ :mailboxId/ contactsContacts by name across the mailbox's address books, or one. q matches names, emails, phone numbers and organizations; every word must match. Pages with cursor.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- contacts:read
Path parameters
orgIdOrganization id (
org_…).mailboxIdMailbox id (
mbx_…).
Query parameters
qstringUp to 200 characters.
addressBookIdstringUp to 40 characters.
labelstring1–100 characters. Trimmed.
cursorstringUp to 2,000 characters.
limitinteger1–500. Coerced from a string.
Errors
403Mailboxes are only available to members.404Mailbox not found
curl 'https://api.cactive.com.au/v1/orgs/{orgId}/mail/mailboxes/{mailboxId}/contacts' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
contacts: {
hasPhoto: boolean
updatedAt: number
uid: string
fullName: string
name: {
family: string
given: string
additional: string
prefix: string
suffix: string
}
nickname: string
emails: {
value: string
type: string
pref?: boolean
}[]
phones: {
value: string
type: string
pref?: boolean
}[]
addresses: {
type: string
poBox: string
extended: string
street: string
locality: string
region: string
postalCode: string
country: string
}[]
urls: {
value: string
type: string
pref?: boolean
}[]
organization: string
department: string
title: string
birthday?: string
anniversary?: string
notes: string
categories: string[]
contactId: string
addressBookId: string
version: number
displayName: string
}[]
cursor: null | string
}/ v1/ orgs/ :orgId/ mail/ mailboxes/ :mailboxId/ contacts/ summaryThe mailbox's contacts at a glance: how many, their labels with counts, and birthdays in the next days days from today (the reader's date).
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- contacts:read
Path parameters
orgIdOrganization id (
org_…).mailboxIdMailbox id (
mbx_…).
Query parameters
todaystringMatches
^\d{4}-\d{2}-\d{2}$.daysintegerDefault
30. 0–366. Coerced from a string.
Errors
403Mailboxes are only available to members.404Mailbox not found
curl 'https://api.cactive.com.au/v1/orgs/{orgId}/mail/mailboxes/{mailboxId}/contacts/summary' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
total: number
labels: {
name: string
count: number
}[]
birthdays: {
contact: {
contactId: string
addressBookId: string
version: number
displayName: string
uid: string
fullName: string
name: {
family: string
given: string
additional: string
prefix: string
suffix: string
}
nickname: string
emails: {
value: string
type: string
pref?: boolean
}[]
phones: {
value: string
type: string
pref?: boolean
}[]
addresses: {
type: string
poBox: string
extended: string
street: string
locality: string
region: string
postalCode: string
country: string
}[]
urls: {
value: string
type: string
pref?: boolean
}[]
organization: string
department: string
title: string
birthday?: string
anniversary?: string
notes: string
categories: string[]
hasPhoto: boolean
updatedAt: number
}
date: string
days: number
turns?: number
}[]
}/ v1/ orgs/ :orgId/ mail/ mailboxes/ :mailboxId/ contacts/ duplicatesContacts that look like the same person (a shared email, phone number or full name), fullest first in each group.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- contacts:read
Path parameters
orgIdOrganization id (
org_…).mailboxIdMailbox id (
mbx_…).
Errors
403Mailboxes are only available to members.404Mailbox not found
curl 'https://api.cactive.com.au/v1/orgs/{orgId}/mail/mailboxes/{mailboxId}/contacts/duplicates' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
groups: {
key: string
reason: "email" | "name" | "phone"
value: string
contacts: {
contactId: string
addressBookId: string
version: number
displayName: string
uid: string
fullName: string
name: {
family: string
given: string
additional: string
prefix: string
suffix: string
}
nickname: string
emails: {
value: string
type: string
pref?: boolean
}[]
phones: {
value: string
type: string
pref?: boolean
}[]
addresses: {
type: string
poBox: string
extended: string
street: string
locality: string
region: string
postalCode: string
country: string
}[]
urls: {
value: string
type: string
pref?: boolean
}[]
organization: string
department: string
title: string
birthday?: string
anniversary?: string
notes: string
categories: string[]
hasPhoto: boolean
updatedAt: number
}[]
}[]
}/ v1/ orgs/ :orgId/ mail/ mailboxes/ :mailboxId/ contacts/ frequentThe people the mailbox writes to most (its recent sent mail), with their contacts. Needs mail:read as well.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scopes
- contacts:read, mail:read
Path parameters
orgIdOrganization id (
org_…).mailboxIdMailbox id (
mbx_…).
Query parameters
limitintegerDefault
12. 1–50. Coerced from a string.
Errors
403Mailboxes are only available to members.404Mailbox not found
curl 'https://api.cactive.com.au/v1/orgs/{orgId}/mail/mailboxes/{mailboxId}/contacts/frequent' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
frequent: {
address: string
name?: string
count: number
lastAt: number
contact?: {
contactId: string
addressBookId: string
version: number
displayName: string
uid: string
fullName: string
name: {
family: string
given: string
additional: string
prefix: string
suffix: string
}
nickname: string
emails: {
value: string
type: string
pref?: boolean
}[]
phones: {
value: string
type: string
pref?: boolean
}[]
addresses: {
type: string
poBox: string
extended: string
street: string
locality: string
region: string
postalCode: string
country: string
}[]
urls: {
value: string
type: string
pref?: boolean
}[]
organization: string
department: string
title: string
birthday?: string
anniversary?: string
notes: string
categories: string[]
hasPhoto: boolean
updatedAt: number
}
}[]
}/ v1/ orgs/ :orgId/ mail/ mailboxes/ :mailboxId/ contacts/ mergeMerges contacts into one (keep): blank fields filled, every distinct email, phone, address and label kept; the others are deleted.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- contacts:write
Path parameters
orgIdOrganization id (
org_…).mailboxIdMailbox id (
mbx_…).
Request body
keepobjectrequiredkeep.addressBookIdstringrequired1–40 characters.
keep.contactIdstringrequired1–40 characters.
mergeobject[]required1–9 items.
merge[].addressBookIdstringrequired1–40 characters.
merge[].contactIdstringrequired1–40 characters.
Errors
403Mailboxes are only available to members.404Mailbox not found
curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/mail/mailboxes/{mailboxId}/contacts/merge' \
-H "Authorization: Bearer $CACTIVE_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"keep": {
"addressBookId": "<addressBookId>",
"contactId": "<contactId>"
},
"merge": [
{
"addressBookId": "<addressBookId>",
"contactId": "<contactId>"
}
]
}'Response 200
{
contact: {
hasPhoto: boolean
updatedAt: number
uid: string
fullName: string
name: {
family: string
given: string
additional: string
prefix: string
suffix: string
}
nickname: string
emails: {
value: string
type: string
pref?: boolean
}[]
phones: {
value: string
type: string
pref?: boolean
}[]
addresses: {
type: string
poBox: string
extended: string
street: string
locality: string
region: string
postalCode: string
country: string
}[]
urls: {
value: string
type: string
pref?: boolean
}[]
organization: string
department: string
title: string
birthday?: string
anniversary?: string
notes: string
categories: string[]
contactId: string
addressBookId: string
version: number
displayName: string
}
}/ v1/ orgs/ :orgId/ mail/ mailboxes/ :mailboxId/ contacts/ bulkOne change to many contacts: add or remove labels, move to another address book, or delete.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- contacts:write
Path parameters
orgIdOrganization id (
org_…).mailboxIdMailbox id (
mbx_…).
Request body
contactsobject[]required1–500 items.
contacts[].addressBookIdstringrequired1–40 characters.
contacts[].contactIdstringrequired1–40 characters.
addLabelsany JSON[]Up to 10 items.
removeLabelsany JSON[]Up to 10 items.
moveTostringUp to 40 characters.
deletetrue
Errors
400Choose one change: labels, a move or delete.403Mailboxes are only available to members.404Mailbox not found
curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/mail/mailboxes/{mailboxId}/contacts/bulk' \
-H "Authorization: Bearer $CACTIVE_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"contacts": [
{
"addressBookId": "<addressBookId>",
"contactId": "<contactId>"
}
]
}'Response 200
{
changed: number
}/ v1/ orgs/ :orgId/ mail/ mailboxes/ :mailboxId/ contacts/ labels/ :labelRenames a label on every contact that has it.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- contacts:write
Path parameters
orgIdOrganization id (
org_…).mailboxIdMailbox id (
mbx_…).labelHosted runner type label, e.g.
linux-arm64.
Request body
nameany JSONrequired
Errors
403Mailboxes are only available to members.404Mailbox not found
curl -X PATCH 'https://api.cactive.com.au/v1/orgs/{orgId}/mail/mailboxes/{mailboxId}/contacts/labels/{label}' \
-H "Authorization: Bearer $CACTIVE_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"name": {}
}'Response 200
{
changed: number
}/ v1/ orgs/ :orgId/ mail/ mailboxes/ :mailboxId/ contacts/ labels/ :labelRemoves a label from every contact (the contacts stay).
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- contacts:write
Path parameters
orgIdOrganization id (
org_…).mailboxIdMailbox id (
mbx_…).labelHosted runner type label, e.g.
linux-arm64.
Errors
403Mailboxes are only available to members.404Mailbox not found
curl -X DELETE 'https://api.cactive.com.au/v1/orgs/{orgId}/mail/mailboxes/{mailboxId}/contacts/labels/{label}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
changed: number
}/ v1/ orgs/ :orgId/ mail/ contacts/ lookupContacts with an email address across the person's mailboxes in the org (or one, mailboxId): Mail's sender cards and Customers' "In Contacts". Mailboxes they aren't a member of are never read.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- contacts:read
Path parameters
orgIdOrganization id (
org_…).
Query parameters
emailstringrequiredUp to 320 characters. Trimmed. Email address.
mailboxIdstringUp to 40 characters.
Errors
403Mailboxes are only available to members.
curl 'https://api.cactive.com.au/v1/orgs/{orgId}/mail/contacts/lookup?email=person%40example.com' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
matches: {
mailboxId: string
mailboxAddress: string
contact: {
contactId: string
addressBookId: string
version: number
displayName: string
uid: string
fullName: string
name: {
family: string
given: string
additional: string
prefix: string
suffix: string
}
nickname: string
emails: {
value: string
type: string
pref?: boolean
}[]
phones: {
value: string
type: string
pref?: boolean
}[]
addresses: {
type: string
poBox: string
extended: string
street: string
locality: string
region: string
postalCode: string
country: string
}[]
urls: {
value: string
type: string
pref?: boolean
}[]
organization: string
department: string
title: string
birthday?: string
anniversary?: string
notes: string
categories: string[]
hasPhoto: boolean
updatedAt: number
}
}[]
}/ v1/ orgs/ :orgId/ mail/ mailboxes/ :mailboxId/ address-books/ :addressBookId/ contactsCreates a contact. It needs a name, organization, email or phone number.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- contacts:write
Path parameters
orgIdOrganization id (
org_…).mailboxIdMailbox id (
mbx_…).addressBookIdAddress book id (
abk_…).
Request body
fullNameany JSONnameobjectname.familyany JSONDefault
"".name.givenany JSONDefault
"".name.additionalany JSONDefault
"".name.prefixany JSONDefault
"".name.suffixany JSONDefault
"".nicknameany JSONemailsany JSONphonesany JSONaddressesobject[]Up to 10 items.
addresses[].type"home" | "work" | "other"Default
"home".addresses[].poBoxany JSONDefault
"".addresses[].extendedany JSONDefault
"".addresses[].streetany JSONDefault
"".addresses[].localityany JSONDefault
"".addresses[].regionany JSONDefault
"".addresses[].postalCodeany JSONDefault
"".addresses[].countryany JSONDefault
"".urlsany JSONorganizationany JSONdepartmentany JSONtitleany JSONbirthdaystringMatches
^(\d{4}|-)-\d{2}-\d{2}$|^$.anniversarystringMatches
^(\d{4}|-)-\d{2}-\d{2}$|^$.notesstringUp to 32,000 characters.
categoriesany JSON[]Up to 30 items.
Errors
403Mailboxes are only available to members.404Mailbox not found
curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/mail/mailboxes/{mailboxId}/address-books/{addressBookId}/contacts' \
-H "Authorization: Bearer $CACTIVE_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"fullName": {},
"name": {
"family": "",
"given": "",
"additional": ""
},
"nickname": {}
}'Response 201
{
contact: {
hasPhoto: boolean
updatedAt: number
uid: string
fullName: string
name: {
family: string
given: string
additional: string
prefix: string
suffix: string
}
nickname: string
emails: {
value: string
type: string
pref?: boolean
}[]
phones: {
value: string
type: string
pref?: boolean
}[]
addresses: {
type: string
poBox: string
extended: string
street: string
locality: string
region: string
postalCode: string
country: string
}[]
urls: {
value: string
type: string
pref?: boolean
}[]
organization: string
department: string
title: string
birthday?: string
anniversary?: string
notes: string
categories: string[]
contactId: string
addressBookId: string
version: number
displayName: string
}
}/ v1/ orgs/ :orgId/ mail/ mailboxes/ :mailboxId/ address-books/ :addressBookId/ contacts/ :contactIdA contact.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- contacts:read
Path parameters
orgIdOrganization id (
org_…).mailboxIdMailbox id (
mbx_…).addressBookIdAddress book id (
abk_…).contactIdContact id (
ctc_…).
Errors
403Mailboxes are only available to members.404Mailbox not found
curl 'https://api.cactive.com.au/v1/orgs/{orgId}/mail/mailboxes/{mailboxId}/address-books/{addressBookId}/contacts/{contactId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
contact: {
hasPhoto: boolean
updatedAt: number
uid: string
fullName: string
name: {
family: string
given: string
additional: string
prefix: string
suffix: string
}
nickname: string
emails: {
value: string
type: string
pref?: boolean
}[]
phones: {
value: string
type: string
pref?: boolean
}[]
addresses: {
type: string
poBox: string
extended: string
street: string
locality: string
region: string
postalCode: string
country: string
}[]
urls: {
value: string
type: string
pref?: boolean
}[]
organization: string
department: string
title: string
birthday?: string
anniversary?: string
notes: string
categories: string[]
contactId: string
addressBookId: string
version: number
displayName: string
}
}/ v1/ orgs/ :orgId/ mail/ mailboxes/ :mailboxId/ address-books/ :addressBookId/ contacts/ :contactIdChanges a contact. Fields left out keep their value; an empty birthday or anniversary clears it.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- contacts:write
Path parameters
orgIdOrganization id (
org_…).mailboxIdMailbox id (
mbx_…).addressBookIdAddress book id (
abk_…).contactIdContact id (
ctc_…).
Request body
fullNameany JSONnameobjectname.familyany JSONDefault
"".name.givenany JSONDefault
"".name.additionalany JSONDefault
"".name.prefixany JSONDefault
"".name.suffixany JSONDefault
"".nicknameany JSONemailsany JSONphonesany JSONaddressesobject[]Up to 10 items.
addresses[].type"home" | "work" | "other"Default
"home".addresses[].poBoxany JSONDefault
"".addresses[].extendedany JSONDefault
"".addresses[].streetany JSONDefault
"".addresses[].localityany JSONDefault
"".addresses[].regionany JSONDefault
"".addresses[].postalCodeany JSONDefault
"".addresses[].countryany JSONDefault
"".urlsany JSONorganizationany JSONdepartmentany JSONtitleany JSONbirthdaystringMatches
^(\d{4}|-)-\d{2}-\d{2}$|^$.anniversarystringMatches
^(\d{4}|-)-\d{2}-\d{2}$|^$.notesstringUp to 32,000 characters.
categoriesany JSON[]Up to 30 items.
ifVersioninteger≥ 0.
Errors
403Mailboxes are only available to members.404Mailbox not found
curl -X PUT 'https://api.cactive.com.au/v1/orgs/{orgId}/mail/mailboxes/{mailboxId}/address-books/{addressBookId}/contacts/{contactId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"fullName": {},
"name": {
"family": "",
"given": "",
"additional": ""
},
"nickname": {}
}'Response 200
{
contact: {
hasPhoto: boolean
updatedAt: number
uid: string
fullName: string
name: {
family: string
given: string
additional: string
prefix: string
suffix: string
}
nickname: string
emails: {
value: string
type: string
pref?: boolean
}[]
phones: {
value: string
type: string
pref?: boolean
}[]
addresses: {
type: string
poBox: string
extended: string
street: string
locality: string
region: string
postalCode: string
country: string
}[]
urls: {
value: string
type: string
pref?: boolean
}[]
organization: string
department: string
title: string
birthday?: string
anniversary?: string
notes: string
categories: string[]
contactId: string
addressBookId: string
version: number
displayName: string
}
}/ v1/ orgs/ :orgId/ mail/ mailboxes/ :mailboxId/ address-books/ :addressBookId/ contacts/ :contactIdDeletes a contact and its photo.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- contacts:write
Path parameters
orgIdOrganization id (
org_…).mailboxIdMailbox id (
mbx_…).addressBookIdAddress book id (
abk_…).contactIdContact id (
ctc_…).
Errors
403Mailboxes are only available to members.404Mailbox not found
curl -X DELETE 'https://api.cactive.com.au/v1/orgs/{orgId}/mail/mailboxes/{mailboxId}/address-books/{addressBookId}/contacts/{contactId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 204 with no body
/ v1/ orgs/ :orgId/ mail/ mailboxes/ :mailboxId/ address-books/ :addressBookId/ contacts/ :contactId/ photoA short-lived link to the contact's photo.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- contacts:read
Path parameters
orgIdOrganization id (
org_…).mailboxIdMailbox id (
mbx_…).addressBookIdAddress book id (
abk_…).contactIdContact id (
ctc_…).
Errors
403Mailboxes are only available to members.404Mailbox not found
curl 'https://api.cactive.com.au/v1/orgs/{orgId}/mail/mailboxes/{mailboxId}/address-books/{addressBookId}/contacts/{contactId}/photo' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
url: string
}/ v1/ orgs/ :orgId/ mail/ mailboxes/ :mailboxId/ address-books/ :addressBookId/ contacts/ :contactId/ photoSets the contact's photo: a JPEG, PNG, GIF or WebP image of at most 1 MB, base64-encoded.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- contacts:write
Path parameters
orgIdOrganization id (
org_…).mailboxIdMailbox id (
mbx_…).addressBookIdAddress book id (
abk_…).contactIdContact id (
ctc_…).
Request body (up to 2,048 KB)
contentType"image/jpeg" | "image/png" | "image/gif" | "image/webp"requireddatastringrequiredAt least 1 character.
Errors
403Mailboxes are only available to members.404Mailbox not found413Photos can be at most 1 MB.
curl -X PUT 'https://api.cactive.com.au/v1/orgs/{orgId}/mail/mailboxes/{mailboxId}/address-books/{addressBookId}/contacts/{contactId}/photo' \
-H "Authorization: Bearer $CACTIVE_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"contentType": "image/jpeg",
"data": "example"
}'Response 200
{
contact: {
hasPhoto: boolean
updatedAt: number
uid: string
fullName: string
name: {
family: string
given: string
additional: string
prefix: string
suffix: string
}
nickname: string
emails: {
value: string
type: string
pref?: boolean
}[]
phones: {
value: string
type: string
pref?: boolean
}[]
addresses: {
type: string
poBox: string
extended: string
street: string
locality: string
region: string
postalCode: string
country: string
}[]
urls: {
value: string
type: string
pref?: boolean
}[]
organization: string
department: string
title: string
birthday?: string
anniversary?: string
notes: string
categories: string[]
contactId: string
addressBookId: string
version: number
displayName: string
}
}/ v1/ orgs/ :orgId/ mail/ mailboxes/ :mailboxId/ address-books/ :addressBookId/ contacts/ :contactId/ photoRemoves the contact's photo.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- contacts:write
Path parameters
orgIdOrganization id (
org_…).mailboxIdMailbox id (
mbx_…).addressBookIdAddress book id (
abk_…).contactIdContact id (
ctc_…).
Errors
403Mailboxes are only available to members.404Mailbox not found
curl -X DELETE 'https://api.cactive.com.au/v1/orgs/{orgId}/mail/mailboxes/{mailboxId}/address-books/{addressBookId}/contacts/{contactId}/photo' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
contact: {
hasPhoto: boolean
updatedAt: number
uid: string
fullName: string
name: {
family: string
given: string
additional: string
prefix: string
suffix: string
}
nickname: string
emails: {
value: string
type: string
pref?: boolean
}[]
phones: {
value: string
type: string
pref?: boolean
}[]
addresses: {
type: string
poBox: string
extended: string
street: string
locality: string
region: string
postalCode: string
country: string
}[]
urls: {
value: string
type: string
pref?: boolean
}[]
organization: string
department: string
title: string
birthday?: string
anniversary?: string
notes: string
categories: string[]
contactId: string
addressBookId: string
version: number
displayName: string
}
}/ v1/ orgs/ :orgId/ mail/ mailboxes/ :mailboxId/ address-books/ :addressBookId/ importAdds the contacts in a vCard file (3.0 or 4.0), photos included; contacts whose UID is already in the address book are replaced.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- contacts:write
Path parameters
orgIdOrganization id (
org_…).mailboxIdMailbox id (
mbx_…).addressBookIdAddress book id (
abk_…).
Request body (up to 6,144 KB)
vcfstringrequired1–5,242,880 characters.
Errors
403Mailboxes are only available to members.404Mailbox not found413The file is too large (at most 5 MB).
curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/mail/mailboxes/{mailboxId}/address-books/{addressBookId}/import' \
-H "Authorization: Bearer $CACTIVE_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"vcf": "example"
}'Response 200
{
created: number
updated: number
skipped: number
}/ v1/ orgs/ :orgId/ mail/ mailboxes/ :mailboxId/ address-books/ :addressBookId/ exportThe address book as a vCard file, version 4.0 or 3.0.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- contacts:read
Path parameters
orgIdOrganization id (
org_…).mailboxIdMailbox id (
mbx_…).addressBookIdAddress book id (
abk_…).
Query parameters
version"3.0" | "4.0"Default
"4.0".
Errors
403Mailboxes are only available to members.404Mailbox not found
curl 'https://api.cactive.com.au/v1/orgs/{orgId}/mail/mailboxes/{mailboxId}/address-books/{addressBookId}/export' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
filename: string
vcf: string
}