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
stats:readReturns 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
media:readLists 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
media:writeSaves an uploaded file permanently to the media library. Argument: media_id.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
media_id | string | yes |
POST/v1/tools/update_landing · Change landing page texts
landing:writeUses credits like one SmartChat AI messageChanges texts and settings of the landing page. Texts are used word for word.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
headline | string | no | |
subheadline | string | no | |
cta_text | string | no | |
success_message | string | no | |
texte | object | no | |
steps_title | string | no | |
steps_intro | string | no | |
faq_title | string | no | |
proof_title | string | no | |
problem | object | no | |
solution | object | no | |
offer | object | no | |
steps | array of object | no | |
faq | array of object | no | |
reviews | array of object | no | |
color | string | no | |
heading_color | any | no | |
background_color | any | no | |
button_color | any | no | |
font | string | no | |
design_mood | string | no | |
font_pair | string | no | |
hero_image | string | no | |
hero_media | object | no | |
images | array of string | no | |
verbatim | array of string | no | Namen 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
landing:writeReplaces an image on the landing page with an image or video from the media library.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
position | any | yes | |
query | string | no |
POST/v1/tools/get_landing_blocks · Get landing page blocks
landing:readReturns all blocks of the landing page with their ids and content.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
position | any | no |
POST/v1/tools/add_landing_block · Add landing page block
landing:writeUses credits like one SmartChat AI messageAdds a block (section) to the landing page.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
type | string | yes | |
data | object | no | |
variant | string | no | |
ton | string | no | |
position | any | no | |
stil | array of object | no |
POST/v1/tools/remove_landing_block · Remove landing page block
landing:writeRemoves a block from the landing page.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
position | any | yes |
POST/v1/tools/move_landing_block · Move landing page block
landing:writeMoves a block to another position on the landing page.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
from | any | yes | |
to | any | yes |
POST/v1/tools/set_landing_style · Change landing page style
landing:writeChanges colors, fonts and background of the landing page or of one block.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
radius | any | no | |
shadow | any | no | |
spacing | any | no | |
width | any | no | |
button | any | no | |
image | any | no | |
stil | array of object | no |
POST/v1/tools/update_landing_block · Change landing page block
landing:writeUses credits like one SmartChat AI messageChanges the content or design of one block. Texts are used word for word.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
position | any | yes | |
karte | any | no | |
data | object | no | |
variant | string | no | |
ton | string | no | |
stil | array of object | no |
POST/v1/tools/publish_landing · Publish landing page
landing:writePublishes the landing page so the changes are live.
Body: {"arguments": { ... }}
No input fields.
POST/v1/tools/create_followup_sequence · Create follow-up sequence
followups:writeUses credits like one SmartChat AI messageCreates a follow-up sequence (messages after sign-up).
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
name | string | yes | |
steps | array of object | yes | |
activate | boolean | no | |
verbatim | array of string | no |
POST/v1/tools/update_followup_step · Change follow-up step
followups:writeUses credits like one SmartChat AI messageChanges text, image or timing of one follow-up message. Texts are used word for word.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
step_id | string | yes | |
content | string | no | |
subject | string | no | |
delay_hours | number | no | |
verbatim | array of string | no |
POST/v1/tools/add_followup_step · Add follow-up step
followups:writeUses credits like one SmartChat AI messageAdds a message to a follow-up sequence.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
sequence_id | string | yes | |
channel | string | no | |
delay_hours | number | no | |
content | string | yes | |
button | any | no | |
media | object | no | |
verbatim | array of string | no |
POST/v1/tools/delete_followup_step · Delete follow-up step
followups:writeDeletes one message from a follow-up sequence.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
step_id | string | yes |
POST/v1/tools/rename_followup_sequence · Rename follow-up sequence
followups:writeRenames a follow-up sequence.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
sequence_id | string | yes | |
name | string | yes |
POST/v1/tools/set_followup_status · Pause or start follow-ups
followups:writePauses or starts a follow-up sequence.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
sequence_id | string | yes | |
status | string ("active", "paused") | yes |
POST/v1/tools/create_newsletter · Create newsletter
newsletters:writeUses credits like one SmartChat AI messageCreates a WhatsApp newsletter as draft. Texts are used word for word; media_id adds an image or video from the media library.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
subject | string | yes | |
content | string | yes | |
channel | string | no | |
media | object | no | |
cta | object | no | |
segment | object | no |
POST/v1/tools/update_newsletter · Change newsletter
newsletters:writeUses credits like one SmartChat AI messageChanges text, image, video or button of a newsletter. Texts are used word for word.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
newsletter_id | string | yes | |
subject | string | no | |
content | string | no | |
media | any | no | |
cta | any | no | |
segment | any | no |
POST/v1/tools/send_newsletter · Send newsletter now
newsletters:scheduleSends 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": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
newsletter_id | string | yes | |
confirm_token | string | no |
POST/v1/tools/test_newsletter · Send test newsletter
newsletters:scheduleSends a newsletter to the test phone number only.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
newsletter_id | string | yes | |
to | string | no |
POST/v1/tools/schedule_newsletter · Schedule newsletter
newsletters:scheduleSchedules a newsletter. First call returns a preview and confirm_token; the second call with confirm_token schedules.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
newsletter_id | string | yes | |
scheduled_at | string | yes | |
confirm_token | string | no |
POST/v1/tools/cancel_newsletter · Cancel newsletter
newsletters:scheduleCancels a scheduled newsletter.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
newsletter_id | string | yes |
POST/v1/tools/get_newsletter · Get newsletter
newsletters:readReturns one newsletter with text, media, state and recipients.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
newsletter_id | string | yes |
POST/v1/tools/create_template · Create template
templates:writeUses credits like one SmartChat AI messageCreates a WhatsApp template as draft. Texts are used word for word.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
name | string | yes | |
channel | string | no | |
content | string | yes | |
subject | string | no | |
buttons | array of any | no | |
media | object | no | |
verbatim | array of string | no |
POST/v1/tools/update_template · Change template
templates:writeUses credits like one SmartChat AI messageChanges text, image or buttons of a template. Texts are used word for word.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
template_id | string | yes | |
name | string | no | |
content | string | no | |
subject | string | no | |
buttons | any | no | |
media | any | no | |
verbatim | array of string | no |
POST/v1/tools/delete_template · Delete template
templates:deleteDeletes a template.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
template_id | string | yes |
POST/v1/tools/submit_all_templates · Submit all templates
templates:submitSubmits all open templates to WhatsApp. First call returns the list and confirm_token; the second call with confirm_token submits.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
confirm_token | string | no |
POST/v1/tools/submit_template · Submit template to WhatsApp
templates:submitSubmits a template to WhatsApp for approval. First call returns a check and confirm_token; the second call with confirm_token submits.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
template_id | string | yes | |
confirm_token | string | no |
POST/v1/tools/get_stats · Get statistics
stats:readReturns the key figures of the account.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
range | string ("7d", "30d", "90d") | no |
POST/v1/tools/list_contacts · List contacts
contacts:readLists contacts with their opt-in state and tags.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
type | string | no | |
search | string | no |
POST/v1/tools/add_contact · Add contact
contacts:writeAdds a contact. A new contact still has to confirm the sign-up.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
name | string | no | |
email | string | no | |
phone | string | no |
POST/v1/tools/resend_optin_confirmation · Resend confirmation
messages:writeSends the sign-up confirmation to a contact again. First call returns a preview and confirm_token.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
contact_id | string | yes | |
confirm_token | string | no |
POST/v1/tools/tag_contacts · Tag contacts
contacts:writeAdds tags to one or more contacts.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
tag | string | yes | |
contact_ids | array of any | yes | |
grund | string | no |
POST/v1/tools/untag_contacts · Remove tags
contacts:writeRemoves tags from one or more contacts.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
tag | string | yes | |
contact_ids | array of any | yes |
POST/v1/tools/export_contacts · Export contacts
contacts:readExports the contacts as CSV text.
Body: {"arguments": { ... }}
No input fields.
POST/v1/tools/update_brand · Change brand
settings:writeChanges brand data: name, colors, logo, tone.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
color | string | no | |
tonality | string | no |
POST/v1/tools/set_landing_tracking · Set tracking pixel
landing:writeSets tracking pixels (Meta, Google, TikTok) on the landing page.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
meta_pixel_id | string | no | |
meta_capi_token | string | no | |
google_id | string | no | |
gtm_id | string | no | |
tiktok_id | string | no | |
tiktok_events_token | string | no |
POST/v1/tools/find_text · Find text
landing:readFinds where a text appears: landing page, popup, templates, follow-ups and newsletters. Argument: text.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
text | string | yes |
POST/v1/tools/set_legal_urls · Set legal pages
settings:writeSets the addresses of imprint and privacy policy.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
imprint_url | string | no | |
privacy_url | string | no |
POST/v1/tools/update_website_popup · Change website popup
landing:writeUses credits like one SmartChat AI messageChanges texts, look and timing of the sign-up popup on the business website.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
headline | string | no | |
text | string | no | |
button | string | no | |
thanks_headline | string | no | |
thanks_text | string | no | |
image | any | no | |
triggers | array of string ("time", "exit", "scroll") | no | |
delay_seconds | number | no | |
scroll_percent | number | no |
POST/v1/tools/scan_website · Scan website
settings:writeUses credits like one SmartChat AI messageScans the business website again and updates the stored data. Argument: url (optional).
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
url | string | yes |
POST/v1/tools/set_constraint · Set a content rule
settings:writeStores a rule for all content, for example a topic that must never be mentioned.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
value | string | yes | |
kind | string | no |
POST/v1/tools/search_knowledge · Search business knowledge
settings:readSearches the stored knowledge about the business (website, documents). Argument: query.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
query | string | yes | |
limit | number | no |
POST/v1/tools/refresh_brain · Rebuild business knowledge
settings:writeUses credits like one SmartChat AI messageRebuilds the stored knowledge about the business from its website and documents.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
force | boolean | no |
POST/v1/tools/get_growth_plan · Get growth plan
settings:readUses credits like one SmartChat AI messageReturns a growth plan for the business based on its data.
Body: {"arguments": { ... }}
No input fields.
POST/v1/tools/get_next_step · Get next step
settings:readReturns the most useful next step for the account.
Body: {"arguments": { ... }}
No input fields.
POST/v1/tools/refresh_reviews · Reload reviews
landing:writeUses credits like one SmartChat AI messageLoads the latest Google reviews for the landing page.
Body: {"arguments": { ... }}
No input fields.
POST/v1/tools/web_research · Research on the web
settings:readUses credits like one SmartChat AI messageResearches a question on the web and returns sources. Argument: query.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
query | string | yes | |
language | string | no |
POST/v1/tools/list_automations · List automations
automations:readLists the automations with state and trigger.
Body: {"arguments": { ... }}
No input fields.
POST/v1/tools/create_automation · Create automation
automations:writeUses credits like one SmartChat AI messageCreates an automation (trigger and actions).
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
name | string | yes | |
trigger_type | string | yes | |
trigger_config | object | no | |
actions | array of object | yes | |
contact_fields | array of string | no | |
activate | boolean | no |
POST/v1/tools/update_automation · Change automation
automations:writeUses credits like one SmartChat AI messageChanges an automation, or pauses and activates it.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
automation_id | string | yes | |
name | string | no | |
status | string | no | |
actions | any | no | |
trigger_config | any | no |
POST/v1/tools/test_automation · Test automation
automations:writeRuns an automation once with test data.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
automation_id | string | yes | |
sample_payload | object | no |
POST/v1/tools/get_automation_setup · Get automation setup
automations:readReturns how an automation is connected (webhook address, fields).
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
automation_id | string | yes |
POST/v1/tools/connect_calendar · Connect calendar
automations:writeConnects a calendar (private iCal address) to an automation.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
automation_id | string | yes | |
calendar_url | string | no | |
provider | string | no | |
lead_minutes | number | no |
POST/v1/tools/get_automation_runs · Get automation runs
automations:readReturns the latest runs of an automation.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
automation_id | string | yes | |
limit | number | no |
POST/v1/tools/delete_automation · Delete automation
automations:deleteDeletes an automation. First call returns a summary and confirm_token.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
automation_id | string | yes | |
confirm_token | string | no |
POST/v1/tools/create_free_automation · Create custom automation
automations:writeUses credits like one SmartChat AI messageCreates an automation from a custom rule. First call returns a preview; the second call with confirmed: true creates it.
Body: {"arguments": { ... }}
| Field | Type | Required | Description |
|---|---|---|---|
name | string | yes | |
regel | object | yes | |
actions | array of object | yes | |
contact_fields | array of string | no | |
activate | boolean | no | |
confirmed | boolean | no |
Questions?
Email us at support@smartchat.marketing