Endpunkt AI-Werkzeuge

POST /v1/tools/{name} führt ein Werkzeug von SmartChat AI direkt aus, ohne KI-Modell dazwischen. Texte, die du schickst, werden wörtlich übernommen. GET /v1/tools listet alle Werkzeuge mit Eingabe-Schema und ob dein Schlüssel sie nutzen darf.

Die technische Referenz unten ist auf Englisch, genau so, wie Namen und Felder in der API und in Claude erscheinen.

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": { ... }}

Zweistufige Aktionen

Werkzeuge, die senden, planen, einreichen oder löschen, liefern zuerst eine Vorschau und ein confirm_token. Ruf dasselbe Werkzeug mit confirm_token nochmal auf, um es auszuführen. Beim ersten Aufruf passiert nichts.

59 tools

POST/v1/tools/get_overview · Get account overview

Liest nurRecht: stats:read

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

Daten (body): {"arguments": { ... }}

Keine Eingabefelder.

POST/v1/tools/list_media · List media

Liest nurRecht: media:read

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

Daten (body): {"arguments": { ... }}

Keine Eingabefelder.

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

Ändert DatenRecht: media:write

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
media_idstringja

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

Ändert DatenRecht: landing:writeKostet Credits wie eine Nachricht an SmartChat AI

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
headlinestringnein
subheadlinestringnein
cta_textstringnein
success_messagestringnein
texteobjectnein
steps_titlestringnein
steps_introstringnein
faq_titlestringnein
proof_titlestringnein
problemobjectnein
solutionobjectnein
offerobjectnein
stepsarray of objectnein
faqarray of objectnein
reviewsarray of objectnein
colorstringnein
heading_coloranynein
background_coloranynein
button_coloranynein
fontstringnein
design_moodstringnein
font_pairstringnein
hero_imagestringnein
hero_mediaobjectnein
imagesarray of stringnein
verbatimarray of stringneinNamen 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

Ändert DatenRecht: landing:write

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
positionanyja
querystringnein

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

Liest nurRecht: landing:read

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
positionanynein

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

Ändert DatenRecht: landing:writeKostet Credits wie eine Nachricht an SmartChat AI

Adds a block (section) to the landing page.

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
typestringja
dataobjectnein
variantstringnein
tonstringnein
positionanynein
stilarray of objectnein

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

Sendet, reicht ein oder löschtRecht: landing:write

Removes a block from the landing page.

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
positionanyja

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

Ändert DatenRecht: landing:write

Moves a block to another position on the landing page.

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
fromanyja
toanyja

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

Ändert DatenRecht: landing:write

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
radiusanynein
shadowanynein
spacinganynein
widthanynein
buttonanynein
imageanynein
stilarray of objectnein

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

Ändert DatenRecht: landing:writeKostet Credits wie eine Nachricht an SmartChat AI

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
positionanyja
karteanynein
dataobjectnein
variantstringnein
tonstringnein
stilarray of objectnein

POST/v1/tools/publish_landing · Publish landing page

Sendet, reicht ein oder löschtRecht: landing:write

Publishes the landing page so the changes are live.

Daten (body): {"arguments": { ... }}

Keine Eingabefelder.

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

Ändert DatenRecht: followups:writeKostet Credits wie eine Nachricht an SmartChat AI

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
namestringja
stepsarray of objectja
activatebooleannein
verbatimarray of stringnein

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

Ändert DatenRecht: followups:writeKostet Credits wie eine Nachricht an SmartChat AI

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
step_idstringja
contentstringnein
subjectstringnein
delay_hoursnumbernein
verbatimarray of stringnein

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

Ändert DatenRecht: followups:writeKostet Credits wie eine Nachricht an SmartChat AI

Adds a message to a follow-up sequence.

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
sequence_idstringja
channelstringnein
delay_hoursnumbernein
contentstringja
buttonanynein
mediaobjectnein
verbatimarray of stringnein

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

Sendet, reicht ein oder löschtRecht: followups:write

Deletes one message from a follow-up sequence.

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
step_idstringja

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

Ändert DatenRecht: followups:write

Renames a follow-up sequence.

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
sequence_idstringja
namestringja

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

Ändert DatenRecht: followups:write

Pauses or starts a follow-up sequence.

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
sequence_idstringja
statusstring ("active", "paused")ja

POST/v1/tools/create_newsletter · Create newsletter

Ändert DatenRecht: newsletters:writeKostet Credits wie eine Nachricht an SmartChat AI

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
subjectstringja
contentstringja
channelstringnein
mediaobjectnein
ctaobjectnein
segmentobjectnein

POST/v1/tools/update_newsletter · Change newsletter

Ändert DatenRecht: newsletters:writeKostet Credits wie eine Nachricht an SmartChat AI

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
newsletter_idstringja
subjectstringnein
contentstringnein
mediaanynein
ctaanynein
segmentanynein

POST/v1/tools/send_newsletter · Send newsletter now

Sendet, reicht ein oder löschtRecht: 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.

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
newsletter_idstringja
confirm_tokenstringnein

POST/v1/tools/test_newsletter · Send test newsletter

Sendet, reicht ein oder löschtRecht: newsletters:schedule

Sends a newsletter to the test phone number only.

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
newsletter_idstringja
tostringnein

POST/v1/tools/schedule_newsletter · Schedule newsletter

Sendet, reicht ein oder löschtRecht: newsletters:schedule

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
newsletter_idstringja
scheduled_atstringja
confirm_tokenstringnein

POST/v1/tools/cancel_newsletter · Cancel newsletter

Sendet, reicht ein oder löschtRecht: newsletters:schedule

Cancels a scheduled newsletter.

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
newsletter_idstringja

POST/v1/tools/get_newsletter · Get newsletter

Liest nurRecht: newsletters:read

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
newsletter_idstringja

POST/v1/tools/create_template · Create template

Ändert DatenRecht: templates:writeKostet Credits wie eine Nachricht an SmartChat AI

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
namestringja
channelstringnein
contentstringja
subjectstringnein
buttonsarray of anynein
mediaobjectnein
verbatimarray of stringnein

POST/v1/tools/update_template · Change template

Ändert DatenRecht: templates:writeKostet Credits wie eine Nachricht an SmartChat AI

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
template_idstringja
namestringnein
contentstringnein
subjectstringnein
buttonsanynein
mediaanynein
verbatimarray of stringnein

POST/v1/tools/delete_template · Delete template

Sendet, reicht ein oder löschtRecht: templates:delete

Deletes a template.

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
template_idstringja

POST/v1/tools/submit_all_templates · Submit all templates

Sendet, reicht ein oder löschtRecht: templates:submit

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
confirm_tokenstringnein

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

Sendet, reicht ein oder löschtRecht: templates:submit

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
template_idstringja
confirm_tokenstringnein

POST/v1/tools/get_stats · Get statistics

Liest nurRecht: stats:read

Returns the key figures of the account.

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
rangestring ("7d", "30d", "90d")nein

POST/v1/tools/list_contacts · List contacts

Liest nurRecht: contacts:read

Lists contacts with their opt-in state and tags.

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
typestringnein
searchstringnein

POST/v1/tools/add_contact · Add contact

Ändert DatenRecht: contacts:write

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
namestringnein
emailstringnein
phonestringnein

POST/v1/tools/resend_optin_confirmation · Resend confirmation

Sendet, reicht ein oder löschtRecht: messages:write

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
contact_idstringja
confirm_tokenstringnein

POST/v1/tools/tag_contacts · Tag contacts

Ändert DatenRecht: contacts:write

Adds tags to one or more contacts.

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
tagstringja
contact_idsarray of anyja
grundstringnein

POST/v1/tools/untag_contacts · Remove tags

Ändert DatenRecht: contacts:write

Removes tags from one or more contacts.

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
tagstringja
contact_idsarray of anyja

POST/v1/tools/export_contacts · Export contacts

Liest nurRecht: contacts:read

Exports the contacts as CSV text.

Daten (body): {"arguments": { ... }}

Keine Eingabefelder.

POST/v1/tools/update_brand · Change brand

Ändert DatenRecht: settings:write

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
colorstringnein
tonalitystringnein

POST/v1/tools/set_landing_tracking · Set tracking pixel

Ändert DatenRecht: landing:write

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
meta_pixel_idstringnein
meta_capi_tokenstringnein
google_idstringnein
gtm_idstringnein
tiktok_idstringnein
tiktok_events_tokenstringnein

POST/v1/tools/find_text · Find text

Liest nurRecht: landing:read

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
textstringja

POST/v1/tools/update_website_popup · Change website popup

Ändert DatenRecht: landing:writeKostet Credits wie eine Nachricht an SmartChat AI

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
headlinestringnein
textstringnein
buttonstringnein
thanks_headlinestringnein
thanks_textstringnein
imageanynein
triggersarray of string ("time", "exit", "scroll")nein
delay_secondsnumbernein
scroll_percentnumbernein

POST/v1/tools/scan_website · Scan website

Ändert DatenRecht: settings:writeKostet Credits wie eine Nachricht an SmartChat AI

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
urlstringja

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

Ändert DatenRecht: settings:write

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
valuestringja
kindstringnein

POST/v1/tools/search_knowledge · Search business knowledge

Liest nurRecht: settings:read

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
querystringja
limitnumbernein

POST/v1/tools/refresh_brain · Rebuild business knowledge

Ändert DatenRecht: settings:writeKostet Credits wie eine Nachricht an SmartChat AI

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
forcebooleannein

POST/v1/tools/get_growth_plan · Get growth plan

Liest nurRecht: settings:readKostet Credits wie eine Nachricht an SmartChat AI

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

Daten (body): {"arguments": { ... }}

Keine Eingabefelder.

POST/v1/tools/get_next_step · Get next step

Liest nurRecht: settings:read

Returns the most useful next step for the account.

Daten (body): {"arguments": { ... }}

Keine Eingabefelder.

POST/v1/tools/refresh_reviews · Reload reviews

Ändert DatenRecht: landing:writeKostet Credits wie eine Nachricht an SmartChat AI

Loads the latest Google reviews for the landing page.

Daten (body): {"arguments": { ... }}

Keine Eingabefelder.

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

Liest nurRecht: settings:readKostet Credits wie eine Nachricht an SmartChat AI

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
querystringja
languagestringnein

POST/v1/tools/list_automations · List automations

Liest nurRecht: automations:read

Lists the automations with state and trigger.

Daten (body): {"arguments": { ... }}

Keine Eingabefelder.

POST/v1/tools/create_automation · Create automation

Ändert DatenRecht: automations:writeKostet Credits wie eine Nachricht an SmartChat AI

Creates an automation (trigger and actions).

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
namestringja
trigger_typestringja
trigger_configobjectnein
actionsarray of objectja
contact_fieldsarray of stringnein
activatebooleannein

POST/v1/tools/update_automation · Change automation

Ändert DatenRecht: automations:writeKostet Credits wie eine Nachricht an SmartChat AI

Changes an automation, or pauses and activates it.

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
automation_idstringja
namestringnein
statusstringnein
actionsanynein
trigger_configanynein

POST/v1/tools/test_automation · Test automation

Ändert DatenRecht: automations:write

Runs an automation once with test data.

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
automation_idstringja
sample_payloadobjectnein

POST/v1/tools/get_automation_setup · Get automation setup

Liest nurRecht: automations:read

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
automation_idstringja

POST/v1/tools/connect_calendar · Connect calendar

Ändert DatenRecht: automations:write

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
automation_idstringja
calendar_urlstringnein
providerstringnein
lead_minutesnumbernein

POST/v1/tools/get_automation_runs · Get automation runs

Liest nurRecht: automations:read

Returns the latest runs of an automation.

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
automation_idstringja
limitnumbernein

POST/v1/tools/delete_automation · Delete automation

Sendet, reicht ein oder löschtRecht: automations:delete

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
automation_idstringja
confirm_tokenstringnein

POST/v1/tools/create_free_automation · Create custom automation

Ändert DatenRecht: automations:writeKostet Credits wie eine Nachricht an SmartChat AI

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

Daten (body): {"arguments": { ... }}

FeldTypPflichtBeschreibung
namestringja
regelobjectja
actionsarray of objectja
contact_fieldsarray of stringnein
activatebooleannein
confirmedbooleannein

Fragen?

Schreib uns an support@smartchat.marketing