Tous les outils MCP
Chaque outil du serveur MCP de SmartChat, classé par domaine. Claude voit exactement ces noms, descriptions et champs.
La référence technique ci-dessous est en anglais, exactement comme les noms et champs apparaissent dans l'API et dans Claude.
161 tools · MCP server: https://mcp.smartchat.marketing
Actions en deux étapes
Les outils qui envoient, planifient, soumettent ou suppriment renvoient d'abord un aperçu et un confirm_token. Rappelle le même outil avec confirm_token pour exécuter. Rien ne se passe au premier appel.
Contacts
search_contacts · Search contacts
Searches the business's contacts by name, phone number or email (partial matches, case-insensitive). Without a query it returns the most recently created contacts. Returns id, name, phone, email, tags and opt-in status.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
query | string | non | Name, phone number or email, or part of it. max length 100 |
limit | integer | non | Maximum number of results (default 25, maximum 100). min 1 · max 100 · default 25 |
Appelle: GET /v1/contacts
get_contact · Get contact
Returns one contact with all fields, tags and WhatsApp/email opt-in status.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
contact_id | string | oui | ID of the contact. min length 1 · max length 100 |
Appelle: GET /v1/contacts/undefined
create_contact · Create contact
Creates a new contact. Needs a phone number or an email address; duplicates are rejected. A new contact starts without marketing consent (opt-in status 'none'), so send_message is not possible until the contact has confirmed the opt-in.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
name | string | oui | Full name or company name. min length 1 · max length 120 |
phone | string | non | Phone number in international format, e.g. +4915112345678. max length 40 |
email | string | non | Email address. format email · max length 254 |
acquisition | string ("marketing", "service", "automation") | non | Where the contact comes from. Default: marketing. |
Appelle: POST /v1/contacts
update_contact · Update contact
Changes name, phone number or email of an existing contact. Only the fields sent are changed. Changing the phone number or email resets the opt-in for that channel.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
contact_id | string | oui | ID of the contact. min length 1 · max length 100 |
name | string | non | New name. min length 1 · max length 120 |
phone | string | non | New phone number in international format. max length 40 |
email | string | non | New email address. format email · max length 254 |
Appelle: PATCH /v1/contacts/undefined
add_contact_tag · Add tag to contact
Adds a tag (label such as 'regular customer') to a contact. Adding a tag that is already there changes nothing.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
contact_id | string | oui | ID of the contact. min length 1 · max length 100 |
tag | string | oui | The tag, e.g. 'regular customer'. min length 1 · max length 60 |
Appelle: POST /v1/contacts/undefined/tags
list_contacts · List contacts
Lists contacts with their opt-in state and tags.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
type | string | non | |
search | string | non |
Appelle: POST /v1/tools/list_contacts
add_contact · Add contact
Adds a contact. A new contact still has to confirm the sign-up.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
name | string | non | |
email | string | non | |
phone | string | non |
Appelle: POST /v1/tools/add_contact
resend_optin_confirmation · Resend confirmation
Sends the sign-up confirmation to a contact again. First call returns a preview and confirm_token.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
contact_id | string | oui | |
confirm_token | string | non |
Appelle: POST /v1/tools/resend_optin_confirmation
tag_contacts · Tag contacts
Adds tags to one or more contacts.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
tag | string | oui | |
contact_ids | array of any | oui | |
grund | string | non |
Appelle: POST /v1/tools/tag_contacts
untag_contacts · Remove tags
Removes tags from one or more contacts.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
tag | string | oui | |
contact_ids | array of any | oui |
Appelle: POST /v1/tools/untag_contacts
export_contacts · Export contacts
Exports the contacts as CSV text.
Aucun champ d'entrée.
Appelle: POST /v1/tools/export_contacts
get_last_import · Get last contact import
Returns the status and result of the last contact import.
Aucun champ d'entrée.
Appelle: POST /v1/app/get_last_import
preview_unconfirmed_contacts · Preview unconfirmed contacts
Shows how many contacts have not confirmed their WhatsApp sign-up yet and would get the confirmation again.
Aucun champ d'entrée.
Appelle: POST /v1/app/preview_unconfirmed_contacts
resend_to_unconfirmed_contacts · Resend confirmation to all unconfirmed
Sends the confirmation message again to all contacts who have not confirmed yet. Sends real WhatsApp messages.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
body | object | non | Same fields as the app sends (usually none). |
Appelle: POST /v1/app/resend_to_unconfirmed_contacts
get_optin_queue · Get opt-in queue
Returns confirmation messages that are waiting to be sent.
Aucun champ d'entrée.
Appelle: POST /v1/app/get_optin_queue
send_optin_queue · Send opt-in queue
Sends the waiting confirmation messages now. Sends real WhatsApp messages.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
body | object | non | Fields to send, same as in the app. |
Appelle: POST /v1/app/send_optin_queue
get_consent_check · Get consent proof check
Returns the result of the consent proof check for imported contacts.
Aucun champ d'entrée.
Appelle: POST /v1/app/get_consent_check
start_consent_check · Start consent proof check
Starts or answers the consent proof check for imported contacts.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
body | object | non | Same fields as the app (answer of the check). |
Appelle: POST /v1/app/start_consent_check
unsubscribe_contact · Unsubscribe a contact
Unsubscribes a contact: they get no more marketing messages. contact_id from search_contacts.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
contact_id | string | oui | ID (contact id). min length 1 · max length 200 |
body | object | non | Fields to send, same as in the app. |
Appelle: POST /v1/app/unsubscribe_contact
remove_contact_tag · Remove a tag from a contact
Removes one tag from a contact.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
contact_id | string | oui | ID (contact id). min length 1 · max length 200 |
tag | string | oui | ID (tag). min length 1 · max length 200 |
Appelle: POST /v1/app/remove_contact_tag
delete_contact · Delete a contact
Deletes a contact completely. Cannot be undone.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
contact_id | string | oui | ID (contact id). min length 1 · max length 200 |
Appelle: POST /v1/app/delete_contact
export_all_data · Export all account data
Returns the complete data export of the account (as in Settings).
Aucun champ d'entrée.
Appelle: POST /v1/app/export_all_data
Messages and inbox
send_message · Send WhatsApp message
Sends a free-text WhatsApp message to one contact. Only works for contacts with a confirmed WhatsApp opt-in; otherwise the send is rejected with the reason. Counts against the monthly message quota. WhatsApp only delivers free text within 24 hours of the contact's last message; outside that window use send_template.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
contact_id | string | oui | ID of the contact. min length 1 · max length 100 |
text | string | oui | Message text (maximum 4000 characters). min length 1 · max length 4000 |
idempotency_key | string | non | Optional unique key for this action (1-255 printable ASCII characters, no spaces). Repeating the call with the same key within 24 hours returns the first result instead of sending again. min length 1 · max length 255 |
Appelle: POST /v1/messages
get_send_status · Get template send status
Returns the status of a template message queued with send_template: queued, sent, delivered, read, failed or skipped (with reason).
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
send_id | string | oui | ID of the send. min length 1 · max length 100 |
Appelle: GET /v1/sends/undefined
list_conversations · List inbox conversations
Lists inbox conversations (WhatsApp and email), newest first, with contact and last message preview.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
channel | string ("whatsapp", "email") | non | Only this channel. |
limit | integer | non | Maximum number of results (default 25, maximum 100). min 1 · max 100 · default 25 |
offset | integer | non | Number of results to skip, for paging (default 0). min 0 · max 100000 · default 0 |
Appelle: GET /v1/inbox/conversations
get_conversation_messages · Get conversation messages
Returns the most recent messages of one conversation in chronological order. Use offset to page further back.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
conversation_id | string | oui | ID of the conversation. min length 1 · max length 100 |
limit | integer | non | Maximum number of results (default 25, maximum 100). min 1 · max 100 · default 25 |
offset | integer | non | Number of results to skip, for paging (default 0). min 0 · max 100000 · default 0 |
Appelle: GET /v1/inbox/conversations/undefined/messages
list_ai_conversations · List SmartChat AI conversations
Lists the conversations with SmartChat AI (the chat inside the app).
Aucun champ d'entrée.
Appelle: POST /v1/app/list_ai_conversations
get_ai_conversation_messages · Read a SmartChat AI conversation
Returns all messages of one SmartChat AI conversation.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
conversation_id | string | oui | ID (conversation id). min length 1 · max length 200 |
Appelle: POST /v1/app/get_ai_conversation_messages
mark_conversation_read · Mark conversation as read
Marks an inbox conversation as read.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
conversation_id | string | oui | ID (conversation id). min length 1 · max length 200 |
body | object | non | Fields to send, same as in the app. |
Appelle: POST /v1/app/mark_conversation_read
reply_in_conversation · Reply in an inbox conversation
Sends a reply inside an inbox conversation (text, or an image/video from the media library). Sends a real WhatsApp message.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
conversation_id | string | oui | ID (conversation id). min length 1 · max length 200 |
body | object | non | { text } and optional { media_id } - same fields as the app. |
Appelle: POST /v1/app/reply_in_conversation
save_reply_as_learned · Save reply as learned answer
Saves an answer from a conversation so the AI reply uses it next time.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
conversation_id | string | oui | ID (conversation id). min length 1 · max length 200 |
body | object | non | Fields to send, same as in the app. |
Appelle: POST /v1/app/save_reply_as_learned
get_conversation_ai_mode · Get AI mode of a conversation
Returns whether the AI answers in this conversation or a human took over.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
conversation_id | string | oui | ID (conversation id). min length 1 · max length 200 |
Appelle: POST /v1/app/get_conversation_ai_mode
set_conversation_ai_mode · Set AI mode of a conversation
Switches the AI reply on or off for one conversation (take over / hand back).
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
conversation_id | string | oui | ID (conversation id). min length 1 · max length 200 |
body | object | non | { enabled: true|false } - same fields as the app. |
Appelle: POST /v1/app/set_conversation_ai_mode
list_learned_answers · List learned answers
Lists the answers the AI reply has learned.
Aucun champ d'entrée.
Appelle: POST /v1/app/list_learned_answers
update_learned_answer · Change a learned answer
Changes one learned answer.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
answer_id | string | oui | ID (answer id). min length 1 · max length 200 |
body | object | non | Fields to send, same as in the app. |
Appelle: POST /v1/app/update_learned_answer
delete_learned_answer · Delete a learned answer
Deletes one learned answer.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
answer_id | string | oui | ID (answer id). min length 1 · max length 200 |
Appelle: POST /v1/app/delete_learned_answer
Newsletters
list_newsletters · List newsletters
Lists newsletters with status (draft, scheduled, sending, sent) and scheduled time.
Aucun champ d'entrée.
Appelle: GET /v1/newsletters
schedule_newsletter · Schedule newsletter
Schedules an existing newsletter for a future time. At that time it is sent to all opted-in recipients. Sending immediately is not available through this server.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
newsletter_id | string | oui | ID of the newsletter. min length 1 · max length 100 |
scheduled_at | string | oui | Send time in ISO 8601 with time zone, e.g. 2026-10-01T10:00:00Z. format date-time · max length 40 |
Appelle: POST /v1/newsletters/undefined/schedule
create_newsletter · Create newsletter
Creates a WhatsApp newsletter as draft. Texts are used word for word; media_id adds an image or video from the media library.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
subject | string | oui | |
content | string | oui | |
channel | string | non | |
media | object | non | |
cta | object | non | |
segment | object | non |
Appelle: POST /v1/tools/create_newsletter
update_newsletter · Change newsletter
Changes text, image, video or button of a newsletter. Texts are used word for word.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
newsletter_id | string | oui | |
subject | string | non | |
content | string | non | |
media | any | non | |
cta | any | non | |
segment | any | non |
Appelle: POST /v1/tools/update_newsletter
send_newsletter · Send newsletter now
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.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
newsletter_id | string | oui | |
confirm_token | string | non |
Appelle: POST /v1/tools/send_newsletter
test_newsletter · Send test newsletter
Sends a newsletter to the test phone number only.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
newsletter_id | string | oui | |
to | string | non |
Appelle: POST /v1/tools/test_newsletter
cancel_newsletter · Cancel newsletter
Cancels a scheduled newsletter.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
newsletter_id | string | oui |
Appelle: POST /v1/tools/cancel_newsletter
get_newsletter · Get newsletter
Returns one newsletter with text, media, state and recipients.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
newsletter_id | string | oui |
Appelle: POST /v1/tools/get_newsletter
count_newsletter_recipients · Count newsletter recipients
Returns how many contacts a newsletter would reach.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
body | object | non | Fields to send, same as in the app. |
Appelle: POST /v1/app/count_newsletter_recipients
preview_newsletter · Preview a newsletter
Returns exactly how the newsletter arrives on the phone.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
newsletter_id | string | oui | ID (newsletter id). min length 1 · max length 200 |
Appelle: POST /v1/app/preview_newsletter
get_newsletter_progress · Get newsletter sending progress
Returns the sending state of a newsletter (sent, waiting, stopped).
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
newsletter_id | string | oui | ID (newsletter id). min length 1 · max length 200 |
Appelle: POST /v1/app/get_newsletter_progress
resume_newsletter · Resume a newsletter
Continues sending a newsletter that stopped (for example after credits ran out). Sends real WhatsApp messages.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
newsletter_id | string | oui | ID (newsletter id). min length 1 · max length 200 |
body | object | non | Fields to send, same as in the app. |
Appelle: POST /v1/app/resume_newsletter
pause_newsletter · Pause a newsletter
Stops a newsletter that is being sent right now.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
newsletter_id | string | oui | ID (newsletter id). min length 1 · max length 200 |
body | object | non | Fields to send, same as in the app. |
Appelle: POST /v1/app/pause_newsletter
delete_newsletter · Delete a newsletter
Deletes a newsletter from the list.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
newsletter_id | string | oui | ID (newsletter id). min length 1 · max length 200 |
Appelle: POST /v1/app/delete_newsletter
get_test_number · Get test phone number
Returns the phone number that receives test newsletters.
Aucun champ d'entrée.
Appelle: POST /v1/app/get_test_number
set_test_number · Set test phone number
Sets the phone number that receives test newsletters.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
body | object | non | { phone } in international format. |
Appelle: POST /v1/app/set_test_number
Templates
send_template · Send approved WhatsApp template
Sends an approved WhatsApp message template to one contact. Works outside the 24-hour window. Only for contacts with a confirmed WhatsApp opt-in and only for templates with status 'approved' (see list_templates, field 'sendable'). Template variables are filled from the contact (name, email, phone and custom fields) and from 'variables'; list_templates shows which variables can be set ('settable_variables'). The message is queued and sent within seconds through the same checks as in the SmartChat app (opt-out list, quota). Returns a send_id for get_send_status and the final text. Counts against the monthly message quota.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
contact_id | string | oui | ID of the contact. min length 1 · max length 100 |
template_id | string | oui | ID of the template. min length 1 · max length 100 |
variables | object | non | Values for template variables that do not come from the contact, e.g. { "date": "12 October" }. Maximum 20, each at most 1024 characters. |
idempotency_key | string | non | Optional unique key for this action (1-255 printable ASCII characters, no spaces). Repeating the call with the same key within 24 hours returns the first result instead of sending again. min length 1 · max length 255 |
Appelle: POST /v1/messages
list_templates · List message templates
Lists the message templates with their WhatsApp (Meta) approval status, language, variables, the variables a caller can set ('settable_variables') and whether they can be sent now ('sendable').
Aucun champ d'entrée.
Appelle: GET /v1/templates
create_template · Create WhatsApp template draft
Creates a WhatsApp marketing template as a draft in SmartChat. Nothing is sent to WhatsApp yet; use submit_template to request Meta's approval. Variables are written in double curly braces, e.g. 'Hi {{name}}, your table is ready on {{date}}.' ({{name}} is the contact's first name).
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
name | string | oui | Internal template name. min length 1 · max length 120 |
text | string | oui | Template text (WhatsApp allows at most 1024 characters). min length 1 · max length 1024 |
language | string | non | Language of the text as a Meta language code, e.g. en, en_US, de, it, fr, es. Default: the account language. min length 2 · max length 10 |
Appelle: POST /v1/templates
submit_template · Submit template to WhatsApp
Submits a template draft to WhatsApp (Meta) for approval. SmartChat checks the template against Meta's rules first and rejects it with the reason if it would fail. Approval usually takes minutes to a few hours; list_templates shows the status. Changing an approved template later requires a new approval.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
template_id | string | oui | ID of the template. min length 1 · max length 100 |
Appelle: POST /v1/templates/undefined/submit
update_template · Change template
Changes text, image or buttons of a template. Texts are used word for word.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
template_id | string | oui | |
name | string | non | |
content | string | non | |
subject | string | non | |
buttons | any | non | |
media | any | non | |
verbatim | array of string | non |
Appelle: POST /v1/tools/update_template
delete_template · Delete template
Deletes a template.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
template_id | string | oui |
Appelle: POST /v1/tools/delete_template
submit_all_templates · Submit all templates
Submits all open templates to WhatsApp. First call returns the list and confirm_token; the second call with confirm_token submits.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
confirm_token | string | non |
Appelle: POST /v1/tools/submit_all_templates
Follow-ups
create_followup_sequence · Create follow-up sequence
Creates a follow-up sequence (messages after sign-up).
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
name | string | oui | |
steps | array of object | oui | |
activate | boolean | non | |
verbatim | array of string | non |
Appelle: POST /v1/tools/create_followup_sequence
update_followup_step · Change follow-up step
Changes text, image or timing of one follow-up message. Texts are used word for word.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
step_id | string | oui | |
content | string | non | |
subject | string | non | |
delay_hours | number | non | |
verbatim | array of string | non |
Appelle: POST /v1/tools/update_followup_step
add_followup_step · Add follow-up step
Adds a message to a follow-up sequence.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
sequence_id | string | oui | |
channel | string | non | |
delay_hours | number | non | |
content | string | oui | |
button | any | non | |
media | object | non | |
verbatim | array of string | non |
Appelle: POST /v1/tools/add_followup_step
delete_followup_step · Delete follow-up step
Deletes one message from a follow-up sequence.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
step_id | string | oui |
Appelle: POST /v1/tools/delete_followup_step
rename_followup_sequence · Rename follow-up sequence
Renames a follow-up sequence.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
sequence_id | string | oui | |
name | string | oui |
Appelle: POST /v1/tools/rename_followup_sequence
set_followup_status · Pause or start follow-ups
Pauses or starts a follow-up sequence.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
sequence_id | string | oui | |
status | string ("active", "paused") | oui |
Appelle: POST /v1/tools/set_followup_status
Automations
list_automations · List automations
Lists all automations with trigger type and status (active or paused).
Aucun champ d'entrée.
Appelle: GET /v1/automations
trigger_automation · Run automation
Starts an automation once by hand. Depending on its steps this can send WhatsApp messages or emails to contacts.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
automation_id | string | oui | ID of the automation. min length 1 · max length 100 |
Appelle: POST /v1/automations/undefined/trigger
create_automation · Create automation
Creates an automation (trigger and actions).
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
name | string | oui | |
trigger_type | string | oui | |
trigger_config | object | non | |
actions | array of object | oui | |
contact_fields | array of string | non | |
activate | boolean | non |
Appelle: POST /v1/tools/create_automation
update_automation · Change automation
Changes an automation, or pauses and activates it.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
automation_id | string | oui | |
name | string | non | |
status | string | non | |
actions | any | non | |
trigger_config | any | non |
Appelle: POST /v1/tools/update_automation
test_automation · Test automation
Runs an automation once with test data.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
automation_id | string | oui | |
sample_payload | object | non |
Appelle: POST /v1/tools/test_automation
get_automation_setup · Get automation setup
Returns how an automation is connected (webhook address, fields).
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
automation_id | string | oui |
Appelle: POST /v1/tools/get_automation_setup
connect_calendar · Connect calendar
Connects a calendar (private iCal address) to an automation.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
automation_id | string | oui | |
calendar_url | string | non | |
provider | string | non | |
lead_minutes | number | non |
Appelle: POST /v1/tools/connect_calendar
get_automation_runs · Get automation runs
Returns the latest runs of an automation.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
automation_id | string | oui | |
limit | number | non |
Appelle: POST /v1/tools/get_automation_runs
delete_automation · Delete automation
Deletes an automation. First call returns a summary and confirm_token.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
automation_id | string | oui | |
confirm_token | string | non |
Appelle: POST /v1/tools/delete_automation
create_free_automation · Create custom automation
Creates an automation from a custom rule. First call returns a preview; the second call with confirmed: true creates it.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
name | string | oui | |
regel | object | oui | |
actions | array of object | oui | |
contact_fields | array of string | non | |
activate | boolean | non | |
confirmed | boolean | non |
Appelle: POST /v1/tools/create_free_automation
get_automation_connection · Get automation connection status
Returns whether an automation receives data (webhook, calendar).
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
automation_id | string | oui | ID (automation id). min length 1 · max length 200 |
Appelle: POST /v1/app/get_automation_connection
get_automation_endpoint · Get automation endpoint
Returns the webhook address and setup of an automation.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
automation_id | string | oui | ID (automation id). min length 1 · max length 200 |
Appelle: POST /v1/app/get_automation_endpoint
get_automation_timeline · Get automation timeline
Returns the timeline of what an automation did.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
automation_id | string | oui | ID (automation id). min length 1 · max length 200 |
Appelle: POST /v1/app/get_automation_timeline
check_automation_calendar · Check automation calendar
Checks the connected calendar of an automation.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
automation_id | string | oui | ID (automation id). min length 1 · max length 200 |
body | object | non | Fields to send, same as in the app. |
Appelle: POST /v1/app/check_automation_calendar
get_calendar_guides · Get calendar guides
Returns how to find the private calendar address in Google, Outlook and Apple.
Aucun champ d'entrée.
Appelle: POST /v1/app/get_calendar_guides
Landing page and popup
update_landing · Change landing page texts
Changes texts and settings of the landing page. Texts are used word for word.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
headline | string | non | |
subheadline | string | non | |
cta_text | string | non | |
success_message | string | non | |
texte | object | non | |
steps_title | string | non | |
steps_intro | string | non | |
faq_title | string | non | |
proof_title | string | non | |
problem | object | non | |
solution | object | non | |
offer | object | non | |
steps | array of object | non | |
faq | array of object | non | |
reviews | array of object | non | |
color | string | non | |
heading_color | any | non | |
background_color | any | non | |
button_color | any | non | |
font | string | non | |
design_mood | string | non | |
font_pair | string | non | |
hero_image | string | non | |
hero_media | object | non | |
images | array of string | non | |
verbatim | array of string | non | 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. |
Appelle: POST /v1/tools/update_landing
swap_landing_image · Change landing page image
Replaces an image on the landing page with an image or video from the media library.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
position | any | oui | |
query | string | non |
Appelle: POST /v1/tools/swap_landing_image
get_landing_blocks · Get landing page blocks
Returns all blocks of the landing page with their ids and content.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
position | any | non |
Appelle: POST /v1/tools/get_landing_blocks
add_landing_block · Add landing page block
Adds a block (section) to the landing page.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
type | string | oui | |
data | object | non | |
variant | string | non | |
ton | string | non | |
position | any | non | |
stil | array of object | non |
Appelle: POST /v1/tools/add_landing_block
remove_landing_block · Remove landing page block
Removes a block from the landing page.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
position | any | oui |
Appelle: POST /v1/tools/remove_landing_block
move_landing_block · Move landing page block
Moves a block to another position on the landing page.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
from | any | oui | |
to | any | oui |
Appelle: POST /v1/tools/move_landing_block
set_landing_style · Change landing page style
Changes colors, fonts and background of the landing page or of one block.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
radius | any | non | |
shadow | any | non | |
spacing | any | non | |
width | any | non | |
button | any | non | |
image | any | non | |
stil | array of object | non |
Appelle: POST /v1/tools/set_landing_style
update_landing_block · Change landing page block
Changes the content or design of one block. Texts are used word for word.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
position | any | oui | |
karte | any | non | |
data | object | non | |
variant | string | non | |
ton | string | non | |
stil | array of object | non |
Appelle: POST /v1/tools/update_landing_block
publish_landing · Publish landing page
Publishes the landing page so the changes are live.
Aucun champ d'entrée.
Appelle: POST /v1/tools/publish_landing
set_landing_tracking · Set tracking pixel
Sets tracking pixels (Meta, Google, TikTok) on the landing page.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
meta_pixel_id | string | non | |
meta_capi_token | string | non | |
google_id | string | non | |
gtm_id | string | non | |
tiktok_id | string | non | |
tiktok_events_token | string | non |
Appelle: POST /v1/tools/set_landing_tracking
find_text · Find text
Finds where a text appears: landing page, popup, templates, follow-ups and newsletters. Argument: text.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
text | string | oui |
Appelle: POST /v1/tools/find_text
update_website_popup · Change website popup
Changes texts, look and timing of the sign-up popup on the business website.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
headline | string | non | |
text | string | non | |
button | string | non | |
thanks_headline | string | non | |
thanks_text | string | non | |
image | any | non | |
triggers | array of string ("time", "exit", "scroll") | non | |
delay_seconds | number | non | |
scroll_percent | number | non |
Appelle: POST /v1/tools/update_website_popup
refresh_reviews · Reload reviews
Loads the latest Google reviews for the landing page.
Aucun champ d'entrée.
Appelle: POST /v1/tools/refresh_reviews
get_landing_page · Get landing page
Returns the landing page with its settings, address and publish state.
Aucun champ d'entrée.
Appelle: POST /v1/app/get_landing_page
preview_landing_page · Preview landing page HTML
Returns the rendered HTML of the landing page.
Aucun champ d'entrée.
Appelle: POST /v1/app/preview_landing_page
unpublish_landing_page · Unpublish landing page
Takes the landing page offline.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
body | object | non | Fields to send, same as in the app. |
Appelle: POST /v1/app/unpublish_landing_page
get_website_popup · Get website popup
Returns the settings and texts of the website sign-up popup.
Aucun champ d'entrée.
Appelle: POST /v1/app/get_website_popup
get_popup_stats · Get popup statistics
Returns how often the website popup was seen and how many signed up.
Aucun champ d'entrée.
Appelle: POST /v1/app/get_popup_stats
Media and files
list_media · List media
Lists the images and videos in the media library with id, number, type and description.
Aucun champ d'entrée.
Appelle: POST /v1/tools/list_media
save_to_library · Save to media library
Saves an uploaded file permanently to the media library. Argument: media_id.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
media_id | string | oui |
Appelle: POST /v1/tools/save_to_library
delete_media · Delete a media file
Deletes an image, video or file from the media library. media_id from list_media.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
media_id | string | oui | ID (media id). min length 1 · max length 200 |
Appelle: POST /v1/app/delete_media
get_upload_cost · Get upload cost
Returns what an upload costs in credits and time (for example for video processing).
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
kind | string | non | Optional filter 'kind'. |
size | string | non | Optional filter 'size'. |
Appelle: POST /v1/app/get_upload_cost
get_profile_media · Get profile media
Returns the profile media: logo and avatar of the business.
Aucun champ d'entrée.
Appelle: POST /v1/app/get_profile_media
update_profile_media · Change profile media
Sets logo or avatar of the business to an image from the media library.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
body | object | non | Fields as in the app, e.g. { logo_media_id } or { avatar_media_id }. |
Appelle: POST /v1/app/update_profile_media
list_knowledge_documents · List knowledge documents
Lists the documents the AI knows about the business (PDF, text).
Aucun champ d'entrée.
Appelle: POST /v1/app/list_knowledge_documents
delete_knowledge_document · Delete a knowledge document
Deletes a knowledge document.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
document_id | string | oui | ID (document id). min length 1 · max length 200 |
Appelle: POST /v1/app/delete_knowledge_document
upload_media · Upload image, video or file
Uploads an image, video or PDF to the media library, from a public address or as base64. Returns the media id, which can then be used in newsletters, templates, follow-ups and the landing page.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
url | string | non | Public address (https) of the file. SmartChat downloads it. |
data_base64 | string | non | The file itself, base64 encoded (alternative to url, for small files). |
filename | string | non | File name with extension, e.g. photo.jpg. Required with data_base64. |
mime | string | non | Optional file type, e.g. image/jpeg. |
usage | string | non | Optional purpose: generic, landing, newsletter, template, logo, avatar. |
Appelle: POST /v1/media
upload_knowledge_document · Upload knowledge document
Uploads a document (PDF, text, Word) the AI reply uses as knowledge about the business, from a public address or as base64.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
url | string | non | Public address (https) of the file. SmartChat downloads it. |
data_base64 | string | non | The file itself, base64 encoded (alternative to url, for small files). |
filename | string | non | File name with extension, e.g. photo.jpg. Required with data_base64. |
mime | string | non | Optional file type, e.g. image/jpeg. |
Appelle: POST /v1/knowledge/documents
SmartChat AI and knowledge
ask_smartchat_ai · Ask SmartChat AI
Gives a task to SmartChat AI, the assistant inside SmartChat, and returns its answer. Use it for everything the other tools do not cover: create or change WhatsApp newsletters, follow-up sequences, automations, the landing page and the website popup, write message texts, or answer questions about the account. Write the task in plain words, exactly as the user wants it. When SmartChat AI asks for a confirmation (for example before sending or submitting), show the question to the user and call this tool again with the user's answer. If the status is 'working', call get_smartchat_ai_reply after about a minute.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
message | string | oui | The task or question for SmartChat AI, in the user's words. min length 1 · max length 4000 |
Appelle: POST /v1/ai/chat
get_smartchat_ai_reply · Get SmartChat AI reply
Returns the latest answer of SmartChat AI. Use it after ask_smartchat_ai returned the status 'working'.
Aucun champ d'entrée.
Appelle: GET /v1/ai/reply
scan_website · Scan website
Scans the business website again and updates the stored data. Argument: url (optional).
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
url | string | oui |
Appelle: POST /v1/tools/scan_website
set_constraint · Set a content rule
Stores a rule for all content, for example a topic that must never be mentioned.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
value | string | oui | |
kind | string | non |
Appelle: POST /v1/tools/set_constraint
search_knowledge · Search business knowledge
Searches the stored knowledge about the business (website, documents). Argument: query.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
query | string | oui | |
limit | number | non |
Appelle: POST /v1/tools/search_knowledge
refresh_brain · Rebuild business knowledge
Rebuilds the stored knowledge about the business from its website and documents.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
force | boolean | non |
Appelle: POST /v1/tools/refresh_brain
get_growth_plan · Get growth plan
Returns a growth plan for the business based on its data.
Aucun champ d'entrée.
Appelle: POST /v1/tools/get_growth_plan
get_next_step · Get next step
Returns the most useful next step for the account.
Aucun champ d'entrée.
Appelle: POST /v1/tools/get_next_step
web_research · Research on the web
Researches a question on the web and returns sources. Argument: query.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
query | string | oui | |
language | string | non |
Appelle: POST /v1/tools/web_research
get_ai_reply_settings · Get AI reply settings
Returns the AI reply settings: on/off, name of the AI, delays, confidence.
Aucun champ d'entrée.
Appelle: POST /v1/app/get_ai_reply_settings
update_ai_reply_settings · Change AI reply settings
Switches the AI reply on or off and changes its name and settings.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
body | object | non | Fields as in the app, e.g. { enabled, name }. |
Appelle: POST /v1/app/update_ai_reply_settings
analyze_reply_style · Analyze reply style
Analyzes the answer style of the business from past messages.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
body | object | non | Fields to send, same as in the app. |
Appelle: POST /v1/app/analyze_reply_style
approve_reply_style · Approve reply style
Approves the analyzed answer style so the AI uses it.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
body | object | non | Fields to send, same as in the app. |
Appelle: POST /v1/app/approve_reply_style
discard_reply_style · Discard reply style
Discards the analyzed answer style.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
body | object | non | Fields to send, same as in the app. |
Appelle: POST /v1/app/discard_reply_style
get_auto_reply_faq · Get auto-reply FAQ
Returns the FAQ and settings of the automatic reply.
Aucun champ d'entrée.
Appelle: POST /v1/app/get_auto_reply_faq
update_auto_reply_faq · Change auto-reply FAQ
Changes the FAQ and settings of the automatic reply.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
body | object | non | Fields to send, same as in the app. |
Appelle: POST /v1/app/update_auto_reply_faq
Account and settings
get_stats · Get account statistics
Returns account figures: contacts, messages sent, open conversations and remaining credits.
Aucun champ d'entrée.
Appelle: GET /v1/stats
get_business_profile · Get business profile
Returns the stored business profile: name, industry, description and website.
Aucun champ d'entrée.
Appelle: GET /v1/settings/profile
get_overview · Get account overview
Returns an overview of the account: landing page, templates, follow-ups, newsletters, automations and contacts with their IDs and states.
Aucun champ d'entrée.
Appelle: POST /v1/tools/get_overview
update_brand · Change brand
Changes brand data: name, colors, logo, tone.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
color | string | non | |
tonality | string | non |
Appelle: POST /v1/tools/update_brand
set_legal_urls · Set legal pages
Sets the addresses of imprint and privacy policy.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
imprint_url | string | non | |
privacy_url | string | non |
Appelle: POST /v1/tools/set_legal_urls
set_whatsapp_profile_photo · Set WhatsApp profile photo
Sets the profile photo of the connected WhatsApp number from an image in the media library.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
body | object | non | { media_id } |
Appelle: POST /v1/app/set_whatsapp_profile_photo
list_widgets · List website widgets
Lists the website widgets (popup and chat button).
Aucun champ d'entrée.
Appelle: POST /v1/app/list_widgets
get_widget_snippet · Get widget embed code
Returns the code to paste into the website.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
widget_id | string | oui | ID (widget id). min length 1 · max length 200 |
Appelle: POST /v1/app/get_widget_snippet
update_widget · Change a widget
Changes a website widget, for example the WhatsApp number or allowed domains.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
widget_id | string | oui | ID (widget id). min length 1 · max length 200 |
body | object | non | Fields to send, same as in the app. |
Appelle: POST /v1/app/update_widget
rotate_widget_token · Renew widget token
Renews the token of a widget. The old embed code stops working.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
widget_id | string | oui | ID (widget id). min length 1 · max length 200 |
body | object | non | Fields to send, same as in the app. |
Appelle: POST /v1/app/rotate_widget_token
get_whatsapp_link · Get WhatsApp link
Returns the wa.me link of the business.
Aucun champ d'entrée.
Appelle: POST /v1/app/get_whatsapp_link
get_whatsapp_qr · Get WhatsApp QR code
Returns the QR code for the WhatsApp number.
Aucun champ d'entrée.
Appelle: POST /v1/app/get_whatsapp_qr
get_notifications · Get notification settings
Returns which emails the account gets (new messages, problems, reports).
Aucun champ d'entrée.
Appelle: POST /v1/app/get_notifications
update_notifications · Change notification settings
Switches notification emails on or off.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
body | object | non | Fields to send, same as in the app. |
Appelle: POST /v1/app/update_notifications
invite_team_member · Invite a team member
Invites a person to the team by email.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
body | object | non | { email, role } - same fields as the app. |
Appelle: POST /v1/app/invite_team_member
change_team_role · Change a team role
Changes the role of a team member.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
member_id | string | oui | ID (member id). min length 1 · max length 200 |
body | object | non | { role } |
Appelle: POST /v1/app/change_team_role
remove_team_member · Remove a team member
Removes a person from the team.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
member_id | string | oui | ID (member id). min length 1 · max length 200 |
Appelle: POST /v1/app/remove_team_member
get_billing · Get plan and subscription
Returns the current plan and subscription state.
Aucun champ d'entrée.
Appelle: POST /v1/app/get_billing
list_invoices · List invoices
Lists the invoices of the account.
Aucun champ d'entrée.
Appelle: POST /v1/app/list_invoices
get_credits · Get credits
Returns the credit balance.
Aucun champ d'entrée.
Appelle: POST /v1/app/get_credits
get_credit_history · Get credit history
Returns the history of credits used and added.
Aucun champ d'entrée.
Appelle: POST /v1/app/get_credit_history
list_rewards · List rewards
Lists the bonus tasks and their state.
Aucun champ d'entrée.
Appelle: POST /v1/app/list_rewards
claim_reward · Claim a reward
Claims a finished bonus task.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
reward_id | string | oui | ID (reward id). min length 1 · max length 200 |
body | object | non | Fields to send, same as in the app. |
Appelle: POST /v1/app/claim_reward
get_referral · Get referral program
Returns the referral link and its results.
Aucun champ d'entrée.
Appelle: POST /v1/app/get_referral
list_domains · List domains
Lists the domains and subdomain of the landing page.
Aucun champ d'entrée.
Appelle: POST /v1/app/list_domains
check_subdomain · Check a subdomain
Checks if a subdomain (name.smartchat.marketing) is free.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
name | string | non | Optional filter 'name'. |
Appelle: POST /v1/app/check_subdomain
suggest_subdomain · Suggest subdomains
Suggests free subdomains for the business.
Aucun champ d'entrée.
Appelle: POST /v1/app/suggest_subdomain
set_subdomain · Set the subdomain
Sets the subdomain of the landing page. The old address stops working.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
body | object | non | { name } |
Appelle: POST /v1/app/set_subdomain
connect_own_domain · Connect an own domain
Connects a domain the business already owns. Returns the DNS entries to set.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
body | object | non | { connect: "example.com" } - same fields as the app. Buying a domain is not possible here. |
Appelle: POST /v1/app/connect_own_domain
verify_domain · Verify a domain
Checks the DNS entries of a connected domain.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
body | object | non | Fields to send, same as in the app. |
Appelle: POST /v1/app/verify_domain
set_domain_auto_renew · Switch domain auto-renew
Switches the automatic renewal of a domain on or off.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
domain_id | string | oui | ID (domain id). min length 1 · max length 200 |
body | object | non | { auto_renew: true|false } |
Appelle: POST /v1/app/set_domain_auto_renew
delete_domain · Remove a domain
Removes a connected domain from the account.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
domain_id | string | oui | ID (domain id). min length 1 · max length 200 |
Appelle: POST /v1/app/delete_domain
list_connected_ai_apps · List connected AI apps
Lists the AI apps (like Claude) connected to the account.
Aucun champ d'entrée.
Appelle: POST /v1/app/list_connected_ai_apps
list_tutorials · List tutorials
Lists the tutorial videos.
Aucun champ d'entrée.
Appelle: POST /v1/app/list_tutorials
send_feedback · Send feedback
Sends feedback, a bug report or a suggestion to the SmartChat team.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
body | object | non | Same fields as the app, e.g. { type, message }. |
Appelle: POST /v1/app/send_feedback
get_onboarding_status · Get setup status
Returns the setup state of the account (what is done, what is missing).
Aucun champ d'entrée.
Appelle: POST /v1/app/get_onboarding_status
set_areas · Choose areas
Chooses which areas the account uses (marketing, automations, AI reply).
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
body | object | non | { areas: [...] } - same fields as the app. |
Appelle: POST /v1/app/set_areas
Des questions ?
Écris-nous à support@smartchat.marketing