Campaigns
One-off e-mail campaigns (newsletters): draft, audience, content, test, approve (send now or schedule), pause, resume, cancel, language variants.
Technická referencia je v angličtine (rovnako ako strojovo čitateľný dokument OpenAPI). Celú skupinu pre AI agenta načítate z /api/openapi.json?tag=Campaigns.
Prihlásenie: Authorization: Bearer pst_... alebo HTTP Basic (e-mail člena firmy a API kľúč).
Operácie
| Metóda | Cesta | Popis |
|---|---|---|
| GET | /api/v1/tenants/{tenant}/campaigns | List campaigns |
| POST | /api/v1/tenants/{tenant}/campaigns | Create a campaign (draft) |
| POST | /api/v1/tenants/{tenant}/campaigns/audience | Count and explain the recipients of an audience |
| POST | /api/v1/tenants/{tenant}/campaigns/tags | Change labels of campaigns |
| GET | /api/v1/tenants/{tenant}/campaigns/{campaign_id} | Get a campaign |
| PATCH | /api/v1/tenants/{tenant}/campaigns/{campaign_id} | Update a campaign draft |
| DELETE | /api/v1/tenants/{tenant}/campaigns/{campaign_id} | Delete a campaign draft |
| POST | /api/v1/tenants/{tenant}/campaigns/{campaign_id}/approve | Approve a campaign: send now or schedule |
| POST | /api/v1/tenants/{tenant}/campaigns/{campaign_id}/cancel | Cancel a scheduled or paused campaign |
| GET | /api/v1/tenants/{tenant}/campaigns/{campaign_id}/content | Get the content of a campaign |
| PUT | /api/v1/tenants/{tenant}/campaigns/{campaign_id}/content | Save the content of a campaign draft |
| POST | /api/v1/tenants/{tenant}/campaigns/{campaign_id}/pause | Pause a sending or scheduled campaign |
| POST | /api/v1/tenants/{tenant}/campaigns/{campaign_id}/preview | Render a campaign for one contact |
| POST | /api/v1/tenants/{tenant}/campaigns/{campaign_id}/resume | Resume a paused campaign |
| GET | /api/v1/tenants/{tenant}/campaigns/{campaign_id}/stats | Statistics of a campaign by provider and domain |
| POST | /api/v1/tenants/{tenant}/campaigns/{campaign_id}/test | Send a test e-mail of a campaign |
| GET | /api/v1/tenants/{tenant}/campaigns/{campaign_id}/variants | Get the language variants of a campaign |
| POST | /api/v1/tenants/{tenant}/campaigns/{campaign_id}/variants | Create language variants of a campaign |
| PUT | /api/v1/tenants/{tenant}/campaigns/{campaign_id}/variants | Change the language variants of a campaign |
| POST | /api/v1/tenants/{tenant}/campaigns/{campaign_id}/variants/approve | Approve the language variants (send or schedule) |
| POST | /api/v1/tenants/{tenant}/campaigns/{campaign_id}/variants/cancel | Cancel the language variants |
| POST | /api/v1/tenants/{tenant}/campaigns/{campaign_id}/variants/pause | Pause the language variants |
| POST | /api/v1/tenants/{tenant}/campaigns/{campaign_id}/variants/preview | Preview the audience split of language variants |
| POST | /api/v1/tenants/{tenant}/campaigns/{campaign_id}/variants/resume | Resume the language variants |
| GET | /api/v1/tenants/{tenant}/campaigns/{campaign_id}/variants/stats | Statistics of the language variants |
| GET | /api/v1/tenants/{tenant}/campaigns/{campaign_id}/versions | List saved content versions of a campaign |
| GET | /api/v1/tenants/{tenant}/campaigns/{campaign_id}/versions/{version_id} | Get one content version of a campaign |
| GET | /api/v1/tenants/{tenant}/senders | List verified senders |
List campaigns
GET /api/v1/tenants/{tenant}/campaigns
Oprávnenie: modul campaigns, úroveň read; kľúč s prístupom read alebo full · Nástroj MCP: list_campaigns
Campaigns (draft, scheduled, sending, paused, completed, cancelled) with recipients and stats.
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
page | query | integer | nie | Page number, from 1. default 1, min 1 |
pageSize | query | integer | nie | Items per page, 1 to 100. default 25, min 1, max 100 |
q | query | string | nie | Search text. max 200 chars |
shop | query | string | nie | Shop id filter. |
sort | query | string | nie | Sort fields separated by commas, "-" = descending, at most 3 (e.g. name,-id). |
status | query | one of: draft, scheduled, sending, paused, completed, cancelled | nie | Status filter. |
tag | query | string | nie | Label filter; repeat for more labels. |
Odpovede
- 200 OK:
application/jsonobject
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | q, sort, status, tag |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 429 | 429 rate_limited: wait Retry-After seconds. |
Create a campaign (draft)
POST /api/v1/tenants/{tenant}/campaigns
Oprávnenie: modul campaigns, úroveň full; kľúč s prístupom full · Nástroj MCP: create_campaign
Creates a campaign draft (only name and shopId are required). Then save_campaign_content, preview_campaign_audience, send_campaign_test and send_campaign.
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
Telo požiadavky (application/json)
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
name | string | áno | |
shopId | string | áno | |
senderId | string or null | áno | A sender address of the campaign shop; it must be verified for approval. |
fromName | string | áno | |
subject | string | áno | |
preheader | string | áno | |
templateId | string or null | áno | Template the content was copied from; the content itself is saved with saveCampaignContent. |
audience | CampaignAudience | áno | |
trackOpens | boolean | nie | |
trackClicks | boolean | nie | |
utm | CampaignUtm or null | nie | |
headers | array of CampaignHeader | nie | |
timing | one of: now, schedule, later | nie | |
plannedAt | string or null | nie | |
replyTo | string | nie | One of replyToOptions; '' = the sender's own reply-to. |
linkParams | array of CampaignLinkParam | nie | |
preferTime | boolean | nie | |
unsubscribePageId | string or null | nie | An active unsubscribe page of the tenant, null = the template's or the default; left out on a new draft made from a template = the template's page. |
footerId | string or null | nie | A published footer of the tenant, null = the template's or the default; left out on a new draft made from a template = the template's footer. |
Odpovede
- 201 Created:
application/jsonCampaignDetail
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | audience, footerId, preferTime, replyTo, senderId, templateId, timing, unsubscribePageId |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 429 | 429 rate_limited: wait Retry-After seconds. |
Count and explain the recipients of an audience
POST /api/v1/tenants/{tenant}/campaigns/audience
Oprávnenie: modul campaigns, úroveň read; kľúč s prístupom read alebo full · Nástroj MCP: preview_campaign_audience
Counts recipients of an audience without saving: matched, recipients and every excluded reason.
AudienceCount of an audience for a shop: matched, recipients and one reason per left-out contact. anyShop true = the audience of a language variant (lists and segments of any shop).
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
Telo požiadavky (application/json)
object
Odpovede
- 200 OK:
application/jsonAudienceCount
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | anyShop, audience |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 429 | 429 rate_limited: wait Retry-After seconds. |
Change labels of campaigns
POST /api/v1/tenants/{tenant}/campaigns/tags
Oprávnenie: modul campaigns, úroveň full; kľúč s prístupom full
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
Telo požiadavky (application/json): Required by the server: ids.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
ids | array of string | áno | |
add | array of string | nie | |
remove | array of string | nie | |
tags | array of string | nie |
Odpovede
- 200 OK:
application/jsonobject
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | ids |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 429 | 429 rate_limited: wait Retry-After seconds. |
Get a campaign
GET /api/v1/tenants/{tenant}/campaigns/{campaign_id}
Oprávnenie: modul campaigns, úroveň read; kľúč s prístupom read alebo full · Nástroj MCP: get_campaign
One campaign with audience, sender, tracking and state.
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
campaign_id | path | string | áno | Id of the campaign (string of digits). |
Odpovede
- 200 OK:
application/jsonCampaignDetail
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 404 | not_found | |
| 429 | 429 rate_limited: wait Retry-After seconds. |
Update a campaign draft
PATCH /api/v1/tenants/{tenant}/campaigns/{campaign_id}
Oprávnenie: modul campaigns, úroveň full; kľúč s prístupom full · Nástroj MCP: update_campaign
Changes a draft campaign (any CampaignInput field).
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
campaign_id | path | string | áno | Id of the campaign (string of digits). |
Telo požiadavky (application/json)
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
name | string | nie | |
shopId | string | nie | |
senderId | string or null | nie | A sender address of the campaign shop; it must be verified for approval. |
fromName | string | nie | |
subject | string | nie | |
preheader | string | nie | |
templateId | string or null | nie | Template the content was copied from; the content itself is saved with saveCampaignContent. |
audience | CampaignAudience | nie | |
trackOpens | boolean | nie | |
trackClicks | boolean | nie | |
utm | CampaignUtm or null | nie | |
headers | array of CampaignHeader | nie | |
timing | one of: now, schedule, later | nie | |
plannedAt | string or null | nie | |
replyTo | string | nie | One of replyToOptions; '' = the sender's own reply-to. |
linkParams | array of CampaignLinkParam | nie | |
preferTime | boolean | nie | |
unsubscribePageId | string or null | nie | An active unsubscribe page of the tenant, null = the template's or the default; left out on a new draft made from a template = the template's page. |
footerId | string or null | nie | A published footer of the tenant, null = the template's or the default; left out on a new draft made from a template = the template's footer. |
Odpovede
- 200 OK:
application/jsonCampaignDetail
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | audience, footerId, preferTime, replyTo, senderId, templateId, timing, unsubscribePageId |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 404 | not_found | |
| 409 | conflict | status |
| 429 | 429 rate_limited: wait Retry-After seconds. |
Delete a campaign draft
DELETE /api/v1/tenants/{tenant}/campaigns/{campaign_id}
Oprávnenie: modul campaigns, úroveň full; kľúč s prístupom full · Nástroj MCP: delete_campaign (cez MCP len s náhľadom a potvrdením)
Deletes a draft campaign that sent nothing.
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
campaign_id | path | string | áno | Id of the campaign (string of digits). |
Odpovede
- 204 No content
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 404 | not_found | |
| 409 | conflict | status |
| 429 | 429 rate_limited: wait Retry-After seconds. |
Approve a campaign: send now or schedule
POST /api/v1/tenants/{tenant}/campaigns/{campaign_id}/approve
Oprávnenie: modul campaigns, úroveň full; kľúč s prístupom full · Nástroj MCP: send_campaign (cez MCP len s náhľadom a potvrdením)
Approves a draft campaign and sends it now (sendAt null) or schedules it (sendAt ISO time, 5 minutes to 365 days ahead). The preview shows subject, sender and the exact recipient count; expectedRecipients defaults to that count.
Body {sendAt: ISO time in UTC or null (now), expectedRecipients: the number the user confirmed}.
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
campaign_id | path | string | áno | Id of the campaign (string of digits). |
Telo požiadavky (application/json)
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
sendAt | string or null | áno | null = send now; otherwise at least 5 minutes and at most 365 days ahead. |
expectedRecipients | number | áno | The number the user confirmed; the server refuses (409 recipients) when the audience drifted more than 5 %. |
Odpovede
- 200 OK:
application/jsonCampaignDetail
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | sendAt |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 404 | not_found | |
| 409 | conflict | test_only |
| 429 | 429 rate_limited: wait Retry-After seconds. |
Cancel a scheduled or paused campaign
POST /api/v1/tenants/{tenant}/campaigns/{campaign_id}/cancel
Oprávnenie: modul campaigns, úroveň full; kľúč s prístupom full · Nástroj MCP: cancel_campaign
Cancels a campaign for good (what was sent stays in the statistics).
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
campaign_id | path | string | áno | Id of the campaign (string of digits). |
Telo požiadavky (application/json)
object
Odpovede
- 200 OK:
application/jsonCampaignDetail
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 404 | not_found | |
| 409 | conflict | status |
| 429 | 429 rate_limited: wait Retry-After seconds. |
Get the content of a campaign
GET /api/v1/tenants/{tenant}/campaigns/{campaign_id}/content
Oprávnenie: modul campaigns, úroveň read; kľúč s prístupom read alebo full · Nástroj MCP: get_campaign_content
Content of a campaign (editor, html, design, version).
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
campaign_id | path | string | áno | Id of the campaign (string of digits). |
Odpovede
- 200 OK:
application/jsonEmailContent
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 404 | not_found | |
| 429 | 429 rate_limited: wait Retry-After seconds. |
Save the content of a campaign draft
PUT /api/v1/tenants/{tenant}/campaigns/{campaign_id}/content
Oprávnenie: modul campaigns, úroveň full; kľúč s prístupom full · Nástroj MCP: save_campaign_content
Saves the content of a draft campaign (copy a template: get_template, then save its content here).
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
campaign_id | path | string | áno | Id of the campaign (string of digits). |
Telo požiadavky (application/json)
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
editor | one of: visual, html | áno | |
html | string | áno | |
design | EmailDesign or null | áno | |
baseVersion | number | áno | The version the editor started from; a newer one on the server answers 409 version (saved elsewhere meanwhile). |
saveKind | one of: manual, auto, restore | nie | History entry kind: auto (autosave, journaled), manual (Uložit), restore (a version taken back). Default auto. |
Odpovede
- 200 OK:
application/jsonEmailContent
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 404 | not_found | |
| 429 | 429 rate_limited: wait Retry-After seconds. |
Pause a sending or scheduled campaign
POST /api/v1/tenants/{tenant}/campaigns/{campaign_id}/pause
Oprávnenie: modul campaigns, úroveň full; kľúč s prístupom full · Nástroj MCP: pause_campaign
Pauses a scheduled or sending campaign.
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
campaign_id | path | string | áno | Id of the campaign (string of digits). |
Telo požiadavky (application/json)
object
Odpovede
- 200 OK:
application/jsonCampaignDetail
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 404 | not_found | |
| 409 | conflict | status |
| 429 | 429 rate_limited: wait Retry-After seconds. |
Render a campaign for one contact
POST /api/v1/tenants/{tenant}/campaigns/{campaign_id}/preview
Oprávnenie: modul campaigns, úroveň read; kľúč s prístupom read alebo full
The e-mail as one contact would get it: body {email} of a contact of the tenant; answers {subject, preheader, html} with every merge tag filled and sample links. Nothing is sent or recorded. It shows one contact's data (name, e-mail, custom fields, orders in scripts), so it needs the module contacts too (read): campaigns read alone (content manager, developer) neither reads a contact nor learns whether an address is one (review of batch 8).
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
campaign_id | path | string | áno | Id of the campaign (string of digits). |
Telo požiadavky (application/json): Required by the server: email.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
email | string | áno |
Odpovede
- 200 OK:
application/jsonCampaignPreview
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | script |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | forbidden | contacts |
| 404 | not_found | |
| 429 | 429 rate_limited: wait Retry-After seconds. |
Resume a paused campaign
POST /api/v1/tenants/{tenant}/campaigns/{campaign_id}/resume
Oprávnenie: modul campaigns, úroveň full; kľúč s prístupom full · Nástroj MCP: resume_campaign (cez MCP len s náhľadom a potvrdením)
Resumes a paused campaign (it sends again, or goes back to scheduled when its time is ahead).
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
campaign_id | path | string | áno | Id of the campaign (string of digits). |
Telo požiadavky (application/json)
object
Odpovede
- 200 OK:
application/jsonCampaignDetail
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 404 | not_found | |
| 409 | conflict | status |
| 429 | 429 rate_limited: wait Retry-After seconds. |
Statistics of a campaign by provider and domain
GET /api/v1/tenants/{tenant}/campaigns/{campaign_id}/stats
Oprávnenie: modul campaigns, úroveň read; kľúč s prístupom read alebo full
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
campaign_id | path | string | áno | Id of the campaign (string of digits). |
Odpovede
- 200 OK:
application/jsonobject
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 404 | not_found | |
| 429 | 429 rate_limited: wait Retry-After seconds. |
Send a test e-mail of a campaign
POST /api/v1/tenants/{tenant}/campaigns/{campaign_id}/test
Oprávnenie: modul campaigns, úroveň full; kľúč s prístupom full · Nástroj MCP: send_campaign_test
Sends a test e-mail of the campaign to the account's test addresses only (list_test_recipients).
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
campaign_id | path | string | áno | Id of the campaign (string of digits). |
Telo požiadavky (application/json)
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
to | string | áno |
Odpovede
- 200 OK:
application/jsonTestSendResult
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 404 | not_found | |
| 429 | 429 rate_limited: wait Retry-After seconds. | |
| 503 | unavailable |
Get the language variants of a campaign
GET /api/v1/tenants/{tenant}/campaigns/{campaign_id}/variants
Oprávnenie: modul campaigns, úroveň read; kľúč s prístupom read alebo full
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
campaign_id | path | string | áno | Id of the campaign (string of digits). |
Odpovede
- 200 OK:
application/jsonCampaignVariantGroup
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 404 | not_found | |
| 429 | 429 rate_limited: wait Retry-After seconds. |
Create language variants of a campaign
POST /api/v1/tenants/{tenant}/campaigns/{campaign_id}/variants
Oprávnenie: modul campaigns, úroveň full; kľúč s prístupom full
Duplicate as variant: body {shopId, label, sourceLabel?}. Answers the new variant's id and the group.
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
campaign_id | path | string | áno | Id of the campaign (string of digits). |
Telo požiadavky (application/json): Required by the server: label, shopId.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
shopId | string | áno | |
label | string | áno | |
sourceLabel | string | nie |
Odpovede
- 201 Created:
application/jsonCampaignVariantGroup
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 404 | not_found | |
| 429 | 429 rate_limited: wait Retry-After seconds. |
Change the language variants of a campaign
PUT /api/v1/tenants/{tenant}/campaigns/{campaign_id}/variants
Oprávnenie: modul campaigns, úroveň full; kľúč s prístupom full
Order and labels of the group: body {variants: [{id, label}] in the new order, every variant once}.
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
campaign_id | path | string | áno | Id of the campaign (string of digits). |
Telo požiadavky (application/json): Required by the server: variants.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
variants | array of object | áno |
Odpovede
- 200 OK:
application/jsonCampaignVariantGroup
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 404 | not_found | |
| 429 | 429 rate_limited: wait Retry-After seconds. |
Approve the language variants (send or schedule)
POST /api/v1/tenants/{tenant}/campaigns/{campaign_id}/variants/approve
Oprávnenie: modul campaigns, úroveň full; kľúč s prístupom full
One send action for every variant: body {sendAt: ISO time or null (now), expectedRecipients: {id: final}}.
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
campaign_id | path | string | áno | Id of the campaign (string of digits). |
Telo požiadavky (application/json)
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
sendAt | string or null | áno | null = now. |
expectedRecipients | map of number | áno | The final number per variant id the user confirmed. |
Odpovede
- 200 OK:
application/jsonCampaignVariantGroup
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | sendAt |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 404 | not_found | |
| 409 | conflict | test_only |
| 429 | 429 rate_limited: wait Retry-After seconds. |
Cancel the language variants
POST /api/v1/tenants/{tenant}/campaigns/{campaign_id}/variants/cancel
Oprávnenie: modul campaigns, úroveň full; kľúč s prístupom full
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
campaign_id | path | string | áno | Id of the campaign (string of digits). |
Odpovede
- 200 OK:
application/jsonCampaignVariantGroup
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 404 | not_found | |
| 409 | conflict | status, variants |
| 429 | 429 rate_limited: wait Retry-After seconds. |
Pause the language variants
POST /api/v1/tenants/{tenant}/campaigns/{campaign_id}/variants/pause
Oprávnenie: modul campaigns, úroveň full; kľúč s prístupom full
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
campaign_id | path | string | áno | Id of the campaign (string of digits). |
Odpovede
- 200 OK:
application/jsonCampaignVariantGroup
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 404 | not_found | |
| 409 | conflict | status, variants |
| 429 | 429 rate_limited: wait Retry-After seconds. |
Preview the audience split of language variants
POST /api/v1/tenants/{tenant}/campaigns/{campaign_id}/variants/preview
Oprávnenie: modul campaigns, úroveň read; kľúč s prístupom read alebo full
Final numbers per variant: matched, recipients of its own audience, taken by an earlier variant, final.
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
campaign_id | path | string | áno | Id of the campaign (string of digits). |
Odpovede
- 200 OK:
application/jsonVariantPreview
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 404 | not_found | |
| 429 | 429 rate_limited: wait Retry-After seconds. |
Resume the language variants
POST /api/v1/tenants/{tenant}/campaigns/{campaign_id}/variants/resume
Oprávnenie: modul campaigns, úroveň full; kľúč s prístupom full
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
campaign_id | path | string | áno | Id of the campaign (string of digits). |
Odpovede
- 200 OK:
application/jsonCampaignVariantGroup
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 404 | not_found | |
| 409 | conflict | status, variants |
| 429 | 429 rate_limited: wait Retry-After seconds. |
Statistics of the language variants
GET /api/v1/tenants/{tenant}/campaigns/{campaign_id}/variants/stats
Oprávnenie: modul campaigns, úroveň read; kľúč s prístupom read alebo full
Statistics per variant and combined (unique contacts: one variant per contact, so the sums add up).
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
campaign_id | path | string | áno | Id of the campaign (string of digits). |
Odpovede
- 200 OK:
application/jsonVariantStats
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 404 | not_found | |
| 429 | 429 rate_limited: wait Retry-After seconds. |
List saved content versions of a campaign
GET /api/v1/tenants/{tenant}/campaigns/{campaign_id}/versions
Oprávnenie: modul campaigns, úroveň read; kľúč s prístupom read alebo full
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
campaign_id | path | string | áno | Id of the campaign (string of digits). |
before | query | string | nie | |
limit | query | string | nie |
Odpovede
- 200 OK:
application/jsonContentVersionList
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 404 | not_found | |
| 429 | 429 rate_limited: wait Retry-After seconds. |
Get one content version of a campaign
GET /api/v1/tenants/{tenant}/campaigns/{campaign_id}/versions/{version_id}
Oprávnenie: modul campaigns, úroveň read; kľúč s prístupom read alebo full
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
campaign_id | path | string | áno | Id of the campaign (string of digits). |
version_id | path | string | áno | Id of the version (string of digits). |
Odpovede
- 200 OK:
application/jsonContentVersionDetail
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 400 | validation | |
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 404 | not_found | |
| 429 | 429 rate_limited: wait Retry-After seconds. |
List verified senders
GET /api/v1/tenants/{tenant}/senders
Oprávnenie: modul campaigns, úroveň read; kľúč s prístupom read alebo full · Nástroj MCP: list_senders
Sender addresses per shop (only verified ones may send).
Parametre
| Názov | Kde | Typ | Povinné | Popis |
|---|---|---|---|---|
tenant | path | string (uuid) | áno | Public 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. |
Odpovede
- 200 OK:
application/jsonobject
Chyby
| Stav | Kód | Hodnoty message |
|---|---|---|
| 401 | 401 unauthorized: missing, unknown, revoked, expired or idle API key. | |
| 403 | 403 forbidden: message tenant (another company), scope (read-only key), api_key (person only), or the module the key's roles lack. | |
| 429 | 429 rate_limited: wait Retry-After seconds. |
Schémy
ApproveInput
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
sendAt | string or null | áno | null = send now; otherwise at least 5 minutes and at most 365 days ahead. |
expectedRecipients | number | áno | The number the user confirmed; the server refuses (409 recipients) when the audience drifted more than 5 %. |
AudienceCount
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
matched | number | áno | Unique contacts in the chosen lists and segments. |
recipients | number | áno | Who would receive the campaign now. |
excluded | object | áno |
BoxPadding
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
top | number | áno | |
right | number | áno | |
bottom | number | áno | |
left | number | áno |
CampaignAudience
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
listIds | array of string | áno | |
segmentIds | array of string | áno | Segments of the campaign shop. |
excludeListIds | array of string | áno | Members of these lists are left out. |
excludeInactive | boolean | áno | Leave out engagement E and the excluded state (long inactive); recommended. |
excludeEmails | array of string | áno | Addresses left out by hand (at most 1000). |
onlyWithPurpose | boolean | áno | Only contacts with a valid consent for one of purposeIds (any purpose when empty). |
purposeIds | array of string | áno |
CampaignDetail
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
preheader | string | áno | |
senderId | string or null | áno | |
fromName | string | áno | |
fromEmail | string | áno | |
replyTo | string | áno | |
templateId | string or null | áno | Template the content was copied from (information only; later template edits do not change the campaign). |
hasContent | boolean | áno | The campaign has its own content (GET …/content); without it the approval answers 400 content. |
audience | CampaignAudience | áno | |
pausedReason | one of: manual, bounce_rate, complaint_rate, unsubscribe_rate, recipient_drift, template_error, null | áno | |
approvedAt | string or null | áno | SE's Aktivováno: when the campaign was approved for sending (null for drafts). |
trackOpens | boolean | áno | Advanced step: tracking (on by default as in SE), UTM on links of the campaign's e-shop, own X- headers. |
trackClicks | boolean | áno | |
utm | CampaignUtm or null | áno | |
headers | array of CampaignHeader | áno | |
timing | SendTiming | áno | Send time chosen in step 1 of the draft; the approval still takes the time explicitly. |
plannedAt | string or null | áno | |
linkParams | array of CampaignLinkParam | áno | Step 3 "Sledování odkazů" (SE): free name / value pairs added to links of the campaign's e-shop. |
preferTime | boolean | áno | Step 3 "Ideální čas odeslání": each contact at the hour of his or her usual opens, within 24 hours. |
replyToOptions | array of string | áno | Addresses that may receive replies (the shop's sender addresses and their reply-to). |
unsubscribePageId | string or null | nie | Step 3 Odhlašovací stránka (SE, migration 0391): the campaign's own page; null = the template's or the default. |
footerId | string or null | nie | Vybraná patička / Patička emailu (PA-01, migration 0410): a published footer; null = the template's or the default one. |
id | string | áno | |
name | string | áno | |
shopId | string | áno | |
subject | string | áno | |
status | one of: cancelled, completed, draft, scheduled, sending, paused | áno | |
recipients | number or null | áno | Recipients frozen at approval (expected_recipients); null for drafts. |
scheduledAt | string or null | áno | |
startedAt | string or null | áno | |
completedAt | string or null | áno | |
createdAt | string | áno | |
updatedAt | string | áno | |
publicUrl | string | nie | Odkaz ke sdílení: the campaign's public preview (merge tags unfilled); absent from older servers. |
stats | CampaignStats or null | áno | null until sending starts. |
variantGroupId | string or null | nie | Language variants sent together (Kampaně › Varianty): the group's id, null or absent for a single campaign. |
variantLabel | string | nie | Short name of the variant (CZ, SK ...); '' for a single campaign. |
variantPosition | number | nie | Order in the group: a contact in several variants' audiences receives only the first one. |
tags | array of string | nie | Labels (Štítky, set from the grid's ⋮ menu or as a bulk action); absent from older servers. |
CampaignHeader
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
name | string | áno | |
value | string | áno |
CampaignInput
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
name | string | áno | |
shopId | string | áno | |
senderId | string or null | áno | A sender address of the campaign shop; it must be verified for approval. |
fromName | string | áno | |
subject | string | áno | |
preheader | string | áno | |
templateId | string or null | áno | Template the content was copied from; the content itself is saved with saveCampaignContent. |
audience | CampaignAudience | áno | |
trackOpens | boolean | nie | |
trackClicks | boolean | nie | |
utm | CampaignUtm or null | nie | |
headers | array of CampaignHeader | nie | |
timing | one of: now, schedule, later | nie | |
plannedAt | string or null | nie | |
replyTo | string | nie | One of replyToOptions; '' = the sender's own reply-to. |
linkParams | array of CampaignLinkParam | nie | |
preferTime | boolean | nie | |
unsubscribePageId | string or null | nie | An active unsubscribe page of the tenant, null = the template's or the default; left out on a new draft made from a template = the template's page. |
footerId | string or null | nie | A published footer of the tenant, null = the template's or the default; left out on a new draft made from a template = the template's footer. |
CampaignLinkParam
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
name | string | áno | |
value | string | áno |
CampaignListItem
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
id | string | áno | |
name | string | áno | |
shopId | string | áno | |
subject | string | áno | |
status | one of: cancelled, completed, draft, scheduled, sending, paused | áno | |
recipients | number or null | áno | Recipients frozen at approval (expected_recipients); null for drafts. |
scheduledAt | string or null | áno | |
startedAt | string or null | áno | |
completedAt | string or null | áno | |
createdAt | string | áno | |
updatedAt | string | áno | |
approvedAt | string or null | nie | SE's Aktivováno: when the campaign was approved for sending (null for drafts). |
publicUrl | string | nie | Odkaz ke sdílení: the campaign's public preview (merge tags unfilled); absent from older servers. |
stats | CampaignStats or null | áno | null until sending starts. |
variantGroupId | string or null | nie | Language variants sent together (Kampaně › Varianty): the group's id, null or absent for a single campaign. |
variantLabel | string | nie | Short name of the variant (CZ, SK ...); '' for a single campaign. |
variantPosition | number | nie | Order in the group: a contact in several variants' audiences receives only the first one. |
tags | array of string | nie | Labels (Štítky, set from the grid's ⋮ menu or as a bulk action); absent from older servers. |
CampaignPreview
The e-mail as one contact would get it (POST /campaigns/{id}/preview): every merge tag filled, sample links.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
subject | string | áno | |
preheader | string | áno | |
html | string | áno |
CampaignStats
Unique contacts per event type.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
sent | number | áno | |
delivered | number | áno | |
opened | number | áno | |
clicked | number | áno | |
bounced | number | áno | |
complained | number | áno | |
unsubscribed | number | áno |
CampaignUtm
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
source | string | áno | |
medium | string | áno | |
campaign | string | áno | |
term | string | nie | |
content | string | nie |
CampaignVariant
One variant: a whole campaign of its own shop (content, subject, sender, feeds) with an audience chosen by hand.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
id | string | áno | |
name | string | áno | |
label | string | áno | |
position | number | áno | |
shopId | string | áno | |
shopCode | string | áno | |
currency | Currency | áno | |
language | Lang | áno | |
subject | string | áno | |
preheader | string | áno | |
status | one of: cancelled, completed, draft, scheduled, sending, paused | áno | |
senderId | string or null | áno | |
fromName | string | áno | |
hasContent | boolean | áno | |
listIds | array of string | áno | |
segmentIds | array of string | áno | |
recipients | number or null | áno | Final number frozen at the approval; null for drafts. |
scheduledAt | string or null | áno | |
pausedReason | one of: manual, bounce_rate, complaint_rate, unsubscribe_rate, recipient_drift, template_error, null | áno | |
stats | CampaignStats or null | áno |
CampaignVariantGroup
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
groupId | string or null | áno | null = a single campaign (no variants yet). |
variants | array of CampaignVariant | áno | In their order. |
created | string | nie | Id of the variant just created by addCampaignVariant. |
ContentVersion
One entry of the content history (Historie uložení).
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
id | string | áno | |
version | number | áno | |
kind | one of: manual, auto, restore | áno | |
createdAt | string | áno | |
createdBy | string or null | áno | Name or e-mail of the user; null for the API or unknown. |
ContentVersionDetail
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
content | object | áno | |
id | string | áno | |
version | number | áno | |
kind | one of: manual, auto, restore | áno | |
createdAt | string | áno | |
createdBy | string or null | áno | Name or e-mail of the user; null for the API or unknown. |
ContentVersionList
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
items | array of ContentVersion | áno | |
more | boolean | áno |
Currency
one of: CZK, EUR
EmailContent
E-mail content of a template or a campaign.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
editor | one of: visual, html | áno | |
html | string | áno | HTML with merge tags left in place (compiled from the design, or written by hand); the core personalises and sends it. |
design | EmailDesign or null | áno | Visual editor only. |
version | number | áno | 0 = no content yet; every save adds one. |
updatedAt | string or null | áno |
EmailContentInput
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
editor | one of: visual, html | áno | |
html | string | áno | |
design | EmailDesign or null | áno | |
baseVersion | number | áno | The version the editor started from; a newer one on the server answers 409 version (saved elsewhere meanwhile). |
saveKind | one of: manual, auto, restore | nie | History entry kind: auto (autosave, journaled), manual (Uložit), restore (a version taken back). Default auto. |
EmailDesign
Source of a visual design: MJML plus the global styles, so the editor reopens it exactly.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
format | mjml-1 | áno | Format version; a later editor migrates older designs. |
mjml | string | áno | |
styles | EmailStyles | áno |
EmailStyles
Global look of a visual design. The editor writes it as MJML attributes; every element can override it.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
fontFamily | string | áno | One of EMAIL_FONTS (web-safe stacks; recipients' clients have no web fonts by default). |
headingFontFamily | string | áno | |
fontSize | number | áno | Base text size in px (12 to 20). |
textColor | string | áno | |
headingColor | string | áno | |
linkColor | string | áno | |
buttonColor | string | áno | |
buttonTextColor | string | áno | |
backgroundColor | string | áno | Around the e-mail. |
contentColor | string | áno | Body of the e-mail. |
width | number | áno | Width of the e-mail in px (480 to 800). |
magic | MagicStyles | nie | Settings of the Magic editor (e-mail paddings, text styles, dark mode, element defaults); the server keeps the object as it is (bounded JSON, API-CONTRACT.md). Absent in designs saved before it. |
Error
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
error | object | áno |
{
"error": {
"code": "validation",
"message": "email"
}
}GridTagsInput
Bulk label change: add and remove, or tags = the new labels of every row.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
ids | array of string | áno | |
add | array of string | nie | |
remove | array of string | nie | |
tags | array of string | nie |
Lang
one of: cs, sk
MagicBackground
A background of the Magic editor: a plain colour, a linear gradient or a picture (https).
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
type | one of: color, gradient, image | áno | |
from | string | nie | |
to | string | nie | |
angle | number | nie | Gradient direction in degrees (180 = top to bottom). |
image | string | nie | |
fit | one of: cover, repeat, original | nie | Picture: cover the area, tile, or the original size once. |
MagicStyles
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
padding | BoxPadding | nie | Space around the e-mail body, desktop and mobile. |
paddingMobile | BoxPadding | nie | |
darkMode | boolean | nie | Dark mode in the recipient's app (prefers-color-scheme) with its colours. |
darkBackgroundColor | string | nie | |
darkContentColor | string | nie | |
darkTextColor | string | nie | |
darkHeadingColor | string | nie | |
darkLinkColor | string | nie | |
darkButtonColor | string | nie | Dark mode colours of the buttons and the divider (SE: every colour has its "(tmavé schéma)" variant). |
darkButtonTextColor | string | nie | |
darkButton2Color | string | nie | |
darkButton2TextColor | string | nie | |
darkDividerColor | string | nie | |
background | MagicBackground | nie | SE "Typ pozadí" of the e-mail (around the body) and of the body: a gradient or a picture over the colour (backgroundColor / contentColor stay the fallback of clients without head styles). |
bodyBackground | MagicBackground | nie | |
button2Color | string | nie | Secondary button and divider colours. |
button2TextColor | string | nie | |
button2BorderColor | string | nie | |
buttonBorderColor | string | nie | |
dividerColor | string | nie | |
footerDefault | boolean | nie | System footer (SmartEmailing "Patička"): its own default look instead of the e-mail's, and no background. |
footerTransparent | boolean | nie | |
text | object | nie | Text styles per kind; missing keys = defaults. Mobile values override desktop ones under 480 px. |
textMobile | object | nie | |
defaults | object | nie | Defaults of new elements (SmartEmailing "Prvky"). |
SendTiming
one of: now, schedule, later
Sender
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
id | string | áno | |
shopId | string | áno | |
name | string | áno | |
email | string | áno | |
replyTo | string | áno | |
verified | boolean | áno | Domain verified (SPF, DKIM, DMARC); only verified senders can send. |
isDefault | boolean | áno |
TestSendResult
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
to | string | áno | |
sentAt | string | áno |
VariantApproveInput
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
sendAt | string or null | áno | null = now. |
expectedRecipients | map of number | áno | The final number per variant id the user confirmed. |
VariantPreview
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
variants | array of VariantPreviewItem | áno | |
total | number | áno |
VariantPreviewItem
Counts of one variant before sending: its own audience, the recipients an earlier variant takes, the final number.
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
campaignId | string | áno | |
label | string | áno | |
shopId | string | áno | |
takenByEarlier | number | áno | |
final | number | áno | |
matched | number | áno | Unique contacts in the chosen lists and segments. |
recipients | number | áno | Who would receive the campaign now. |
excluded | object | áno |
VariantStats
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
variants | array of object | áno | |
total | CampaignStats or null | áno | Sums over the variants (a contact gets one variant, so these are unique contacts); null before sending. |