Přeskočit na obsah
API dokumentace

Contacts

Contacts of the company: profile fields, consent state, suppressions, custom fields, purposes of processing (consents), activities and GDPR export and erasure.

Technická reference je anglicky (stejně jako strojově čitelný dokument OpenAPI). Celou skupinu pro AI agenta načtete z /api/openapi.json?tag=Contacts.

Přihlášení: Authorization: Bearer pst_... nebo HTTP Basic (e-mail člena firmy a API klíč).

Operace

MetodaCestaPopis
GET/api/v1/tenants/{tenant}/contactsList contacts (search, filters, paging)
POST/api/v1/tenants/{tenant}/contactsCreate a contact
POST/api/v1/tenants/{tenant}/contacts/bulkStart a bulk action over contacts in the background
GET/api/v1/tenants/{tenant}/contacts/duplicatesFind possible duplicate contacts
GET/api/v1/tenants/{tenant}/contacts/summaryCount contacts by status
GET/api/v1/tenants/{tenant}/contacts/{contact_id}Get a contact
PATCH/api/v1/tenants/{tenant}/contacts/{contact_id}Update a contact
DELETE/api/v1/tenants/{tenant}/contacts/{contact_id}Delete a contact
GET/api/v1/tenants/{tenant}/contacts/{contact_id}/activitiesList activities of a contact
POST/api/v1/tenants/{tenant}/contacts/{contact_id}/activitiesAdd a manual activity (note) to a contact
GET/api/v1/tenants/{tenant}/contacts/{contact_id}/automation-runsThe real journey of a contact through the automations (runs and steps)
POST/api/v1/tenants/{tenant}/contacts/{contact_id}/blacklistBlacklist a contact
DELETE/api/v1/tenants/{tenant}/contacts/{contact_id}/blacklistRemove a contact from the blacklist
GET/api/v1/tenants/{tenant}/contacts/{contact_id}/couponsList coupons given to a contact
POST/api/v1/tenants/{tenant}/contacts/{contact_id}/eraseErase a contact (GDPR, irreversible)
GET/api/v1/tenants/{tenant}/contacts/{contact_id}/exportExport all data of a contact (GDPR access)
GET/api/v1/tenants/{tenant}/contacts/{contact_id}/neighborsPrevious and next contact of a filtered list
GET/api/v1/tenants/{tenant}/contacts/{contact_id}/purposesList consents (purposes) of a contact
POST/api/v1/tenants/{tenant}/contacts/{contact_id}/purposesRecord a consent (purpose) of a contact
POST/api/v1/tenants/{tenant}/contacts/{contact_id}/purposes/{consent_id}/withdrawWithdraw a consent of a contact
GET/api/v1/tenants/{tenant}/contacts/{contact_id}/segmentsList segments a contact belongs to
POST/api/v1/tenants/{tenant}/contacts/{contact_id}/unsubscribeUnsubscribe a contact from everything
GET/api/v1/tenants/{tenant}/custom-fieldsList custom fields
POST/api/v1/tenants/{tenant}/custom-fieldsCreate a custom field
PATCH/api/v1/tenants/{tenant}/custom-fields/{field_id}Update a custom field
DELETE/api/v1/tenants/{tenant}/custom-fields/{field_id}Delete a custom field
GET/api/v1/tenants/{tenant}/purposesList purposes of processing (consent types)
POST/api/v1/tenants/{tenant}/purposesCreate a purpose of processing
PATCH/api/v1/tenants/{tenant}/purposes/{purpose_id}Update a purpose of processing
DELETE/api/v1/tenants/{tenant}/purposes/{purpose_id}Delete a purpose of processing
POST/api/v1/tenants/{tenant}/purposes/{purpose_id}/to-contact-listCreate a list of the contacts with a purpose
GET/api/v1/tenants/{tenant}/searchSearch contacts, campaigns, templates and more
GET/api/v1/tenants/{tenant}/suppressionsList suppressed addresses
POST/api/v1/tenants/{tenant}/suppressionsSuppress an address
POST/api/v1/tenants/{tenant}/suppressions/blacklist-importImport addresses to the blacklist
DELETE/api/v1/tenants/{tenant}/suppressions/{email}Remove one suppression

List contacts (search, filters, paging)

GET /api/v1/tenants/{tenant}/contacts

Oprávnění: modul contacts, úroveň read; klíč s přístupem read nebo full · Nástroj MCP: search_contacts

Searches contacts. Filters: q (e-mail, name or #id), tab (all, bounced, no_list, blacklisted, complained), status (pending, subscribed, unsubscribed, bounced, complained), engagement (A to E, N), shop. Paged, newest first.

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
createdFromquerystringne
createdToquerystringne
engagementquerystringneEngagement grade A to E or N (unknown).
engagementOpquerystringne
fieldsquerystringne
importquerystringne
listquerystringne
listOpquerystringne
pagequeryintegernePage number, from 1. default 1, min 1
pageSizequeryintegerneItems per page, 1 to 100. default 25, min 1, max 100
qquerystringneSearch text. max 200 chars
shopquerystringneShop id filter.
sortquerystringneSort fields separated by commas, "-" = descending, at most 3 (e.g. name,-id).
sourcequerystringne
sourceOpquerystringne
statequerystringne
stateOpquerystringne
statusqueryone of: pending, subscribed, unsubscribed, bounced, complainedneContact status.
tabqueryone of: all, bounced, no_list, blacklisted, complainedneTab filter.

Odpovědi

  • 200 OK: application/json object

Chyby

StavKódHodnoty message
400validationq
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
429429 rate_limited: wait Retry-After seconds.

Create a contact

POST /api/v1/tenants/{tenant}/contacts

Oprávnění: modul contacts, úroveň full; klíč s přístupem full · Nástroj MCP: create_contact (přes MCP jen s náhledem a potvrzením)

Creates a contact by hand (like one import row). Needs a purpose of processing and consentConfirmed true (the user confirms a documented consent). Other profile fields by their API names: titleBefore, titleAfter, mobile, companyId, street, postalCode, country, nameDay, note, salutation, salutationFormal, vocativeFirstName, vocativeLastName, affiliateId.

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.

Tělo požadavku (application/json): Required by the server: email, shopId.

PoleTypPovinnéPopis
emailstringano
shopIdstringano
purposeIdstringano
consentConfirmedbooleanano
listIdsarray of stringne
validFromstringneSE's "Od kdy účel platí" (KK-17): a day (YYYY-MM-DD) or an ISO date-time; default now.
firstNamestringne
lastNamestringne
titleBeforestringne
titleAfterstringne
salutationstringne
salutationFormalstringne
vocativeFirstNamestringne
vocativeLastNamestringne
genderone of: f, m, nullne
languagestringne
companystringne
companyIdstringne
phonestringne
mobilestringne
streetstringne
citystringne
postalCodestringne
countrystring or nullne
birthdaystring or nullne
nameDaystring or nullne
notestringne
affiliateIdstringne
customFieldsmap of boolean or string or number or array of string or nullne

Odpovědi

Chyby

StavKódHodnoty message
400validation
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
429429 rate_limited: wait Retry-After seconds.

Start a bulk action over contacts in the background

POST /api/v1/tenants/{tenant}/contacts/bulk

Oprávnění: modul contacts, úroveň full; klíč s přístupem full

SE's bulk actions of the contacts grid as a background job (core/contacts_bulk.py, KG-08): body {action: add_to_list | blacklist | delete, contactIds: [ids] (the ticked rows) or all: true (every contact matching the grid filters given as the query string of GET /contacts), listIds for add_to_list}. Contacts on the blacklist are left out. 202 {jobId, count}; the end comes as the notification contacts_bulk_done.

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
createdFromquerystringne
createdToquerystringne
engagementquerystringne
engagementOpquerystringne
fieldsquerystringne
importquerystringne
listquerystringne
listOpquerystringne
pagequeryintegernePage number, from 1. default 1, min 1
pageSizequeryintegerneItems per page, 1 to 100. default 25, min 1, max 100
qquerystringneSearch text (case and diacritics insensitive). max 200 chars
shopquerystringneOnly objects of this shop (shop id).
sortquerystringneSort fields separated by commas, "-" = descending, at most 3 (e.g. name,-id).
sourcequerystringne
sourceOpquerystringne
statequerystringne
stateOpquerystringne
statusquerystringneStatus filter.
tabquerystringne

Tělo požadavku (application/json)

PoleTypPovinnéPopis
actionone of: blacklist, add_to_list, deleteano
contactIdsarray of stringneThe ticked contacts; or all: every contact matching the grid query (no cap).
allbooleanne
listIdsarray of stringneadd_to_list: the manual lists.

Odpovědi

Chyby

StavKódHodnoty message
400validationall, contactIds, q
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
429429 rate_limited: wait Retry-After seconds.

Find possible duplicate contacts

GET /api/v1/tenants/{tenant}/contacts/duplicates

Oprávnění: modul contacts, úroveň read; klíč s přístupem read nebo full

Possible duplicates (core/contacts.possible_duplicates): groups of contacts with the same phone or the same name and company. A report only, nothing is merged.

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.

Odpovědi

Chyby

StavKódHodnoty message
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
429429 rate_limited: wait Retry-After seconds.

Count contacts by status

GET /api/v1/tenants/{tenant}/contacts/summary

Oprávnění: modul contacts, úroveň read; klíč s přístupem read nebo full

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
createdFromquerystringne
createdToquerystringne
engagementquerystringne
engagementOpquerystringne
fieldsquerystringne
listquerystringne
listOpquerystringne
pagequeryintegernePage number, from 1. default 1, min 1
pageSizequeryintegerneItems per page, 1 to 100. default 25, min 1, max 100
qquerystringneSearch text (case and diacritics insensitive). max 200 chars
shopquerystringneOnly objects of this shop (shop id).
sortquerystringneSort fields separated by commas, "-" = descending, at most 3 (e.g. name,-id).
sourcequerystringne
sourceOpquerystringne
statequerystringne
stateOpquerystringne
statusquerystringneStatus filter.
tabquerystringne

Odpovědi

Chyby

StavKódHodnoty message
400validation
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
429429 rate_limited: wait Retry-After seconds.

Get a contact

GET /api/v1/tenants/{tenant}/contacts/{contact_id}

Oprávnění: modul contacts, úroveň read; klíč s přístupem read nebo full · Nástroj MCP: get_contact

Contact card: profile fields, status and consent, lists, last 90 days of e-mail activity, recent activities and orders (totals per currency).

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
contact_idpathstringanoId of the contact (string of digits).

Odpovědi

Chyby

StavKódHodnoty message
400validation
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
404not_found
429429 rate_limited: wait Retry-After seconds.

Update a contact

PATCH /api/v1/tenants/{tenant}/contacts/{contact_id}

Oprávnění: modul contacts, úroveň full; klíč s přístupem full · Nástroj MCP: update_contact (přes MCP jen s náhledem a potvrzením)

Changes profile fields and custom fields of a contact (never its e-mail, status or consent). Other profile fields by their API names: titleBefore, titleAfter, mobile, companyId, street, postalCode, country, nameDay, note, salutation, salutationFormal, vocativeFirstName, vocativeLastName, affiliateId.

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
contact_idpathstringanoId of the contact (string of digits).

Tělo požadavku (application/json)

PoleTypPovinnéPopis
firstNamestringne
lastNamestringne
titleBeforestringne
titleAfterstringne
salutationstringne
salutationFormalstringne
vocativeFirstNamestringne
vocativeLastNamestringne
genderone of: f, m, nullne
languagestringne
companystringne
companyIdstringne
phonestringne
mobilestringne
streetstringne
citystringne
postalCodestringne
countrystring or nullne
birthdaystring or nullne
nameDaystring or nullne
notestringne
affiliateIdstringne
customFieldsmap of boolean or string or number or array of string or nullne

Odpovědi

Chyby

StavKódHodnoty message
400validation
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
404not_found
429429 rate_limited: wait Retry-After seconds.

Delete a contact

DELETE /api/v1/tenants/{tenant}/contacts/{contact_id}

Oprávnění: modul contacts, úroveň full; klíč s přístupem full · Nástroj MCP: delete_contact (přes MCP jen s náhledem a potvrzením)

Deletes a contact (its suppression stays, so it is never mailed again by mistake). For a data erasure request use erase_contact.

204, 404, or 423 recently_sent: a campaign e-mail to the contact is queued or went out within 24 hours (SE's HTTP 423, core/contact_data.py RECENT_SEND).

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
contact_idpathstringanoId of the contact (string of digits).

Odpovědi

  • 204 No content

Chyby

StavKódHodnoty message
400validation
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
404not_found
423recently_sent
429429 rate_limited: wait Retry-After seconds.

List activities of a contact

GET /api/v1/tenants/{tenant}/contacts/{contact_id}/activities

Oprávnění: modul contacts, úroveň read; klíč s přístupem read nebo full

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
contact_idpathstringanoId of the contact (string of digits).
fromquerystringneStart of the period (YYYY-MM-DD local day, or ISO time where noted).
pagequeryintegernePage number, from 1. default 1, min 1
pageSizequeryintegerneItems per page, 1 to 100. default 25, min 1, max 100
qquerystringneSearch text (case and diacritics insensitive). max 200 chars
toquerystringneEnd of the period (YYYY-MM-DD local day, or ISO time where noted).
typequerystringne

Odpovědi

  • 200 OK: application/json object

Chyby

StavKódHodnoty message
400validationq, type
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
404not_found
429429 rate_limited: wait Retry-After seconds.

Add a manual activity (note) to a contact

POST /api/v1/tenants/{tenant}/contacts/{contact_id}/activities

Oprávnění: modul contacts, úroveň full; klíč s přístupem full · Nástroj MCP: add_contact_activity

Adds a note, call, deal or other activity to a contact.

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
contact_idpathstringanoId of the contact (string of digits).

Tělo požadavku (application/json): Required by the server: kind, title.

PoleTypPovinnéPopis
kindone of: other, note, call, dealano
titlestringano
bodystringne
atstringneISO time; default now.

Odpovědi

Chyby

StavKódHodnoty message
400validation
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
404not_found
429429 rate_limited: wait Retry-After seconds.

The real journey of a contact through the automations (runs and steps)

GET /api/v1/tenants/{tenant}/contacts/{contact_id}/automation-runs

Oprávnění: modul campaigns, úroveň read; klíč s přístupem read nebo full

The real journey of one contact through the automations (contact card, tab Automatizace): its runs, newest first, each with {automation: {id, name, status}, nodes: {key: {type, name}}} and its real steps (outcome, branch, next node, reason). Paged. 404 for a contact of another tenant.

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
contact_idpathstringanoId of the contact (string of digits).
pagequeryintegernePage number, from 1. default 1, min 1
pageSizequeryintegerneItems per page, 1 to 100. default 25, min 1, max 100

Odpovědi

  • 200 OK: application/json object

Chyby

StavKódHodnoty message
400validation
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
404not_found
429429 rate_limited: wait Retry-After seconds.

Blacklist a contact

POST /api/v1/tenants/{tenant}/contacts/{contact_id}/blacklist

Oprávnění: modul contacts, úroveň full; klíč s přístupem full · Nástroj MCP: blacklist_contact

Puts the contact on the blacklist (manual suppression: never mailed).

Card menu "Přidat na blacklist" (KK-02): 201 newly added, 200 already there (the note stays); 409 suppression_locked with params.reason when the address is suppressed for another reason.

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
contact_idpathstringanoId of the contact (string of digits).

Tělo požadavku (application/json)

PoleTypPovinnéPopis
notestringano

Odpovědi

  • 200 OK: it already existed or nothing changed: application/json BlacklistResult
  • 201 Created (200 when it already existed or nothing changed): application/json BlacklistResult

Chyby

StavKódHodnoty message
400validationemail, note
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
404not_found
409suppression_locked
429429 rate_limited: wait Retry-After seconds.

Remove a contact from the blacklist

DELETE /api/v1/tenants/{tenant}/contacts/{contact_id}/blacklist

Oprávnění: modul contacts, úroveň full; klíč s přístupem full · Nástroj MCP: unblacklist_contact (přes MCP jen s náhledem a potvrzením)

Takes the contact off the blacklist (it stays unsubscribed until it subscribes again).

Card menu "Odebrat z blacklistu": 204; 404 when the contact is not on the blacklist; 409 suppression_locked when its suppression has another reason (only a confirmed double opt-in lifts those).

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
contact_idpathstringanoId of the contact (string of digits).

Odpovědi

  • 204 No content

Chyby

StavKódHodnoty message
400validation
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
404not_found
409suppression_locked
429429 rate_limited: wait Retry-After seconds.

List coupons given to a contact

GET /api/v1/tenants/{tenant}/contacts/{contact_id}/coupons

Oprávnění: modul contacts, úroveň read; klíč s přístupem read nebo full

The codes of one contact (tab Slevové kupóny): code, stack, status, assigned and used.

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
contact_idpathstringanoId of the contact (string of digits).

Odpovědi

  • 200 OK: application/json object

Chyby

StavKódHodnoty message
400validation
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
404not_found
429429 rate_limited: wait Retry-After seconds.

Erase a contact (GDPR, irreversible)

POST /api/v1/tenants/{tenant}/contacts/{contact_id}/erase

Oprávnění: modul contacts, úroveň full; klíč s přístupem full · Nástroj MCP: erase_contact (přes MCP jen s náhledem a potvrzením)

Erasure on request (GDPR): erases the person and their data, keeps only a keyed hash that blocks a new import.

Erasure on request: the tenant's data in the request's transaction, then the consent log as the platform role (only after the tenant transaction committed). When that second step fails, the same request again finishes it (review of batch 4): the contact is gone, but its consent log rows still name the address (cd.erasure_state); a contact that was never erased here stays 404.

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
contact_idpathstringanoId of the contact (string of digits).

Tělo požadavku (application/json): Required by the server: confirm.

PoleTypPovinnéPopis
confirmbooleanano

Odpovědi

Chyby

StavKódHodnoty message
400validationconfirm
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
404not_found
429429 rate_limited: wait Retry-After seconds.

Export all data of a contact (GDPR access)

GET /api/v1/tenants/{tenant}/contacts/{contact_id}/export

Oprávnění: modul contacts, úroveň full; klíč s přístupem full · Nástroj MCP: export_contact_data

Everything stored about one contact (data access request), as JSON.

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
contact_idpathstringanoId of the contact (string of digits).

Odpovědi

  • 200 OK: application/json map of any

Chyby

StavKódHodnoty message
400validation
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
404not_found
429429 rate_limited: wait Retry-After seconds.

Previous and next contact of a filtered list

GET /api/v1/tenants/{tenant}/contacts/{contact_id}/neighbors

Oprávnění: modul contacts, úroveň read; klíč s přístupem read nebo full

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
contact_idpathstringanoId of the contact (string of digits).
createdFromquerystringne
createdToquerystringne
engagementquerystringne
engagementOpquerystringne
fieldsquerystringne
importquerystringne
listquerystringne
listOpquerystringne
pagequeryintegernePage number, from 1. default 1, min 1
pageSizequeryintegerneItems per page, 1 to 100. default 25, min 1, max 100
qquerystringneSearch text (case and diacritics insensitive). max 200 chars
shopquerystringneOnly objects of this shop (shop id).
sortquerystringneSort fields separated by commas, "-" = descending, at most 3 (e.g. name,-id).
sourcequerystringne
sourceOpquerystringne
statequerystringne
stateOpquerystringne
statusquerystringneStatus filter.
tabquerystringne

Odpovědi

Chyby

StavKódHodnoty message
400validationq
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
404not_found
429429 rate_limited: wait Retry-After seconds.

List consents (purposes) of a contact

GET /api/v1/tenants/{tenant}/contacts/{contact_id}/purposes

Oprávnění: modul contacts, úroveň read; klíč s přístupem read nebo full · Nástroj MCP: get_contact_consents

Consents (purposes of processing) of a contact.

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
contact_idpathstringanoId of the contact (string of digits).

Odpovědi

  • 200 OK: application/json object

Chyby

StavKódHodnoty message
400validation
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
404not_found
429429 rate_limited: wait Retry-After seconds.

Record a consent (purpose) of a contact

POST /api/v1/tenants/{tenant}/contacts/{contact_id}/purposes

Oprávnění: modul contacts, úroveň full; klíč s přístupem full

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
contact_idpathstringanoId of the contact (string of digits).

Tělo požadavku (application/json): Required by the server: purposeId.

PoleTypPovinnéPopis
validFromstringne
validUntilstringne
purposeIdstringano

Odpovědi

  • 201 Created: application/json object

Chyby

StavKódHodnoty message
400validation
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
404not_found
429429 rate_limited: wait Retry-After seconds.

Withdraw a consent of a contact

POST /api/v1/tenants/{tenant}/contacts/{contact_id}/purposes/{consent_id}/withdraw

Oprávnění: modul contacts, úroveň full; klíč s přístupem full

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
contact_idpathstringanoId of the contact (string of digits).
consent_idpathstringanoId of the consent (string of digits).

Odpovědi

  • 200 OK: application/json object

Chyby

StavKódHodnoty message
400validation
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
404not_found
409conflictstatus
429429 rate_limited: wait Retry-After seconds.

List segments a contact belongs to

GET /api/v1/tenants/{tenant}/contacts/{contact_id}/segments

Oprávnění: modul contacts, úroveň read; klíč s přístupem read nebo full

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
contact_idpathstringanoId of the contact (string of digits).

Odpovědi

  • 200 OK: application/json object

Chyby

StavKódHodnoty message
400validation
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
404not_found
429429 rate_limited: wait Retry-After seconds.

Unsubscribe a contact from everything

POST /api/v1/tenants/{tenant}/contacts/{contact_id}/unsubscribe

Oprávnění: modul contacts, úroveň full; klíč s přístupem full · Nástroj MCP: unsubscribe_contact (přes MCP jen s náhledem a potvrzením)

Unsubscribes a contact from all e-mails, as its own unsubscribe link would (only a new double opt-in subscribes it again).

Unsubscribes the contact from everything, as its own unsubscribe link would (store.unsubscribe: status unsubscribed, the address suppressed, queued e-mails skipped, the consent log). Only a new double opt-in subscribes it again. Body optional {note}: up to 500 characters for the consent log. Answers the contact detail.

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
contact_idpathstringanoId of the contact (string of digits).

Tělo požadavku (application/json)

PoleTypPovinnéPopis
notestringneReason for the consent log, up to 500 characters. max 500 chars

Odpovědi

Chyby

StavKódHodnoty message
400validationnote
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
404not_found
429429 rate_limited: wait Retry-After seconds.

List custom fields

GET /api/v1/tenants/{tenant}/custom-fields

Oprávnění: modul contacts, úroveň read; klíč s přístupem read nebo full · Nástroj MCP: list_custom_fields

Custom contact fields (id, name, type, options).

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.

Odpovědi

  • 200 OK: application/json object

Chyby

StavKódHodnoty message
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
429429 rate_limited: wait Retry-After seconds.

Create a custom field

POST /api/v1/tenants/{tenant}/custom-fields

Oprávnění: modul contacts, úroveň full; klíč s přístupem full · Nástroj MCP: create_custom_field

Creates a custom contact field.

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.

Tělo požadavku (application/json)

PoleTypPovinnéPopis
namestringano
typeone of: number, text, date, checkbox, textarea, select, multi_checkbox, radioano
optionsarray of stringne

Odpovědi

Chyby

StavKódHodnoty message
400validation
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
429429 rate_limited: wait Retry-After seconds.

Update a custom field

PATCH /api/v1/tenants/{tenant}/custom-fields/{field_id}

Oprávnění: modul contacts, úroveň full; klíč s přístupem full · Nástroj MCP: update_custom_field

Renames a custom field or changes its options.

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
field_idpathstringanoId of the field (string of digits).

Tělo požadavku (application/json)

PoleTypPovinnéPopis
namestringne
optionsarray of stringne

Odpovědi

Chyby

StavKódHodnoty message
400validation
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
404not_found
429429 rate_limited: wait Retry-After seconds.

Delete a custom field

DELETE /api/v1/tenants/{tenant}/custom-fields/{field_id}

Oprávnění: modul contacts, úroveň full; klíč s přístupem full · Nástroj MCP: delete_custom_field (přes MCP jen s náhledem a potvrzením)

Deletes a custom field and its values.

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
field_idpathstringanoId of the field (string of digits).

Odpovědi

  • 204 No content

Chyby

StavKódHodnoty message
400validation
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
404not_found
429429 rate_limited: wait Retry-After seconds.

List purposes of processing (consent types)

GET /api/v1/tenants/{tenant}/purposes

Oprávnění: modul contacts, úroveň read; klíč s přístupem read nebo full · Nástroj MCP: list_purposes

Purposes of processing (consents) with legal basis and validity.

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.

Odpovědi

  • 200 OK: application/json object

Chyby

StavKódHodnoty message
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
429429 rate_limited: wait Retry-After seconds.

Create a purpose of processing

POST /api/v1/tenants/{tenant}/purposes

Oprávnění: modul contacts, úroveň full; klíč s přístupem full · Nástroj MCP: create_purpose

Creates a purpose of processing.

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.

Tělo požadavku (application/json)

PoleTypPovinnéPopis
namestringano
legalBasisone of: consent, contract, legal_obligation, legitimate_interest, vital_interest, public_interestano
validityDaysnumber or nullneOlder callers send whole days; the purpose form sends validity.
validityValidityLength or nullne
notesstringano

Odpovědi

  • 201 Created: application/json Purpose

Chyby

StavKódHodnoty message
400validation
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
429429 rate_limited: wait Retry-After seconds.

Update a purpose of processing

PATCH /api/v1/tenants/{tenant}/purposes/{purpose_id}

Oprávnění: modul contacts, úroveň full; klíč s přístupem full · Nástroj MCP: update_purpose

Changes a purpose of processing.

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
purpose_idpathstringanoId of the purpose (string of digits).

Tělo požadavku (application/json)

PoleTypPovinnéPopis
namestringne
legalBasisone of: consent, contract, legal_obligation, legitimate_interest, vital_interest, public_interestne
validityDaysnumber or nullneOlder callers send whole days; the purpose form sends validity.
validityValidityLength or nullne
notesstringne

Odpovědi

Chyby

StavKódHodnoty message
400validation
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
404not_found
429429 rate_limited: wait Retry-After seconds.

Delete a purpose of processing

DELETE /api/v1/tenants/{tenant}/purposes/{purpose_id}

Oprávnění: modul contacts, úroveň full; klíč s přístupem full · Nástroj MCP: delete_purpose (přes MCP jen s náhledem a potvrzením)

Deletes an unused purpose of processing.

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
purpose_idpathstringanoId of the purpose (string of digits).

Odpovědi

  • 204 No content

Chyby

StavKódHodnoty message
400validation
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
404not_found
409conflictin_use
429429 rate_limited: wait Retry-After seconds.

Create a list of the contacts with a purpose

POST /api/v1/tenants/{tenant}/purposes/{purpose_id}/to-contact-list

Oprávnění: modul contacts, úroveň full; klíč s přístupem full

SE "Přidat ke kontaktům v seznamu": body {listId}; answers {count} of the consents added.

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
purpose_idpathstringanoId of the purpose (string of digits).

Tělo požadavku (application/json): Required by the server: listId.

PoleTypPovinnéPopis
listIdstringano

Odpovědi

  • 200 OK: application/json object

Chyby

StavKódHodnoty message
400validationlistId
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
404not_found
429429 rate_limited: wait Retry-After seconds.

GET /api/v1/tenants/{tenant}/search

Oprávnění: modul contacts, úroveň read; klíč s přístupem read nebo full · Nástroj MCP: search

Quick search over contacts and lists (at least 2 characters).

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
qquerystringneSearch text. max 200 chars

Odpovědi

Chyby

StavKódHodnoty message
400validationq
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
429429 rate_limited: wait Retry-After seconds.

List suppressed addresses

GET /api/v1/tenants/{tenant}/suppressions

Oprávnění: modul contacts, úroveň read; klíč s přístupem read nebo full · Nástroj MCP: list_suppressions

Suppression list (addresses never mailed) with reason.

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
pagequeryintegernePage number, from 1. default 1, min 1
pageSizequeryintegerneItems per page, 1 to 100. default 25, min 1, max 100
qquerystringneSearch text. max 200 chars
reasonquerystringneReason filter (manual, unsubscribed, hard_bounce, complaint...).

Odpovědi

  • 200 OK: application/json object

Chyby

StavKódHodnoty message
400validationq
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
429429 rate_limited: wait Retry-After seconds.

Suppress an address

POST /api/v1/tenants/{tenant}/suppressions

Oprávnění: modul contacts, úroveň full; klíč s přístupem full · Nástroj MCP: add_suppression

Adds an address to the suppression list (manual blacklist), also when it is not a contact.

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.

Tělo požadavku (application/json)

PoleTypPovinnéPopis
emailstringanoAddress.
detailstringneNote.

Odpovědi

  • 200 OK: it already existed or nothing changed: application/json object
  • 201 Created (200 when it already existed or nothing changed): application/json object

Chyby

StavKódHodnoty message
400validationdetail, email
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
429429 rate_limited: wait Retry-After seconds.

Import addresses to the blacklist

POST /api/v1/tenants/{tenant}/suppressions/blacklist-import

Oprávnění: modul contacts, úroveň full; klíč s přístupem full

SmartEmailing's blacklist on the tenant's blacklist (core/blacklist.py, migration 0180): body {contacts: the SmartEmailing backup list (blacklisted.json) or {emails: [addresses]}, apply: true to write (default: a dry run that writes nothing)}. Idempotent; nothing is sent, no automation starts, no other suppression or contact changes. 200 with the counts (never an address).

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.

Tělo požadavku (application/json)

PoleTypPovinnéPopis
applyanyne
contactsanyne
emailsanyne

Odpovědi

  • 200 OK: application/json object

Chyby

StavKódHodnoty message
400validationapply, contacts
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
429429 rate_limited: wait Retry-After seconds.

Remove one suppression

DELETE /api/v1/tenants/{tenant}/suppressions/{email}

Oprávnění: modul contacts, úroveň full; klíč s přístupem full · Nástroj MCP: remove_suppression (přes MCP jen s náhledem a potvrzením)

Removes a manual suppression of an address (other reasons are locked).

Parametry

NázevKdeTypPovinnéPopis
tenantpathstring (uuid)anoPublic id of the company (tenant), a UUID: GET /api/v3/account-info answers it as data.guid; the app shows it on the API keys page.
emailpathstringanoE-mail address (URL encoded).

Odpovědi

  • 204 No content

Chyby

StavKódHodnoty message
400validation
401401 unauthorized: missing, unknown, revoked, expired or idle API key.
403403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack.
404not_found
409suppression_locked
429429 rate_limited: wait Retry-After seconds.

Schémata

Activity

PoleTypPovinnéPopis
idstringano
typeActivityTypeano
atstringano
titlestringanoCampaign, form or order name; tenant data, shown as is.

ActivityDetail

What the expanded activity card shows (SE: E-mail, Newsletter or Automatizace, Šablona, Zdroj); null = none.

PoleTypPovinnéPopis
emailstring or nullano
messageKindone of: campaign, automation, nullano
campaignIdstring or nullano
campaignNamestring or nullano
automationIdstring or nullano
automationNamestring or nullano
templateIdstring or nullano
templateNamestring or nullano
sourcestring or nullano
orderIdstring or nullano

ActivityType

one of: other, unsubscribed, bounced, form, sent, opened, clicked, doi, order, status_change, web_tracking, note, call, deal

AutomationRunStatus

one of: active, completed, exited

AutomationStatus

one of: active, draft, paused

AutomationStepOutcome

one of: expired, queued, failed, skipped, goal, reset, end, yes, no, entered, passed, variant, released, jumped

BlacklistResult

A blacklist entry made from the contact card (POST /contacts/{id}/blacklist).

PoleTypPovinnéPopis
emailstringano
reasonone of: invalid, manual, unsubscribed, hard_bounce, complaint, soft_bounce_limitano
sourcestringano
detailstringanoThe note why (empty when none was given).
createdAtstringano
createdbooleananoFalse when the contact was already on the blacklist (its note stays).

ConsentBasis

one of: none, soft_opt_in_customer, double_opt_in, imported

ContactActivity

PoleTypPovinnéPopis
bodystringanoText of a custom activity, '' for the others.
detailActivityDetailneReferences of the activity (missing from older servers).
idstringano
typeActivityTypeano
atstringano
titlestringanoCampaign, form or order name; tenant data, shown as is.

ContactAutomationRun

A run of one contact with its automation (contact card, tab Automatizace).

PoleTypPovinnéPopis
automationobjectano
nodesmap of objectanoThe nodes of the automation by key: type and name (the name may be empty).
idstringano
contactobjectano
statusAutomationRunStatusano
nodestring or nullano
entryKeystringano
enteredAtstringano
dueAtstring or nullano
finishedAtstring or nullano
exitReasonstring or nullano
stepsarray of objectanoThe real steps (automation_steps): reason = why a step was skipped or failed, messageId = the e-mail it queued.
triggerstring or nullneThe trigger node the run came in through.

ContactConsent

PoleTypPovinnéPopis
idstringano
purposeIdstringano
namestringano
legalBasisone of: consent, contract, legal_obligation, legitimate_interest, vital_interest, public_interestano
validFromstringano
validUntilstring or nullano
withdrawnAtstring or nullano
sourcestringano
stateone of: expired, valid, future, withdrawnano

ContactCoupon

PoleTypPovinnéPopis
idstringano
codestringano
statusCouponStatusano
assignedAtstring or nullano
usedAtstring or nullano
stackIdstringano
stackNamestringano
shopIdstringano

ContactCreateInput

A contact added by hand: like a one-row import (purpose and confirmation required).

PoleTypPovinnéPopis
emailstringano
shopIdstringano
purposeIdstringano
consentConfirmedbooleanano
listIdsarray of stringne
validFromstringneSE's "Od kdy účel platí" (KK-17): a day (YYYY-MM-DD) or an ISO date-time; default now.
firstNamestringne
lastNamestringne
titleBeforestringne
titleAfterstringne
salutationstringne
salutationFormalstringne
vocativeFirstNamestringne
vocativeLastNamestringne
genderone of: f, m, nullne
languagestringne
companystringne
companyIdstringne
phonestringne
mobilestringne
streetstringne
citystringne
postalCodestringne
countrystring or nullne
birthdaystring or nullne
nameDaystring or nullne
notestringne
affiliateIdstringne
customFieldsmap of boolean or string or number or array of string or nullne

ContactDetail

PoleTypPovinnéPopis
guidstring or nullneSE's contact GUID (32 hex characters): the grid search finds it as #GUID (KG-07).
sourcesarray of ContactSourceRecordneSource records (CSV import, Shoptet, SmartEmailing ...); the contact's own state is the most restrictive one.
editedFieldsarray of stringneFields a person edited in Poštárna: imports and syncs never overwrite them.
phonestringano
mobilestringano
titleBeforestringano
titleAfterstringano
salutationstringano
salutationFormalstringano
vocativeFirstNamestringano
vocativeLastNamestringano
genderone of: f, m, nullano
languagestringano
companystringano
companyIdstringano
streetstringano
citystringano
postalCodestringano
countrystring or nullano
birthdaystring or nullano
nameDaystring or nullanoMM-DD
notestringano
affiliateIdstringano
sourceContactSourceano
consentBasisConsentBasisano
consentWeakbooleanano
statusAtstringanoWhen the current status (ContactListItem.status) started; always set.
consentAtstring or nullanoWhen the current consent was given; null without one (e.g. weak consent).
softBouncesnumberano
lastSentAtstring or nullano
lastOpenAtstring or nullano
lastClickAtstring or nullano
suppressedAtstring or nullano
suppressionNotestring or nullanoNote given when the address was put on the blacklist by hand (suppressionReason 'manual'), else null.
stats90dContactStatsano
listsarray of ContactListMembershipano
recentActivitiesarray of ActivityanoNewest first, at most 20.
ordersarray of ContactOrderanoNewest first, at most 20.
orderTotalsarray of OrderTotalano
engagementAtstring or nullanoWhen the engagement grade last changed (weekly recomputation).
customFieldsmap of CustomFieldValueanoValues of custom fields by field id.
updatedAtstringano
idstringano
emailstringano
firstNamestringano
lastNamestringano
statusone of: pending, subscribed, unsubscribed, bounced, complained, customerano
engagementone of: A, B, C, D, E, Nano
excludedbooleananoSE "Vyloučené": long inactive yet mailed often (recomputed weekly with the engagement).
shopIdstring or nullanoMain e-shop (contacts.shop_id), null when unknown.
suppressionReasonone of: invalid, manual, unsubscribed, hard_bounce, complaint, soft_bounce_limit, nullanoSet when the address is on the tenant suppression list.
blacklistedbooleanneOn the tenant's blacklist ("Na blacklistu"): a manual entry, or an entry of SmartEmailing's blacklist that keeps its own reason (migration 0180). Older servers leave it out: then suppressionReason 'manual' decides.
blacklistedAtstring or nullneWhen the address went on the blacklist (the suppression's time), null when it is not on it ("Přidán na blacklist").
stateone of: active, bounced, blacklistedneSmartEmailing's 3-value contact state; older servers leave it out (contactState derives it).
createdAtstringano
extramap of boolean or string or number or nullneValues of the extra columns asked for (ContactQuery.fields): dates as YYYY-MM-DD, times as ISO.

ContactListItem

PoleTypPovinnéPopis
idstringano
emailstringano
firstNamestringano
lastNamestringano
statusone of: pending, subscribed, unsubscribed, bounced, complained, customerano
engagementone of: A, B, C, D, E, Nano
excludedbooleananoSE "Vyloučené": long inactive yet mailed often (recomputed weekly with the engagement).
shopIdstring or nullanoMain e-shop (contacts.shop_id), null when unknown.
suppressionReasonone of: invalid, manual, unsubscribed, hard_bounce, complaint, soft_bounce_limit, nullanoSet when the address is on the tenant suppression list.
blacklistedbooleanneOn the tenant's blacklist ("Na blacklistu"): a manual entry, or an entry of SmartEmailing's blacklist that keeps its own reason (migration 0180). Older servers leave it out: then suppressionReason 'manual' decides.
blacklistedAtstring or nullneWhen the address went on the blacklist (the suppression's time), null when it is not on it ("Přidán na blacklist").
stateone of: active, bounced, blacklistedneSmartEmailing's 3-value contact state; older servers leave it out (contactState derives it).
createdAtstringano
extramap of boolean or string or number or nullneValues of the extra columns asked for (ContactQuery.fields): dates as YYYY-MM-DD, times as ISO.

ContactListMembership

PoleTypPovinnéPopis
listIdstringano
namestringano
stateListMembershipStateano
changedAtstringano
listSizenumberano

ContactNeighbors

PoleTypPovinnéPopis
prevIdstring or nullano
nextIdstring or nullano

ContactOrder

PoleTypPovinnéPopis
idstringano
shopIdstringano
codestringano
statusOrderStatusano
sourceStatusstringanoState name in the e-shop
currencyCurrencyano
totalWithVatstring or nullanoDecimal string with VAT in the order currency, as sent by the e-shop.
orderedAtstringano
paidAtstring or nullano
itemsarray of OrderItemPreviewanoFirst items only; itemCount is the full number of lines.
itemCountnumberano

ContactPatch

Profile changes; the address, state and consent never change here. A null custom field value removes it.

PoleTypPovinnéPopis
firstNamestringne
lastNamestringne
titleBeforestringne
titleAfterstringne
salutationstringne
salutationFormalstringne
vocativeFirstNamestringne
vocativeLastNamestringne
genderone of: f, m, nullne
languagestringne
companystringne
companyIdstringne
phonestringne
mobilestringne
streetstringne
citystringne
postalCodestringne
countrystring or nullne
birthdaystring or nullne
nameDaystring or nullne
notestringne
affiliateIdstringne
customFieldsmap of boolean or string or number or array of string or nullne

ContactSegment

PoleTypPovinnéPopis
idstringano
namestringano
shopIdstringano
refreshone of: static, dailyano
computedAtstring or nullano
updatedAtstringano
tagsarray of stringanoThe segment's labels (SE's column Štítky).
activenumberanoContacts of the segment that can be e-mailed (SE's Aktivní kontakty).

ContactSource

one of: manual, shoptet, smartemailing, api, erp_order, signup_form, import

ContactSourceRecord

One source record of a contact (provenance): what that source says about consent.

PoleTypPovinnéPopis
sourceone of: manual, shoptet, csv, smartemailing, api, form, erpano
consentone of: unsubscribed, hard_bounce, blacklisted, opt_in, noneano
consentAtstring or nullano
firstSeenAtstringano
lastSeenAtstringano

ContactStats

PoleTypPovinnéPopis
receivednumberano
openednumberano
clickednumberano
bestHournumber or nullanoHour of day (0 to 23, tenant time zone) with the most opens, null without data.
preferredDeliveryTimestring or nullneSE's preferredDeliveryTime 'HH:MM' (KK-20): the same ideal time the automations' Individuální čas and the campaigns' Ideální čas odeslání use; null without an open.

ContactSummary

PoleTypPovinnéPopis
totalnumberano
byStatusobjectano
blacklistednumberano

ContactsBulkRequest

PoleTypPovinnéPopis
actionone of: blacklist, add_to_list, deleteano
contactIdsarray of stringneThe ticked contacts; or all: every contact matching the grid query (no cap).
allbooleanne
listIdsarray of stringneadd_to_list: the manual lists.

ContactsBulkStarted

PoleTypPovinnéPopis
jobIdstringano
countnumberanoContacts the action will go over (blacklisted ones left out).

CouponStatus

one of: free, assigned, used

Currency

one of: CZK, EUR

CustomActivityInput

PoleTypPovinnéPopis
kindone of: other, note, call, dealano
titlestringano
bodystringne
atstringneISO time; default now.

CustomField

PoleTypPovinnéPopis
idstringano
namestringano
typeone of: number, text, date, checkbox, textarea, select, multi_checkbox, radioanoFixed once created.
optionsarray of stringano
usednumberanoContacts with a value.
createdAtstringano

CustomFieldInput

PoleTypPovinnéPopis
namestringano
typeone of: number, text, date, checkbox, textarea, select, multi_checkbox, radioano
optionsarray of stringne

CustomFieldValue

boolean or string or number or array of string

DuplicateGroup

Possible duplicates: contacts with the same phone or the same name and company (a report, nothing is merged).

PoleTypPovinnéPopis
kindone of: phone, name_companyano
contactsarray of objectano

DuplicateReport

PoleTypPovinnéPopis
groupsarray of DuplicateGroupano
truncatedbooleananoMore groups exist than the report shows (200).

EraseResult

PoleTypPovinnéPopis
erasedbooleanano
consentLogRowsnumberanoConsent log rows whose address and evidence were blanked.

Error

PoleTypPovinnéPopis
errorobjectano
json
{
  "error": {
    "code": "validation",
    "message": "email"
  }
}

ListMembershipState

one of: unsubscribed, confirmed, unconfirmed, removed

OrderItemPreview

PoleTypPovinnéPopis
namestringano
quantitystringanodecimal string, orders can have fractional quantities
priceWithVatstring or nullano

OrderStatus

one of: cancelled, other, pending, completed

OrderTotal

One row per currency. CZK and EUR are never added together or converted.

PoleTypPovinnéPopis
currencyCurrencyano
countnumberano
totalWithVatstringano

Purpose

PoleTypPovinnéPopis
idstringano
namestringano
legalBasisone of: consent, contract, legal_obligation, legitimate_interest, vital_interest, public_interestano
validityDaysnumber or nullanoHow long a consent lasts in whole days; null = no fixed period.
validityValidityLength or nullneThe same length as entered (number and unit); null = no fixed period.
notesstringano
consentsnumberanoActive (not withdrawn) consents.
createdAtstringano

PurposeInput

PoleTypPovinnéPopis
namestringano
legalBasisone of: consent, contract, legal_obligation, legitimate_interest, vital_interest, public_interestano
validityDaysnumber or nullneOlder callers send whole days; the purpose form sends validity.
validityValidityLength or nullne
notesstringano

SearchResults

PoleTypPovinnéPopis
contactsarray of ContactListItemano
listsarray of objectano

ValidityLength

Length of a purpose's validity as entered (months count 30 days and years 365 for the consent ends).

PoleTypPovinnéPopis
valuenumberano
unitone of: seconds, minutes, hours, days, weeks, months, yearsano