Endpunkt App-Funktionen
POST /v1/app/{name} führt eine App-Funktion aus. Kennungen gehören in params, Filter in query und Daten in body. GET /v1/app listet alle Funktionen 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/app/reply_in_conversation \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{"params": {"conversation_id": "..."}, "body": {"text": "Thanks, see you tomorrow."}}'
84 functions
POST/v1/app/delete_media · Delete a media file
media:deleteDeletes an image, video or file from the media library. media_id from list_media.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.media_id | string | ja | ID |
POST/v1/app/get_upload_cost · Get upload cost
media:readReturns what an upload costs in credits and time (for example for video processing).
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
query.kind | string | nein | |
query.size | string | nein |
POST/v1/app/get_profile_media · Get profile media
media:readReturns the profile media: logo and avatar of the business.
Keine Eingabefelder.
POST/v1/app/update_profile_media · Change profile media
media:writeSets logo or avatar of the business to an image from the media library.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | Fields as in the app, e.g. { logo_media_id } or { avatar_media_id }. |
POST/v1/app/set_whatsapp_profile_photo · Set WhatsApp profile photo
settings:writeSets the profile photo of the connected WhatsApp number from an image in the media library.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | { media_id } |
POST/v1/app/list_ai_conversations · List SmartChat AI conversations
ai:chatLists the conversations with SmartChat AI (the chat inside the app).
Keine Eingabefelder.
POST/v1/app/get_ai_conversation_messages · Read a SmartChat AI conversation
ai:chatReturns all messages of one SmartChat AI conversation.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.conversation_id | string | ja | ID |
POST/v1/app/get_last_import · Get last contact import
contacts:readReturns the status and result of the last contact import.
Keine Eingabefelder.
POST/v1/app/preview_unconfirmed_contacts · Preview unconfirmed contacts
contacts:readShows how many contacts have not confirmed their WhatsApp sign-up yet and would get the confirmation again.
Keine Eingabefelder.
POST/v1/app/resend_to_unconfirmed_contacts · Resend confirmation to all unconfirmed
messages:writeSends the confirmation message again to all contacts who have not confirmed yet. Sends real WhatsApp messages.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | Same fields as the app sends (usually none). |
POST/v1/app/get_optin_queue · Get opt-in queue
contacts:readReturns confirmation messages that are waiting to be sent.
Keine Eingabefelder.
POST/v1/app/send_optin_queue · Send opt-in queue
messages:writeSends the waiting confirmation messages now. Sends real WhatsApp messages.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein |
POST/v1/app/get_consent_check · Get consent proof check
contacts:readReturns the result of the consent proof check for imported contacts.
Keine Eingabefelder.
POST/v1/app/start_consent_check · Start consent proof check
contacts:writeStarts or answers the consent proof check for imported contacts.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | Same fields as the app (answer of the check). |
POST/v1/app/unsubscribe_contact · Unsubscribe a contact
contacts:writeUnsubscribes a contact: they get no more marketing messages. contact_id from search_contacts.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.contact_id | string | ja | ID |
body | object | nein |
POST/v1/app/remove_contact_tag · Remove a tag from a contact
contacts:writeRemoves one tag from a contact.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.contact_id | string | ja | ID |
params.tag | string | ja | ID |
POST/v1/app/delete_contact · Delete a contact
contacts:deleteDeletes a contact completely. Cannot be undone.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.contact_id | string | ja | ID |
POST/v1/app/export_all_data · Export all account data
account:readReturns the complete data export of the account (as in Settings).
Keine Eingabefelder.
POST/v1/app/mark_conversation_read · Mark conversation as read
inbox:writeMarks an inbox conversation as read.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.conversation_id | string | ja | ID |
body | object | nein |
POST/v1/app/reply_in_conversation · Reply in an inbox conversation
inbox:writeSends a reply inside an inbox conversation (text, or an image/video from the media library). Sends a real WhatsApp message.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.conversation_id | string | ja | ID |
body | object | nein | { text } and optional { media_id } - same fields as the app. |
POST/v1/app/save_reply_as_learned · Save reply as learned answer
ai:settingsSaves an answer from a conversation so the AI reply uses it next time.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.conversation_id | string | ja | ID |
body | object | nein |
POST/v1/app/get_conversation_ai_mode · Get AI mode of a conversation
inbox:readReturns whether the AI answers in this conversation or a human took over.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.conversation_id | string | ja | ID |
POST/v1/app/set_conversation_ai_mode · Set AI mode of a conversation
ai:settingsSwitches the AI reply on or off for one conversation (take over / hand back).
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.conversation_id | string | ja | ID |
body | object | nein | { enabled: true|false } - same fields as the app. |
POST/v1/app/get_ai_reply_settings · Get AI reply settings
settings:readReturns the AI reply settings: on/off, name of the AI, delays, confidence.
Keine Eingabefelder.
POST/v1/app/update_ai_reply_settings · Change AI reply settings
ai:settingsSwitches the AI reply on or off and changes its name and settings.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | Fields as in the app, e.g. { enabled, name }. |
POST/v1/app/analyze_reply_style · Analyze reply style
ai:settingsAnalyzes the answer style of the business from past messages.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein |
POST/v1/app/approve_reply_style · Approve reply style
ai:settingsApproves the analyzed answer style so the AI uses it.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein |
POST/v1/app/discard_reply_style · Discard reply style
ai:settingsDiscards the analyzed answer style.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein |
POST/v1/app/list_learned_answers · List learned answers
settings:readLists the answers the AI reply has learned.
Keine Eingabefelder.
POST/v1/app/update_learned_answer · Change a learned answer
ai:settingsChanges one learned answer.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.answer_id | string | ja | ID |
body | object | nein |
POST/v1/app/delete_learned_answer · Delete a learned answer
ai:settingsDeletes one learned answer.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.answer_id | string | ja | ID |
POST/v1/app/get_auto_reply_faq · Get auto-reply FAQ
settings:readReturns the FAQ and settings of the automatic reply.
Keine Eingabefelder.
POST/v1/app/update_auto_reply_faq · Change auto-reply FAQ
ai:settingsChanges the FAQ and settings of the automatic reply.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein |
POST/v1/app/list_knowledge_documents · List knowledge documents
settings:readLists the documents the AI knows about the business (PDF, text).
Keine Eingabefelder.
POST/v1/app/delete_knowledge_document · Delete a knowledge document
knowledge:writeDeletes a knowledge document.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.document_id | string | ja | ID |
POST/v1/app/count_newsletter_recipients · Count newsletter recipients
newsletters:readReturns how many contacts a newsletter would reach.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein |
POST/v1/app/preview_newsletter · Preview a newsletter
newsletters:readReturns exactly how the newsletter arrives on the phone.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.newsletter_id | string | ja | ID |
POST/v1/app/get_newsletter_progress · Get newsletter sending progress
newsletters:readReturns the sending state of a newsletter (sent, waiting, stopped).
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.newsletter_id | string | ja | ID |
POST/v1/app/resume_newsletter · Resume a newsletter
newsletters:scheduleContinues sending a newsletter that stopped (for example after credits ran out). Sends real WhatsApp messages.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.newsletter_id | string | ja | ID |
body | object | nein |
POST/v1/app/pause_newsletter · Pause a newsletter
newsletters:scheduleStops a newsletter that is being sent right now.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.newsletter_id | string | ja | ID |
body | object | nein |
POST/v1/app/delete_newsletter · Delete a newsletter
newsletters:deleteDeletes a newsletter from the list.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.newsletter_id | string | ja | ID |
POST/v1/app/get_test_number · Get test phone number
settings:readReturns the phone number that receives test newsletters.
Keine Eingabefelder.
POST/v1/app/set_test_number · Set test phone number
settings:writeSets the phone number that receives test newsletters.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | { phone } in international format. |
POST/v1/app/get_landing_page · Get landing page
landing:readReturns the landing page with its settings, address and publish state.
Keine Eingabefelder.
POST/v1/app/preview_landing_page · Preview landing page HTML
landing:readReturns the rendered HTML of the landing page.
Keine Eingabefelder.
POST/v1/app/unpublish_landing_page · Unpublish landing page
landing:writeTakes the landing page offline.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein |
POST/v1/app/get_website_popup · Get website popup
landing:readReturns the settings and texts of the website sign-up popup.
Keine Eingabefelder.
POST/v1/app/get_popup_stats · Get popup statistics
stats:readReturns how often the website popup was seen and how many signed up.
Keine Eingabefelder.
POST/v1/app/get_automation_connection · Get automation connection status
automations:readReturns whether an automation receives data (webhook, calendar).
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.automation_id | string | ja | ID |
POST/v1/app/get_automation_endpoint · Get automation endpoint
automations:readReturns the webhook address and setup of an automation.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.automation_id | string | ja | ID |
POST/v1/app/get_automation_timeline · Get automation timeline
automations:readReturns the timeline of what an automation did.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.automation_id | string | ja | ID |
POST/v1/app/check_automation_calendar · Check automation calendar
automations:writeChecks the connected calendar of an automation.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.automation_id | string | ja | ID |
body | object | nein |
POST/v1/app/get_calendar_guides · Get calendar guides
automations:readReturns how to find the private calendar address in Google, Outlook and Apple.
Keine Eingabefelder.
POST/v1/app/list_widgets · List website widgets
account:readLists the website widgets (popup and chat button).
Keine Eingabefelder.
POST/v1/app/get_widget_snippet · Get widget embed code
account:readReturns the code to paste into the website.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.widget_id | string | ja | ID |
POST/v1/app/update_widget · Change a widget
account:writeChanges a website widget, for example the WhatsApp number or allowed domains.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.widget_id | string | ja | ID |
body | object | nein |
POST/v1/app/rotate_widget_token · Renew widget token
account:writeRenews the token of a widget. The old embed code stops working.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.widget_id | string | ja | ID |
body | object | nein |
POST/v1/app/get_whatsapp_link · Get WhatsApp link
account:readReturns the wa.me link of the business.
Keine Eingabefelder.
POST/v1/app/get_whatsapp_qr · Get WhatsApp QR code
account:readReturns the QR code for the WhatsApp number.
Keine Eingabefelder.
POST/v1/app/get_notifications · Get notification settings
account:readReturns which emails the account gets (new messages, problems, reports).
Keine Eingabefelder.
POST/v1/app/update_notifications · Change notification settings
account:writeSwitches notification emails on or off.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein |
POST/v1/app/invite_team_member · Invite a team member
account:writeInvites a person to the team by email.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | { email, role } - same fields as the app. |
POST/v1/app/change_team_role · Change a team role
account:writeChanges the role of a team member.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.member_id | string | ja | ID |
body | object | nein | { role } |
POST/v1/app/remove_team_member · Remove a team member
account:writeRemoves a person from the team.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.member_id | string | ja | ID |
POST/v1/app/get_billing · Get plan and subscription
account:readReturns the current plan and subscription state.
Keine Eingabefelder.
POST/v1/app/list_invoices · List invoices
account:readLists the invoices of the account.
Keine Eingabefelder.
POST/v1/app/get_credits · Get credits
account:readReturns the credit balance.
Keine Eingabefelder.
POST/v1/app/get_credit_history · Get credit history
account:readReturns the history of credits used and added.
Keine Eingabefelder.
POST/v1/app/list_rewards · List rewards
account:readLists the bonus tasks and their state.
Keine Eingabefelder.
POST/v1/app/claim_reward · Claim a reward
account:writeClaims a finished bonus task.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.reward_id | string | ja | ID |
body | object | nein |
POST/v1/app/get_referral · Get referral program
account:readReturns the referral link and its results.
Keine Eingabefelder.
POST/v1/app/list_domains · List domains
account:readLists the domains and subdomain of the landing page.
Keine Eingabefelder.
POST/v1/app/check_subdomain · Check a subdomain
account:readChecks if a subdomain (name.smartchat.marketing) is free.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
query.name | string | nein |
POST/v1/app/suggest_subdomain · Suggest subdomains
account:readSuggests free subdomains for the business.
Keine Eingabefelder.
POST/v1/app/set_subdomain · Set the subdomain
account:writeSets the subdomain of the landing page. The old address stops working.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | { name } |
POST/v1/app/connect_own_domain · Connect an own domain
account:writeConnects a domain the business already owns. Returns the DNS entries to set.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | { connect: "example.com" } - same fields as the app. Buying a domain is not possible here. |
POST/v1/app/verify_domain · Verify a domain
account:writeChecks the DNS entries of a connected domain.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein |
POST/v1/app/set_domain_auto_renew · Switch domain auto-renew
account:writeSwitches the automatic renewal of a domain on or off.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.domain_id | string | ja | ID |
body | object | nein | { auto_renew: true|false } |
POST/v1/app/delete_domain · Remove a domain
account:writeRemoves a connected domain from the account.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
params.domain_id | string | ja | ID |
POST/v1/app/list_connected_ai_apps · List connected AI apps
account:readLists the AI apps (like Claude) connected to the account.
Keine Eingabefelder.
POST/v1/app/list_tutorials · List tutorials
account:readLists the tutorial videos.
Keine Eingabefelder.
POST/v1/app/send_feedback · Send feedback
account:writeSends feedback, a bug report or a suggestion to the SmartChat team.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | Same fields as the app, e.g. { type, message }. |
POST/v1/app/get_onboarding_status · Get setup status
account:readReturns the setup state of the account (what is done, what is missing).
Keine Eingabefelder.
POST/v1/app/set_areas · Choose areas
account:writeChooses which areas the account uses (marketing, automations, AI reply).
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | { areas: [...] } - same fields as the app. |
Fragen?
Schreib uns an support@smartchat.marketing