Přeskočit na obsah
API dokumentace

Forms

Sign-up forms (double opt-in): builder settings, embed code, history.

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

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

Operace

MetodaCestaPopis
GET/api/v1/tenants/{tenant}/formsList forms
POST/api/v1/tenants/{tenant}/formsCreate a form
GET/api/v1/tenants/{tenant}/forms/doi-templatesList templates usable as the double opt-in e-mail
POST/api/v1/tenants/{tenant}/forms/previewRender a form preview
POST/api/v1/tenants/{tenant}/forms/tagsChange labels of forms
GET/api/v1/tenants/{tenant}/forms/{form_id}Get a form
PATCH/api/v1/tenants/{tenant}/forms/{form_id}Update a form
DELETE/api/v1/tenants/{tenant}/forms/{form_id}Delete a form
POST/api/v1/tenants/{tenant}/forms/{form_id}/copyCopy a form
GET/api/v1/tenants/{tenant}/forms/{form_id}/embedGet the embed code of a form
GET/api/v1/tenants/{tenant}/forms/{form_id}/historyChange history of a form
GET/api/v1/tenants/{tenant}/forms/{form_id}/welcomeGet the e-mail after a sign-up (the form's own automation)
PUT/api/v1/tenants/{tenant}/forms/{form_id}/welcomeSwitch the e-mail after a sign-up on or off

List forms

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

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

Sign-up forms (classic or popup).

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.
tagquerystringneLabel filter; repeat for more labels.

Odpovědi

  • 200 OK: application/json object

Chyby

StavKódHodnoty message
400validationtag
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 form

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

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

Creates a double opt-in sign-up form.

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
shopIdstringano
statusone of: active, inactivene
fieldsarray of FormFieldne
listIdsarray of stringano
purposeIdstring or nullano
consentTextstringano
titlestringne
descriptionstringne
submitLabelstringne
successUrlstringne
confirmedUrlstringne
captchabooleanne
kindone of: classic, popup, slidene
popupobject or nullnePop-up settings, completed with POPUP_DEFAULTS; ignored for a classic form.
designobjectne
settingsobjectne
tagsarray 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.

List templates usable as the double opt-in e-mail

GET /api/v1/tenants/{tenant}/forms/doi-templates

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

E-mail templates with the confirmation link ({{confirmlink}}) a form may send as its double opt-in.

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.

Render a form preview

POST /api/v1/tenants/{tenant}/forms/preview

Oprávnění: modul content, ú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.

Tělo požadavku (application/json)

PoleTypPovinnéPopis
namestringne
shopIdstringne
statusone of: active, inactivene
fieldsarray of FormFieldne
listIdsarray of stringne
purposeIdstring or nullne
consentTextstringne
titlestringne
descriptionstringne
submitLabelstringne
successUrlstringne
confirmedUrlstringne
captchabooleanne
kindone of: classic, popup, slidene
popupobject or nullnePop-up settings, completed with POPUP_DEFAULTS; ignored for a classic form.
designobjectne
settingsobjectne
tagsarray of stringne

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.
429429 rate_limited: wait Retry-After seconds.

Change labels of forms

POST /api/v1/tenants/{tenant}/forms/tags

Oprávnění: modul content, ú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.

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

PoleTypPovinnéPopis
idsarray of stringano
addarray of stringne
removearray of stringne
tagsarray of stringne

Odpovědi

  • 200 OK: application/json object

Chyby

StavKódHodnoty message
400validationids
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 form

GET /api/v1/tenants/{tenant}/forms/{form_id}

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

One form with its fields, consent text and public 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.
form_idpathstringanoId of the form (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 form

PATCH /api/v1/tenants/{tenant}/forms/{form_id}

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

Changes a form.

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.
form_idpathstringanoId of the form (string of digits).

Tělo požadavku (application/json)

PoleTypPovinnéPopis
namestringne
shopIdstringne
statusone of: active, inactivene
fieldsarray of FormFieldne
listIdsarray of stringne
purposeIdstring or nullne
consentTextstringne
titlestringne
descriptionstringne
submitLabelstringne
successUrlstringne
confirmedUrlstringne
captchabooleanne
kindone of: classic, popup, slidene
popupobject or nullnePop-up settings, completed with POPUP_DEFAULTS; ignored for a classic form.
designobjectne
settingsobjectne
tagsarray 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 form

DELETE /api/v1/tenants/{tenant}/forms/{form_id}

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

Deletes a form (its address stops working).

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.
form_idpathstringanoId of the form (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.

Copy a form

POST /api/v1/tenants/{tenant}/forms/{form_id}/copy

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

Vytvořit kopii formuláře: an inactive copy with a free name.

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.
form_idpathstringanoId of the form (string of digits).

Tělo požadavku (application/json)

object

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.

Get the embed code of a form

GET /api/v1/tenants/{tenant}/forms/{form_id}/embed

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

The codes of Vložit do stránky: script (JavaScript, always current), url (Odkaz na webový formulář), styled (HTML), html (Minimální HTML).

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.
form_idpathstringanoId of the form (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.

Change history of a form

GET /api/v1/tenants/{tenant}/forms/{form_id}/history

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

Historie vyplnění: the sign-ups of a form, newest first (?q= address, ?filledFrom= and ?filledTo= calendar days of the tenant, ?page=, ?pageSize=, ?sort=).

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.
form_idpathstringanoId of the form (string of digits).
filledFromquerystringne
filledToquerystringne
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
sortquerystringneSort fields separated by commas, "-" = descending, at most 3 (e.g. name,-id).

Odpovědi

  • 200 OK: application/json object

Chyby

StavKódHodnoty message
400validationfilledTo, page
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 the e-mail after a sign-up (the form's own automation)

GET /api/v1/tenants/{tenant}/forms/{form_id}/welcome

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

E-mail po přihlášení (core/form_welcome.py): the form's own automation and its e-mail, the coupon tags of the template (?templateId= another template to check before saving) and the shop's coupon stacks.

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.
form_idpathstringanoId of the form (string of digits).
templateIdquerystringne

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.

Switch the e-mail after a sign-up on or off

PUT /api/v1/tenants/{tenant}/forms/{form_id}/welcome

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

Switches the e-mail after a sign-up on (creates or adopts the form's automation, saves its e-mail and starts it) or off (pauses it). Module campaigns: it runs an automation.

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.
form_idpathstringanoId of the form (string of digits).

Tělo požadavku (application/json)

PoleTypPovinnéPopis
enabledbooleanano
templateIdstring or nullne
senderIdstring or nullne
senderNamestringne
replyTostringne
couponStackIdstring 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
409conflictwelcome.custom
429429 rate_limited: wait Retry-After seconds.

Schémata

AutomationStatus

one of: active, draft, paused

DoiTemplate

An e-mail template with {{confirmlink}} a form may send as its double opt-in.

PoleTypPovinnéPopis
idstringano
namestringano

Error

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

FormDesign

Vzhled (step 2): core/form_builder.py DESIGN_DEFAULTS.

PoleTypPovinnéPopis
templateFormTemplateano
stylestringano<category>-<colour> of formStyles.json.
widthnumberano
imagestringanohttps address of the picture, '' = none.
imagePositionone of: top, asideano
showTitlebooleanano
showTextbooleanano
titleColorstringano#rrggbb or '' (the style's colour).
textColorstringano
buttonColorstringano
buttonTextColorstringano
fontFormFontanoPísmo (core/form_builder.FONTS): fonts every device has.
titleSizenumberanopx, 14 to 48 / 12 to 28 (core/form_builder.SIZE_LIMITS).
textSizenumberano

FormDetail

PoleTypPovinnéPopis
popupPopupSettings or nullanoPop-up and slide-in forms only.
scriptUrlstring or nullano<hostedUrl>/popup.js for a pop-up or slide-in, else null.
fieldsarray of FormFieldanoThe e-mail address is always there, first and required.
consentTextstringanoThe operator's text next to the required check box (consentMode checkbox).
consentVersionnumberanoGrows with every change of the consent text; each sign-up records the exact text and version.
titlestringano
descriptionstringano
submitLabelstringanoEmpty = the default label in the shop's language.
successUrlstringanohttps:// or empty (the thank-you page).
confirmedUrlstringano
captchabooleananoOnly with a verifier of the platform (none yet: 400 captcha).
hostedUrlstringanohttps://<link domain of the shop>/f/<tenant id>/<publicId>
designFormDesignano
settingsFormSettingsano
idstringano
namestringano
shopIdstringano
statusone of: active, inactiveanoinactive = the form takes no sign-ups (its page answers 410).
listIdsarray of stringano
purposeIdstring or nullanonull = Bez účelu zpracování.
createdAtstringano
updatedAtstringano
kindFormKindanoclassic = in the page; popup = a dialog of popup.js; slide = Vyjíždějící (a button of popup.js opens it).
tagsarray of stringano
fillsnumberanoNumber of sign-ups (Historie vyplnění).
publicIdstringano
previewUrlstringanohostedUrl?preview=1: Náhled webového formuláře (works for an inactive form too).

FormEmbed

PoleTypPovinnéPopis
htmlstringanoMinimální HTML: inputs only, no style and no script.
styledstringanoHTML: the styled form (step 2) with its CSS; re-paste after a change.
urlstringanoOdkaz na webový formulář.
scriptstringanoJavaScript: popup.js of a pop-up or slide-in, form.js of a classic form (always current).

FormExtraPurpose

PoleTypPovinnéPopis
purposeIdstringano
labelstringano
linkTextstringano
linkUrlstringano

FormField

PoleTypPovinnéPopis
fieldFormFieldNameano
requiredbooleanano
labelstringneEmpty = the default label (catalogue or custom field name).
errorstringneEmpty = the default message.
placeholderstringnePředvyplněný text (placeholder).

FormFieldName

FormFieldName

FormFill

A sign-up of Historie vyplnění.

PoleTypPovinnéPopis
idstringano
contactIdstring or nullano
emailstringano
filledAtstringano
pageUrlstringano
affiliatestringano

FormFont

one of: arial, verdana, tahoma, trebuchet, georgia, times, courier

FormInput

PoleTypPovinnéPopis
namestringano
shopIdstringano
statusone of: active, inactivene
fieldsarray of FormFieldne
listIdsarray of stringano
purposeIdstring or nullano
consentTextstringano
titlestringne
descriptionstringne
submitLabelstringne
successUrlstringne
confirmedUrlstringne
captchabooleanne
kindone of: classic, popup, slidene
popupobject or nullnePop-up settings, completed with POPUP_DEFAULTS; ignored for a classic form.
designobjectne
settingsobjectne
tagsarray of stringne

FormKind

one of: classic, popup, slide

FormSettings

Nastavení (step 3) and Přiřadit účely zpracování: core/form_builder.py SETTINGS_DEFAULTS.

PoleTypPovinnéPopis
existingModeone of: error, update, keepano
errorUrlstringano
notifyarray of stringano
newTabbooleanano
keepParamsbooleanano
affiliateParamstringano
thanksHtmlstringano
typoCheckbooleanano
doibooleanano
doiTemplateIdstring or nullano
senderNamestringano
senderEmailstringano
replyTostringano
doiAfterone of: redirect, thanksano
doiThanksHtmlstringano
consentModeone of: text, checkboxanocheckbox = a required check box with consentText; text = SmartEmailing's information text with a link.
consentLabelstringano
consentLinkTextstringano
consentLinkUrlstringano
extraPurposesarray of FormExtraPurposeano

FormSummary

PoleTypPovinnéPopis
idstringano
namestringano
shopIdstringano
statusone of: active, inactiveanoinactive = the form takes no sign-ups (its page answers 410).
listIdsarray of stringano
purposeIdstring or nullanonull = Bez účelu zpracování.
createdAtstringano
updatedAtstringano
kindFormKindanoclassic = in the page; popup = a dialog of popup.js; slide = Vyjíždějící (a button of popup.js opens it).
tagsarray of stringano
fillsnumberanoNumber of sign-ups (Historie vyplnění).
publicIdstringano
previewUrlstringanohostedUrl?preview=1: Náhled webového formuláře (works for an inactive form too).

FormTemplate

one of: classic, popup, slide, popup-image, popup-image-aside, slide-image

FormWelcome

E-mail po přihlášení (core/form_welcome.py): the form's own automation (trigger form_submitted of the form, each contact once, one send_email node).

PoleTypPovinnéPopis
enabledbooleananoThe own automation runs.
automationobject or nullanocustom = changed in the automation editor (more nodes): shown only, edited there.
templateIdstring or nullano
senderIdstring or nullano
senderNamestringano
replyTostringano
templateobject or nullanoThe template asked for (?templateId=) or the automation's one, with the coupon keys it carries.
couponStackIdstring or nullanoThe stack whose tag the template carries.
stacksarray of FormWelcomeStackano
othersarray of objectanoOther automations started by this form.

FormWelcomeInput

PoleTypPovinnéPopis
enabledbooleanano
templateIdstring or nullne
senderIdstring or nullne
senderNamestringne
replyTostringne
couponStackIdstring or nullne

FormWelcomeStack

A coupon stack offered for E-mail po přihlášení (its tag in the template gives every subscriber one code).

PoleTypPovinnéPopis
idstringano
namestringano
mergeKeystringano
tagstringano{{coupon_<mergeKey>}}
freenumberano
lowbooleanano50 or fewer free codes.

GridTagsInput

Bulk label change: add and remove, or tags = the new labels of every row.

PoleTypPovinnéPopis
idsarray of stringano
addarray of stringne
removearray of stringne
tagsarray of stringne

PopupAfter

one of: redirect, thanks, close

PopupRepeat

one of: days, session, browser

PopupSettings

Settings of a pop-up or slide-in form (core/form_popup.py).

PoleTypPovinnéPopis
triggerPopupTriggerano
delaySecondsnumberanodelay: 1 to 600 seconds after the page is ready.
scrollUnitone of: percent, pixelsanoscroll in % of the page (10 to 100) or in pixels from the top (1 to 20000, SmartEmailing).
scrollPercentnumberano
scrollPixelsnumberano
repeatPopupRepeatanosession = after closing hidden for the browser session, never after a sign-up; browser = again in the next session, a sign-up too; days = hidden for repeatDays (1 to 365) after closing.
repeatDaysnumberano
afterPopupAfteranothanks = Děkovací okno (the thank-you message in the same dialog, closes itself after closeSeconds); close = Bez děkovací stránky (the dialog closes at once, "Hotovo" shows for 2 s); redirect needs successUrl (the whole page goes there after the sign-up).
closeSecondsnumberanoDěkovací okno closes itself after 0 to 60 seconds, 0 = stays open until the visitor closes it.
delayScopeone of: page, siteanosite = the delay counts time on the whole e-shop across page views; page = each page starts again.
mobileone of: off, sheetanosheet = a bottom sheet on phones and tablets; off = never there (SmartEmailing's recommended default).
sideone of: left, rightanoSlide-in: the button at the bottom right or left.
skipLoggedInbooleananoNever for a signed-in Shoptet customer (dataLayer).
skipFromEmailbooleananoNever for visitors from a Poštárna e-mail (marker parameter emailParam or utm_source in emailSources), 365 days.
emailParamstringano
emailSourcesarray of stringano
skipAfterOrderbooleananoNever after an order (thank-you page address contains one of orderPatterns), 365 days.
orderPatternsarray of stringano
excludePatternsarray of stringanoNever on addresses containing one of these (cart, checkout).

PopupTrigger

one of: load, delay, scroll