AI tools endpoint

POST /v1/tools/{name} runs one SmartChat AI tool directly, without an AI model in between. Texts you send are used word for word. GET /v1/tools lists all tools with their input schema and whether your key may use them.

The technical reference below is in English, exactly as the names and fields appear in the API and in Claude.

curl -X POST https://api.smartchat.marketing/v1/tools/update_landing \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"arguments": {"headline": "Fresh bread every morning"}}'

{"tool": "update_landing", "ok": true, "result": { ... }}

Two-step actions

Tools that send, schedule, submit or delete first return a preview and a confirm_token. Call the same tool again with confirm_token to execute. Nothing happens on the first call.

59 tools

POST/v1/tools/get_overview · Get account overview

Read onlyPermission: stats:read

Returns an overview of the account: landing page, templates, follow-ups, newsletters, automations and contacts with their IDs and states.

Body: {"arguments": { ... }}

No input fields.

POST/v1/tools/list_media · List media

Read onlyPermission: media:read

Lists the images and videos in the media library with id, number, type and description.

Body: {"arguments": { ... }}

No input fields.

POST/v1/tools/save_to_library · Save to media library

Changes dataPermission: media:write

Saves an uploaded file permanently to the media library. Argument: media_id.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
media_idstringyes

POST/v1/tools/update_landing · Change landing page texts

Changes dataPermission: landing:writeUses credits like one SmartChat AI message

Changes texts and settings of the landing page. Texts are used word for word.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
headlinestringno
subheadlinestringno
cta_textstringno
success_messagestringno
texteobjectno
steps_titlestringno
steps_introstringno
faq_titlestringno
proof_titlestringno
problemobjectno
solutionobjectno
offerobjectno
stepsarray of objectno
faqarray of objectno
reviewsarray of objectno
colorstringno
heading_coloranyno
background_coloranyno
button_coloranyno
fontstringno
design_moodstringno
font_pairstringno
hero_imagestringno
hero_mediaobjectno
imagesarray of stringno
verbatimarray of stringnoNamen der Felder, deren Text der Nutzer WÖRTLICH vorgegeben hat (z.B. ["headline"]). Diese Texte werden exakt so gespeichert - ohne Kritiker, ohne Politur. Setze das IMMER, wenn du einen Text übernimmst, den der Nutzer selbst geschrieben hat.

POST/v1/tools/swap_landing_image · Change landing page image

Changes dataPermission: landing:write

Replaces an image on the landing page with an image or video from the media library.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
positionanyyes
querystringno

POST/v1/tools/get_landing_blocks · Get landing page blocks

Read onlyPermission: landing:read

Returns all blocks of the landing page with their ids and content.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
positionanyno

POST/v1/tools/add_landing_block · Add landing page block

Changes dataPermission: landing:writeUses credits like one SmartChat AI message

Adds a block (section) to the landing page.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
typestringyes
dataobjectno
variantstringno
tonstringno
positionanyno
stilarray of objectno

POST/v1/tools/remove_landing_block · Remove landing page block

Sends, submits or deletesPermission: landing:write

Removes a block from the landing page.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
positionanyyes

POST/v1/tools/move_landing_block · Move landing page block

Changes dataPermission: landing:write

Moves a block to another position on the landing page.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
fromanyyes
toanyyes

POST/v1/tools/set_landing_style · Change landing page style

Changes dataPermission: landing:write

Changes colors, fonts and background of the landing page or of one block.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
radiusanyno
shadowanyno
spacinganyno
widthanyno
buttonanyno
imageanyno
stilarray of objectno

POST/v1/tools/update_landing_block · Change landing page block

Changes dataPermission: landing:writeUses credits like one SmartChat AI message

Changes the content or design of one block. Texts are used word for word.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
positionanyyes
karteanyno
dataobjectno
variantstringno
tonstringno
stilarray of objectno

POST/v1/tools/publish_landing · Publish landing page

Sends, submits or deletesPermission: landing:write

Publishes the landing page so the changes are live.

Body: {"arguments": { ... }}

No input fields.

POST/v1/tools/create_followup_sequence · Create follow-up sequence

Changes dataPermission: followups:writeUses credits like one SmartChat AI message

Creates a follow-up sequence (messages after sign-up).

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
namestringyes
stepsarray of objectyes
activatebooleanno
verbatimarray of stringno

POST/v1/tools/update_followup_step · Change follow-up step

Changes dataPermission: followups:writeUses credits like one SmartChat AI message

Changes text, image or timing of one follow-up message. Texts are used word for word.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
step_idstringyes
contentstringno
subjectstringno
delay_hoursnumberno
verbatimarray of stringno

POST/v1/tools/add_followup_step · Add follow-up step

Changes dataPermission: followups:writeUses credits like one SmartChat AI message

Adds a message to a follow-up sequence.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
sequence_idstringyes
channelstringno
delay_hoursnumberno
contentstringyes
buttonanyno
mediaobjectno
verbatimarray of stringno

POST/v1/tools/delete_followup_step · Delete follow-up step

Sends, submits or deletesPermission: followups:write

Deletes one message from a follow-up sequence.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
step_idstringyes

POST/v1/tools/rename_followup_sequence · Rename follow-up sequence

Changes dataPermission: followups:write

Renames a follow-up sequence.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
sequence_idstringyes
namestringyes

POST/v1/tools/set_followup_status · Pause or start follow-ups

Changes dataPermission: followups:write

Pauses or starts a follow-up sequence.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
sequence_idstringyes
statusstring ("active", "paused")yes

POST/v1/tools/create_newsletter · Create newsletter

Changes dataPermission: newsletters:writeUses credits like one SmartChat AI message

Creates a WhatsApp newsletter as draft. Texts are used word for word; media_id adds an image or video from the media library.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
subjectstringyes
contentstringyes
channelstringno
mediaobjectno
ctaobjectno
segmentobjectno

POST/v1/tools/update_newsletter · Change newsletter

Changes dataPermission: newsletters:writeUses credits like one SmartChat AI message

Changes text, image, video or button of a newsletter. Texts are used word for word.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
newsletter_idstringyes
subjectstringno
contentstringno
mediaanyno
ctaanyno
segmentanyno

POST/v1/tools/send_newsletter · Send newsletter now

Sends, submits or deletesPermission: newsletters:schedule

Sends a newsletter to all confirmed contacts. First call returns the number of recipients and a confirm_token; the second call with confirm_token sends.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
newsletter_idstringyes
confirm_tokenstringno

POST/v1/tools/test_newsletter · Send test newsletter

Sends, submits or deletesPermission: newsletters:schedule

Sends a newsletter to the test phone number only.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
newsletter_idstringyes
tostringno

POST/v1/tools/schedule_newsletter · Schedule newsletter

Sends, submits or deletesPermission: newsletters:schedule

Schedules a newsletter. First call returns a preview and confirm_token; the second call with confirm_token schedules.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
newsletter_idstringyes
scheduled_atstringyes
confirm_tokenstringno

POST/v1/tools/cancel_newsletter · Cancel newsletter

Sends, submits or deletesPermission: newsletters:schedule

Cancels a scheduled newsletter.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
newsletter_idstringyes

POST/v1/tools/get_newsletter · Get newsletter

Read onlyPermission: newsletters:read

Returns one newsletter with text, media, state and recipients.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
newsletter_idstringyes

POST/v1/tools/create_template · Create template

Changes dataPermission: templates:writeUses credits like one SmartChat AI message

Creates a WhatsApp template as draft. Texts are used word for word.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
namestringyes
channelstringno
contentstringyes
subjectstringno
buttonsarray of anyno
mediaobjectno
verbatimarray of stringno

POST/v1/tools/update_template · Change template

Changes dataPermission: templates:writeUses credits like one SmartChat AI message

Changes text, image or buttons of a template. Texts are used word for word.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
template_idstringyes
namestringno
contentstringno
subjectstringno
buttonsanyno
mediaanyno
verbatimarray of stringno

POST/v1/tools/delete_template · Delete template

Sends, submits or deletesPermission: templates:delete

Deletes a template.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
template_idstringyes

POST/v1/tools/submit_all_templates · Submit all templates

Sends, submits or deletesPermission: templates:submit

Submits all open templates to WhatsApp. First call returns the list and confirm_token; the second call with confirm_token submits.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
confirm_tokenstringno

POST/v1/tools/submit_template · Submit template to WhatsApp

Sends, submits or deletesPermission: templates:submit

Submits a template to WhatsApp for approval. First call returns a check and confirm_token; the second call with confirm_token submits.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
template_idstringyes
confirm_tokenstringno

POST/v1/tools/get_stats · Get statistics

Read onlyPermission: stats:read

Returns the key figures of the account.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
rangestring ("7d", "30d", "90d")no

POST/v1/tools/list_contacts · List contacts

Read onlyPermission: contacts:read

Lists contacts with their opt-in state and tags.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
typestringno
searchstringno

POST/v1/tools/add_contact · Add contact

Changes dataPermission: contacts:write

Adds a contact. A new contact still has to confirm the sign-up.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
namestringno
emailstringno
phonestringno

POST/v1/tools/resend_optin_confirmation · Resend confirmation

Sends, submits or deletesPermission: messages:write

Sends the sign-up confirmation to a contact again. First call returns a preview and confirm_token.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
contact_idstringyes
confirm_tokenstringno

POST/v1/tools/tag_contacts · Tag contacts

Changes dataPermission: contacts:write

Adds tags to one or more contacts.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
tagstringyes
contact_idsarray of anyyes
grundstringno

POST/v1/tools/untag_contacts · Remove tags

Changes dataPermission: contacts:write

Removes tags from one or more contacts.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
tagstringyes
contact_idsarray of anyyes

POST/v1/tools/export_contacts · Export contacts

Read onlyPermission: contacts:read

Exports the contacts as CSV text.

Body: {"arguments": { ... }}

No input fields.

POST/v1/tools/update_brand · Change brand

Changes dataPermission: settings:write

Changes brand data: name, colors, logo, tone.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
colorstringno
tonalitystringno

POST/v1/tools/set_landing_tracking · Set tracking pixel

Changes dataPermission: landing:write

Sets tracking pixels (Meta, Google, TikTok) on the landing page.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
meta_pixel_idstringno
meta_capi_tokenstringno
google_idstringno
gtm_idstringno
tiktok_idstringno
tiktok_events_tokenstringno

POST/v1/tools/find_text · Find text

Read onlyPermission: landing:read

Finds where a text appears: landing page, popup, templates, follow-ups and newsletters. Argument: text.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
textstringyes

POST/v1/tools/update_website_popup · Change website popup

Changes dataPermission: landing:writeUses credits like one SmartChat AI message

Changes texts, look and timing of the sign-up popup on the business website.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
headlinestringno
textstringno
buttonstringno
thanks_headlinestringno
thanks_textstringno
imageanyno
triggersarray of string ("time", "exit", "scroll")no
delay_secondsnumberno
scroll_percentnumberno

POST/v1/tools/scan_website · Scan website

Changes dataPermission: settings:writeUses credits like one SmartChat AI message

Scans the business website again and updates the stored data. Argument: url (optional).

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
urlstringyes

POST/v1/tools/set_constraint · Set a content rule

Changes dataPermission: settings:write

Stores a rule for all content, for example a topic that must never be mentioned.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
valuestringyes
kindstringno

POST/v1/tools/search_knowledge · Search business knowledge

Read onlyPermission: settings:read

Searches the stored knowledge about the business (website, documents). Argument: query.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
querystringyes
limitnumberno

POST/v1/tools/refresh_brain · Rebuild business knowledge

Changes dataPermission: settings:writeUses credits like one SmartChat AI message

Rebuilds the stored knowledge about the business from its website and documents.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
forcebooleanno

POST/v1/tools/get_growth_plan · Get growth plan

Read onlyPermission: settings:readUses credits like one SmartChat AI message

Returns a growth plan for the business based on its data.

Body: {"arguments": { ... }}

No input fields.

POST/v1/tools/get_next_step · Get next step

Read onlyPermission: settings:read

Returns the most useful next step for the account.

Body: {"arguments": { ... }}

No input fields.

POST/v1/tools/refresh_reviews · Reload reviews

Changes dataPermission: landing:writeUses credits like one SmartChat AI message

Loads the latest Google reviews for the landing page.

Body: {"arguments": { ... }}

No input fields.

POST/v1/tools/web_research · Research on the web

Read onlyPermission: settings:readUses credits like one SmartChat AI message

Researches a question on the web and returns sources. Argument: query.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
querystringyes
languagestringno

POST/v1/tools/list_automations · List automations

Read onlyPermission: automations:read

Lists the automations with state and trigger.

Body: {"arguments": { ... }}

No input fields.

POST/v1/tools/create_automation · Create automation

Changes dataPermission: automations:writeUses credits like one SmartChat AI message

Creates an automation (trigger and actions).

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
namestringyes
trigger_typestringyes
trigger_configobjectno
actionsarray of objectyes
contact_fieldsarray of stringno
activatebooleanno

POST/v1/tools/update_automation · Change automation

Changes dataPermission: automations:writeUses credits like one SmartChat AI message

Changes an automation, or pauses and activates it.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
automation_idstringyes
namestringno
statusstringno
actionsanyno
trigger_configanyno

POST/v1/tools/test_automation · Test automation

Changes dataPermission: automations:write

Runs an automation once with test data.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
automation_idstringyes
sample_payloadobjectno

POST/v1/tools/get_automation_setup · Get automation setup

Read onlyPermission: automations:read

Returns how an automation is connected (webhook address, fields).

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
automation_idstringyes

POST/v1/tools/connect_calendar · Connect calendar

Changes dataPermission: automations:write

Connects a calendar (private iCal address) to an automation.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
automation_idstringyes
calendar_urlstringno
providerstringno
lead_minutesnumberno

POST/v1/tools/get_automation_runs · Get automation runs

Read onlyPermission: automations:read

Returns the latest runs of an automation.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
automation_idstringyes
limitnumberno

POST/v1/tools/delete_automation · Delete automation

Sends, submits or deletesPermission: automations:delete

Deletes an automation. First call returns a summary and confirm_token.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
automation_idstringyes
confirm_tokenstringno

POST/v1/tools/create_free_automation · Create custom automation

Changes dataPermission: automations:writeUses credits like one SmartChat AI message

Creates an automation from a custom rule. First call returns a preview; the second call with confirmed: true creates it.

Body: {"arguments": { ... }}

FieldTypeRequiredDescription
namestringyes
regelobjectyes
actionsarray of objectyes
contact_fieldsarray of stringno
activatebooleanno
confirmedbooleanno

Questions?

Email us at support@smartchat.marketing