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

delete_mediaget_upload_costget_profile_mediaupdate_profile_mediaset_whatsapp_profile_photolist_ai_conversationsget_ai_conversation_messagesget_last_importpreview_unconfirmed_contactsresend_to_unconfirmed_contactsget_optin_queuesend_optin_queueget_consent_checkstart_consent_checkunsubscribe_contactremove_contact_tagdelete_contactexport_all_datamark_conversation_readreply_in_conversationsave_reply_as_learnedget_conversation_ai_modeset_conversation_ai_modeget_ai_reply_settingsupdate_ai_reply_settingsanalyze_reply_styleapprove_reply_stylediscard_reply_stylelist_learned_answersupdate_learned_answerdelete_learned_answerget_auto_reply_faqupdate_auto_reply_faqlist_knowledge_documentsdelete_knowledge_documentcount_newsletter_recipientspreview_newsletterget_newsletter_progressresume_newsletterpause_newsletterdelete_newsletterget_test_numberset_test_numberget_landing_pagepreview_landing_pageunpublish_landing_pageget_website_popupget_popup_statsget_automation_connectionget_automation_endpointget_automation_timelinecheck_automation_calendarget_calendar_guideslist_widgetsget_widget_snippetupdate_widgetrotate_widget_tokenget_whatsapp_linkget_whatsapp_qrget_notificationsupdate_notificationsinvite_team_memberchange_team_roleremove_team_memberget_billinglist_invoicesget_creditsget_credit_historylist_rewardsclaim_rewardget_referrallist_domainscheck_subdomainsuggest_subdomainset_subdomainconnect_own_domainverify_domainset_domain_auto_renewdelete_domainlist_connected_ai_appslist_tutorialssend_feedbackget_onboarding_statusset_areas

POST/v1/app/delete_media · Delete a media file

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

Deletes an image, video or file from the media library. media_id from list_media.

FeldTypPflichtBeschreibung
params.media_idstringjaID

POST/v1/app/get_upload_cost · Get upload cost

Liest nurRecht: media:read

Returns what an upload costs in credits and time (for example for video processing).

FeldTypPflichtBeschreibung
query.kindstringnein
query.sizestringnein

POST/v1/app/get_profile_media · Get profile media

Liest nurRecht: media:read

Returns the profile media: logo and avatar of the business.

Keine Eingabefelder.

POST/v1/app/update_profile_media · Change profile media

Ändert DatenRecht: media:write

Sets logo or avatar of the business to an image from the media library.

FeldTypPflichtBeschreibung
bodyobjectneinFields as in the app, e.g. { logo_media_id } or { avatar_media_id }.

POST/v1/app/set_whatsapp_profile_photo · Set WhatsApp profile photo

Ändert DatenRecht: settings:write

Sets the profile photo of the connected WhatsApp number from an image in the media library.

FeldTypPflichtBeschreibung
bodyobjectnein{ media_id }

POST/v1/app/list_ai_conversations · List SmartChat AI conversations

Liest nurRecht: ai:chat

Lists the conversations with SmartChat AI (the chat inside the app).

Keine Eingabefelder.

POST/v1/app/get_ai_conversation_messages · Read a SmartChat AI conversation

Liest nurRecht: ai:chat

Returns all messages of one SmartChat AI conversation.

FeldTypPflichtBeschreibung
params.conversation_idstringjaID

POST/v1/app/get_last_import · Get last contact import

Liest nurRecht: contacts:read

Returns the status and result of the last contact import.

Keine Eingabefelder.

POST/v1/app/preview_unconfirmed_contacts · Preview unconfirmed contacts

Liest nurRecht: contacts:read

Shows 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

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

Sends the confirmation message again to all contacts who have not confirmed yet. Sends real WhatsApp messages.

FeldTypPflichtBeschreibung
bodyobjectneinSame fields as the app sends (usually none).

POST/v1/app/get_optin_queue · Get opt-in queue

Liest nurRecht: contacts:read

Returns confirmation messages that are waiting to be sent.

Keine Eingabefelder.

POST/v1/app/send_optin_queue · Send opt-in queue

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

Sends the waiting confirmation messages now. Sends real WhatsApp messages.

FeldTypPflichtBeschreibung
bodyobjectnein

POST/v1/app/unsubscribe_contact · Unsubscribe a contact

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

Unsubscribes a contact: they get no more marketing messages. contact_id from search_contacts.

FeldTypPflichtBeschreibung
params.contact_idstringjaID
bodyobjectnein

POST/v1/app/remove_contact_tag · Remove a tag from a contact

Ändert DatenRecht: contacts:write

Removes one tag from a contact.

FeldTypPflichtBeschreibung
params.contact_idstringjaID
params.tagstringjaID

POST/v1/app/delete_contact · Delete a contact

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

Deletes a contact completely. Cannot be undone.

FeldTypPflichtBeschreibung
params.contact_idstringjaID

POST/v1/app/export_all_data · Export all account data

Liest nurRecht: account:read

Returns the complete data export of the account (as in Settings).

Keine Eingabefelder.

POST/v1/app/mark_conversation_read · Mark conversation as read

Ändert DatenRecht: inbox:write

Marks an inbox conversation as read.

FeldTypPflichtBeschreibung
params.conversation_idstringjaID
bodyobjectnein

POST/v1/app/reply_in_conversation · Reply in an inbox conversation

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

Sends a reply inside an inbox conversation (text, or an image/video from the media library). Sends a real WhatsApp message.

FeldTypPflichtBeschreibung
params.conversation_idstringjaID
bodyobjectnein{ text } and optional { media_id } - same fields as the app.

POST/v1/app/save_reply_as_learned · Save reply as learned answer

Ändert DatenRecht: ai:settings

Saves an answer from a conversation so the AI reply uses it next time.

FeldTypPflichtBeschreibung
params.conversation_idstringjaID
bodyobjectnein

POST/v1/app/get_conversation_ai_mode · Get AI mode of a conversation

Liest nurRecht: inbox:read

Returns whether the AI answers in this conversation or a human took over.

FeldTypPflichtBeschreibung
params.conversation_idstringjaID

POST/v1/app/set_conversation_ai_mode · Set AI mode of a conversation

Ändert DatenRecht: ai:settings

Switches the AI reply on or off for one conversation (take over / hand back).

FeldTypPflichtBeschreibung
params.conversation_idstringjaID
bodyobjectnein{ enabled: true|false } - same fields as the app.

POST/v1/app/get_ai_reply_settings · Get AI reply settings

Liest nurRecht: settings:read

Returns 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

Ändert DatenRecht: ai:settings

Switches the AI reply on or off and changes its name and settings.

FeldTypPflichtBeschreibung
bodyobjectneinFields as in the app, e.g. { enabled, name }.

POST/v1/app/analyze_reply_style · Analyze reply style

Ändert DatenRecht: ai:settings

Analyzes the answer style of the business from past messages.

FeldTypPflichtBeschreibung
bodyobjectnein

POST/v1/app/approve_reply_style · Approve reply style

Ändert DatenRecht: ai:settings

Approves the analyzed answer style so the AI uses it.

FeldTypPflichtBeschreibung
bodyobjectnein

POST/v1/app/discard_reply_style · Discard reply style

Ändert DatenRecht: ai:settings

Discards the analyzed answer style.

FeldTypPflichtBeschreibung
bodyobjectnein

POST/v1/app/list_learned_answers · List learned answers

Liest nurRecht: settings:read

Lists the answers the AI reply has learned.

Keine Eingabefelder.

POST/v1/app/update_learned_answer · Change a learned answer

Ändert DatenRecht: ai:settings

Changes one learned answer.

FeldTypPflichtBeschreibung
params.answer_idstringjaID
bodyobjectnein

POST/v1/app/delete_learned_answer · Delete a learned answer

Sendet, reicht ein oder löschtRecht: ai:settings

Deletes one learned answer.

FeldTypPflichtBeschreibung
params.answer_idstringjaID

POST/v1/app/get_auto_reply_faq · Get auto-reply FAQ

Liest nurRecht: settings:read

Returns the FAQ and settings of the automatic reply.

Keine Eingabefelder.

POST/v1/app/update_auto_reply_faq · Change auto-reply FAQ

Ändert DatenRecht: ai:settings

Changes the FAQ and settings of the automatic reply.

FeldTypPflichtBeschreibung
bodyobjectnein

POST/v1/app/list_knowledge_documents · List knowledge documents

Liest nurRecht: settings:read

Lists the documents the AI knows about the business (PDF, text).

Keine Eingabefelder.

POST/v1/app/delete_knowledge_document · Delete a knowledge document

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

Deletes a knowledge document.

FeldTypPflichtBeschreibung
params.document_idstringjaID

POST/v1/app/count_newsletter_recipients · Count newsletter recipients

Liest nurRecht: newsletters:read

Returns how many contacts a newsletter would reach.

FeldTypPflichtBeschreibung
bodyobjectnein

POST/v1/app/preview_newsletter · Preview a newsletter

Liest nurRecht: newsletters:read

Returns exactly how the newsletter arrives on the phone.

FeldTypPflichtBeschreibung
params.newsletter_idstringjaID

POST/v1/app/get_newsletter_progress · Get newsletter sending progress

Liest nurRecht: newsletters:read

Returns the sending state of a newsletter (sent, waiting, stopped).

FeldTypPflichtBeschreibung
params.newsletter_idstringjaID

POST/v1/app/resume_newsletter · Resume a newsletter

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

Continues sending a newsletter that stopped (for example after credits ran out). Sends real WhatsApp messages.

FeldTypPflichtBeschreibung
params.newsletter_idstringjaID
bodyobjectnein

POST/v1/app/pause_newsletter · Pause a newsletter

Ändert DatenRecht: newsletters:schedule

Stops a newsletter that is being sent right now.

FeldTypPflichtBeschreibung
params.newsletter_idstringjaID
bodyobjectnein

POST/v1/app/delete_newsletter · Delete a newsletter

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

Deletes a newsletter from the list.

FeldTypPflichtBeschreibung
params.newsletter_idstringjaID

POST/v1/app/get_test_number · Get test phone number

Liest nurRecht: settings:read

Returns the phone number that receives test newsletters.

Keine Eingabefelder.

POST/v1/app/set_test_number · Set test phone number

Ändert DatenRecht: settings:write

Sets the phone number that receives test newsletters.

FeldTypPflichtBeschreibung
bodyobjectnein{ phone } in international format.

POST/v1/app/get_landing_page · Get landing page

Liest nurRecht: landing:read

Returns the landing page with its settings, address and publish state.

Keine Eingabefelder.

POST/v1/app/preview_landing_page · Preview landing page HTML

Liest nurRecht: landing:read

Returns the rendered HTML of the landing page.

Keine Eingabefelder.

POST/v1/app/unpublish_landing_page · Unpublish landing page

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

Takes the landing page offline.

FeldTypPflichtBeschreibung
bodyobjectnein

POST/v1/app/get_website_popup · Get website popup

Liest nurRecht: landing:read

Returns the settings and texts of the website sign-up popup.

Keine Eingabefelder.

POST/v1/app/get_popup_stats · Get popup statistics

Liest nurRecht: stats:read

Returns how often the website popup was seen and how many signed up.

Keine Eingabefelder.

POST/v1/app/get_automation_connection · Get automation connection status

Liest nurRecht: automations:read

Returns whether an automation receives data (webhook, calendar).

FeldTypPflichtBeschreibung
params.automation_idstringjaID

POST/v1/app/get_automation_endpoint · Get automation endpoint

Liest nurRecht: automations:read

Returns the webhook address and setup of an automation.

FeldTypPflichtBeschreibung
params.automation_idstringjaID

POST/v1/app/get_automation_timeline · Get automation timeline

Liest nurRecht: automations:read

Returns the timeline of what an automation did.

FeldTypPflichtBeschreibung
params.automation_idstringjaID

POST/v1/app/check_automation_calendar · Check automation calendar

Ändert DatenRecht: automations:write

Checks the connected calendar of an automation.

FeldTypPflichtBeschreibung
params.automation_idstringjaID
bodyobjectnein

POST/v1/app/get_calendar_guides · Get calendar guides

Liest nurRecht: automations:read

Returns how to find the private calendar address in Google, Outlook and Apple.

Keine Eingabefelder.

POST/v1/app/list_widgets · List website widgets

Liest nurRecht: account:read

Lists the website widgets (popup and chat button).

Keine Eingabefelder.

POST/v1/app/get_widget_snippet · Get widget embed code

Liest nurRecht: account:read

Returns the code to paste into the website.

FeldTypPflichtBeschreibung
params.widget_idstringjaID

POST/v1/app/update_widget · Change a widget

Ändert DatenRecht: account:write

Changes a website widget, for example the WhatsApp number or allowed domains.

FeldTypPflichtBeschreibung
params.widget_idstringjaID
bodyobjectnein

POST/v1/app/rotate_widget_token · Renew widget token

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

Renews the token of a widget. The old embed code stops working.

FeldTypPflichtBeschreibung
params.widget_idstringjaID
bodyobjectnein

POST/v1/app/get_whatsapp_qr · Get WhatsApp QR code

Liest nurRecht: account:read

Returns the QR code for the WhatsApp number.

Keine Eingabefelder.

POST/v1/app/get_notifications · Get notification settings

Liest nurRecht: account:read

Returns which emails the account gets (new messages, problems, reports).

Keine Eingabefelder.

POST/v1/app/update_notifications · Change notification settings

Ändert DatenRecht: account:write

Switches notification emails on or off.

FeldTypPflichtBeschreibung
bodyobjectnein

POST/v1/app/invite_team_member · Invite a team member

Ändert DatenRecht: account:write

Invites a person to the team by email.

FeldTypPflichtBeschreibung
bodyobjectnein{ email, role } - same fields as the app.

POST/v1/app/change_team_role · Change a team role

Ändert DatenRecht: account:write

Changes the role of a team member.

FeldTypPflichtBeschreibung
params.member_idstringjaID
bodyobjectnein{ role }

POST/v1/app/remove_team_member · Remove a team member

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

Removes a person from the team.

FeldTypPflichtBeschreibung
params.member_idstringjaID

POST/v1/app/get_billing · Get plan and subscription

Liest nurRecht: account:read

Returns the current plan and subscription state.

Keine Eingabefelder.

POST/v1/app/list_invoices · List invoices

Liest nurRecht: account:read

Lists the invoices of the account.

Keine Eingabefelder.

POST/v1/app/get_credits · Get credits

Liest nurRecht: account:read

Returns the credit balance.

Keine Eingabefelder.

POST/v1/app/get_credit_history · Get credit history

Liest nurRecht: account:read

Returns the history of credits used and added.

Keine Eingabefelder.

POST/v1/app/list_rewards · List rewards

Liest nurRecht: account:read

Lists the bonus tasks and their state.

Keine Eingabefelder.

POST/v1/app/claim_reward · Claim a reward

Ändert DatenRecht: account:write

Claims a finished bonus task.

FeldTypPflichtBeschreibung
params.reward_idstringjaID
bodyobjectnein

POST/v1/app/get_referral · Get referral program

Liest nurRecht: account:read

Returns the referral link and its results.

Keine Eingabefelder.

POST/v1/app/list_domains · List domains

Liest nurRecht: account:read

Lists the domains and subdomain of the landing page.

Keine Eingabefelder.

POST/v1/app/check_subdomain · Check a subdomain

Liest nurRecht: account:read

Checks if a subdomain (name.smartchat.marketing) is free.

FeldTypPflichtBeschreibung
query.namestringnein

POST/v1/app/suggest_subdomain · Suggest subdomains

Liest nurRecht: account:read

Suggests free subdomains for the business.

Keine Eingabefelder.

POST/v1/app/set_subdomain · Set the subdomain

Ändert DatenRecht: account:write

Sets the subdomain of the landing page. The old address stops working.

FeldTypPflichtBeschreibung
bodyobjectnein{ name }

POST/v1/app/connect_own_domain · Connect an own domain

Ändert DatenRecht: account:write

Connects a domain the business already owns. Returns the DNS entries to set.

FeldTypPflichtBeschreibung
bodyobjectnein{ connect: "example.com" } - same fields as the app. Buying a domain is not possible here.

POST/v1/app/verify_domain · Verify a domain

Ändert DatenRecht: account:write

Checks the DNS entries of a connected domain.

FeldTypPflichtBeschreibung
bodyobjectnein

POST/v1/app/set_domain_auto_renew · Switch domain auto-renew

Ändert DatenRecht: account:write

Switches the automatic renewal of a domain on or off.

FeldTypPflichtBeschreibung
params.domain_idstringjaID
bodyobjectnein{ auto_renew: true|false }

POST/v1/app/delete_domain · Remove a domain

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

Removes a connected domain from the account.

FeldTypPflichtBeschreibung
params.domain_idstringjaID

POST/v1/app/list_connected_ai_apps · List connected AI apps

Liest nurRecht: account:read

Lists the AI apps (like Claude) connected to the account.

Keine Eingabefelder.

POST/v1/app/list_tutorials · List tutorials

Liest nurRecht: account:read

Lists the tutorial videos.

Keine Eingabefelder.

POST/v1/app/send_feedback · Send feedback

Ändert DatenRecht: account:write

Sends feedback, a bug report or a suggestion to the SmartChat team.

FeldTypPflichtBeschreibung
bodyobjectneinSame fields as the app, e.g. { type, message }.

POST/v1/app/get_onboarding_status · Get setup status

Liest nurRecht: account:read

Returns the setup state of the account (what is done, what is missing).

Keine Eingabefelder.

POST/v1/app/set_areas · Choose areas

Ändert DatenRecht: account:write

Chooses which areas the account uses (marketing, automations, AI reply).

FeldTypPflichtBeschreibung
bodyobjectnein{ areas: [...] } - same fields as the app.

Fragen?

Schreib uns an support@smartchat.marketing