Endpoint fonctions de l'app

POST /v1/app/{name} exécute une fonction de l'app. Les ID vont dans params, les filtres dans query et les données dans body. GET /v1/app liste toutes les fonctions et si ta clé peut les utiliser.

La référence technique ci-dessous est en anglais, exactement comme les noms et champs apparaissent dans l'API et dans Claude.

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

Envoie, soumet ou supprimeDroit: media:delete

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

ChampTypeObligatoireDescription
params.media_idstringouiID

POST/v1/app/get_upload_cost · Get upload cost

Lecture seuleDroit: media:read

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

ChampTypeObligatoireDescription
query.kindstringnon
query.sizestringnon

POST/v1/app/get_profile_media · Get profile media

Lecture seuleDroit: media:read

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

Aucun champ d'entrée.

POST/v1/app/update_profile_media · Change profile media

Modifie des donnéesDroit: media:write

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

ChampTypeObligatoireDescription
bodyobjectnonFields as in the app, e.g. { logo_media_id } or { avatar_media_id }.

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

Modifie des donnéesDroit: settings:write

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

ChampTypeObligatoireDescription
bodyobjectnon{ media_id }

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

Lecture seuleDroit: ai:chat

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

Aucun champ d'entrée.

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

Lecture seuleDroit: ai:chat

Returns all messages of one SmartChat AI conversation.

ChampTypeObligatoireDescription
params.conversation_idstringouiID

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

Lecture seuleDroit: contacts:read

Returns the status and result of the last contact import.

Aucun champ d'entrée.

POST/v1/app/preview_unconfirmed_contacts · Preview unconfirmed contacts

Lecture seuleDroit: contacts:read

Shows how many contacts have not confirmed their WhatsApp sign-up yet and would get the confirmation again.

Aucun champ d'entrée.

POST/v1/app/resend_to_unconfirmed_contacts · Resend confirmation to all unconfirmed

Envoie, soumet ou supprimeDroit: messages:write

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

ChampTypeObligatoireDescription
bodyobjectnonSame fields as the app sends (usually none).

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

Lecture seuleDroit: contacts:read

Returns confirmation messages that are waiting to be sent.

Aucun champ d'entrée.

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

Envoie, soumet ou supprimeDroit: messages:write

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

ChampTypeObligatoireDescription
bodyobjectnon

POST/v1/app/unsubscribe_contact · Unsubscribe a contact

Envoie, soumet ou supprimeDroit: contacts:write

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

ChampTypeObligatoireDescription
params.contact_idstringouiID
bodyobjectnon

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

Modifie des donnéesDroit: contacts:write

Removes one tag from a contact.

ChampTypeObligatoireDescription
params.contact_idstringouiID
params.tagstringouiID

POST/v1/app/delete_contact · Delete a contact

Envoie, soumet ou supprimeDroit: contacts:delete

Deletes a contact completely. Cannot be undone.

ChampTypeObligatoireDescription
params.contact_idstringouiID

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

Lecture seuleDroit: account:read

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

Aucun champ d'entrée.

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

Modifie des donnéesDroit: inbox:write

Marks an inbox conversation as read.

ChampTypeObligatoireDescription
params.conversation_idstringouiID
bodyobjectnon

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

Envoie, soumet ou supprimeDroit: inbox:write

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

ChampTypeObligatoireDescription
params.conversation_idstringouiID
bodyobjectnon{ text } and optional { media_id } - same fields as the app.

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

Modifie des donnéesDroit: ai:settings

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

ChampTypeObligatoireDescription
params.conversation_idstringouiID
bodyobjectnon

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

Lecture seuleDroit: inbox:read

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

ChampTypeObligatoireDescription
params.conversation_idstringouiID

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

Modifie des donnéesDroit: ai:settings

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

ChampTypeObligatoireDescription
params.conversation_idstringouiID
bodyobjectnon{ enabled: true|false } - same fields as the app.

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

Lecture seuleDroit: settings:read

Returns the AI reply settings: on/off, name of the AI, delays, confidence.

Aucun champ d'entrée.

POST/v1/app/update_ai_reply_settings · Change AI reply settings

Modifie des donnéesDroit: ai:settings

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

ChampTypeObligatoireDescription
bodyobjectnonFields as in the app, e.g. { enabled, name }.

POST/v1/app/analyze_reply_style · Analyze reply style

Modifie des donnéesDroit: ai:settings

Analyzes the answer style of the business from past messages.

ChampTypeObligatoireDescription
bodyobjectnon

POST/v1/app/approve_reply_style · Approve reply style

Modifie des donnéesDroit: ai:settings

Approves the analyzed answer style so the AI uses it.

ChampTypeObligatoireDescription
bodyobjectnon

POST/v1/app/discard_reply_style · Discard reply style

Modifie des donnéesDroit: ai:settings

Discards the analyzed answer style.

ChampTypeObligatoireDescription
bodyobjectnon

POST/v1/app/list_learned_answers · List learned answers

Lecture seuleDroit: settings:read

Lists the answers the AI reply has learned.

Aucun champ d'entrée.

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

Modifie des donnéesDroit: ai:settings

Changes one learned answer.

ChampTypeObligatoireDescription
params.answer_idstringouiID
bodyobjectnon

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

Envoie, soumet ou supprimeDroit: ai:settings

Deletes one learned answer.

ChampTypeObligatoireDescription
params.answer_idstringouiID

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

Lecture seuleDroit: settings:read

Returns the FAQ and settings of the automatic reply.

Aucun champ d'entrée.

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

Modifie des donnéesDroit: ai:settings

Changes the FAQ and settings of the automatic reply.

ChampTypeObligatoireDescription
bodyobjectnon

POST/v1/app/list_knowledge_documents · List knowledge documents

Lecture seuleDroit: settings:read

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

Aucun champ d'entrée.

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

Envoie, soumet ou supprimeDroit: knowledge:write

Deletes a knowledge document.

ChampTypeObligatoireDescription
params.document_idstringouiID

POST/v1/app/count_newsletter_recipients · Count newsletter recipients

Lecture seuleDroit: newsletters:read

Returns how many contacts a newsletter would reach.

ChampTypeObligatoireDescription
bodyobjectnon

POST/v1/app/preview_newsletter · Preview a newsletter

Lecture seuleDroit: newsletters:read

Returns exactly how the newsletter arrives on the phone.

ChampTypeObligatoireDescription
params.newsletter_idstringouiID

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

Lecture seuleDroit: newsletters:read

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

ChampTypeObligatoireDescription
params.newsletter_idstringouiID

POST/v1/app/resume_newsletter · Resume a newsletter

Envoie, soumet ou supprimeDroit: newsletters:schedule

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

ChampTypeObligatoireDescription
params.newsletter_idstringouiID
bodyobjectnon

POST/v1/app/pause_newsletter · Pause a newsletter

Modifie des donnéesDroit: newsletters:schedule

Stops a newsletter that is being sent right now.

ChampTypeObligatoireDescription
params.newsletter_idstringouiID
bodyobjectnon

POST/v1/app/delete_newsletter · Delete a newsletter

Envoie, soumet ou supprimeDroit: newsletters:delete

Deletes a newsletter from the list.

ChampTypeObligatoireDescription
params.newsletter_idstringouiID

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

Lecture seuleDroit: settings:read

Returns the phone number that receives test newsletters.

Aucun champ d'entrée.

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

Modifie des donnéesDroit: settings:write

Sets the phone number that receives test newsletters.

ChampTypeObligatoireDescription
bodyobjectnon{ phone } in international format.

POST/v1/app/get_landing_page · Get landing page

Lecture seuleDroit: landing:read

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

Aucun champ d'entrée.

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

Lecture seuleDroit: landing:read

Returns the rendered HTML of the landing page.

Aucun champ d'entrée.

POST/v1/app/unpublish_landing_page · Unpublish landing page

Envoie, soumet ou supprimeDroit: landing:write

Takes the landing page offline.

ChampTypeObligatoireDescription
bodyobjectnon

POST/v1/app/get_website_popup · Get website popup

Lecture seuleDroit: landing:read

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

Aucun champ d'entrée.

POST/v1/app/get_popup_stats · Get popup statistics

Lecture seuleDroit: stats:read

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

Aucun champ d'entrée.

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

Lecture seuleDroit: automations:read

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

ChampTypeObligatoireDescription
params.automation_idstringouiID

POST/v1/app/get_automation_endpoint · Get automation endpoint

Lecture seuleDroit: automations:read

Returns the webhook address and setup of an automation.

ChampTypeObligatoireDescription
params.automation_idstringouiID

POST/v1/app/get_automation_timeline · Get automation timeline

Lecture seuleDroit: automations:read

Returns the timeline of what an automation did.

ChampTypeObligatoireDescription
params.automation_idstringouiID

POST/v1/app/check_automation_calendar · Check automation calendar

Modifie des donnéesDroit: automations:write

Checks the connected calendar of an automation.

ChampTypeObligatoireDescription
params.automation_idstringouiID
bodyobjectnon

POST/v1/app/get_calendar_guides · Get calendar guides

Lecture seuleDroit: automations:read

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

Aucun champ d'entrée.

POST/v1/app/list_widgets · List website widgets

Lecture seuleDroit: account:read

Lists the website widgets (popup and chat button).

Aucun champ d'entrée.

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

Lecture seuleDroit: account:read

Returns the code to paste into the website.

ChampTypeObligatoireDescription
params.widget_idstringouiID

POST/v1/app/update_widget · Change a widget

Modifie des donnéesDroit: account:write

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

ChampTypeObligatoireDescription
params.widget_idstringouiID
bodyobjectnon

POST/v1/app/rotate_widget_token · Renew widget token

Envoie, soumet ou supprimeDroit: account:write

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

ChampTypeObligatoireDescription
params.widget_idstringouiID
bodyobjectnon

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

Lecture seuleDroit: account:read

Returns the QR code for the WhatsApp number.

Aucun champ d'entrée.

POST/v1/app/get_notifications · Get notification settings

Lecture seuleDroit: account:read

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

Aucun champ d'entrée.

POST/v1/app/update_notifications · Change notification settings

Modifie des donnéesDroit: account:write

Switches notification emails on or off.

ChampTypeObligatoireDescription
bodyobjectnon

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

Modifie des donnéesDroit: account:write

Invites a person to the team by email.

ChampTypeObligatoireDescription
bodyobjectnon{ email, role } - same fields as the app.

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

Modifie des donnéesDroit: account:write

Changes the role of a team member.

ChampTypeObligatoireDescription
params.member_idstringouiID
bodyobjectnon{ role }

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

Envoie, soumet ou supprimeDroit: account:write

Removes a person from the team.

ChampTypeObligatoireDescription
params.member_idstringouiID

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

Lecture seuleDroit: account:read

Returns the current plan and subscription state.

Aucun champ d'entrée.

POST/v1/app/list_invoices · List invoices

Lecture seuleDroit: account:read

Lists the invoices of the account.

Aucun champ d'entrée.

POST/v1/app/get_credits · Get credits

Lecture seuleDroit: account:read

Returns the credit balance.

Aucun champ d'entrée.

POST/v1/app/get_credit_history · Get credit history

Lecture seuleDroit: account:read

Returns the history of credits used and added.

Aucun champ d'entrée.

POST/v1/app/list_rewards · List rewards

Lecture seuleDroit: account:read

Lists the bonus tasks and their state.

Aucun champ d'entrée.

POST/v1/app/claim_reward · Claim a reward

Modifie des donnéesDroit: account:write

Claims a finished bonus task.

ChampTypeObligatoireDescription
params.reward_idstringouiID
bodyobjectnon

POST/v1/app/get_referral · Get referral program

Lecture seuleDroit: account:read

Returns the referral link and its results.

Aucun champ d'entrée.

POST/v1/app/list_domains · List domains

Lecture seuleDroit: account:read

Lists the domains and subdomain of the landing page.

Aucun champ d'entrée.

POST/v1/app/check_subdomain · Check a subdomain

Lecture seuleDroit: account:read

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

ChampTypeObligatoireDescription
query.namestringnon

POST/v1/app/suggest_subdomain · Suggest subdomains

Lecture seuleDroit: account:read

Suggests free subdomains for the business.

Aucun champ d'entrée.

POST/v1/app/set_subdomain · Set the subdomain

Modifie des donnéesDroit: account:write

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

ChampTypeObligatoireDescription
bodyobjectnon{ name }

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

Modifie des donnéesDroit: account:write

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

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

POST/v1/app/verify_domain · Verify a domain

Modifie des donnéesDroit: account:write

Checks the DNS entries of a connected domain.

ChampTypeObligatoireDescription
bodyobjectnon

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

Modifie des donnéesDroit: account:write

Switches the automatic renewal of a domain on or off.

ChampTypeObligatoireDescription
params.domain_idstringouiID
bodyobjectnon{ auto_renew: true|false }

POST/v1/app/delete_domain · Remove a domain

Envoie, soumet ou supprimeDroit: account:write

Removes a connected domain from the account.

ChampTypeObligatoireDescription
params.domain_idstringouiID

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

Lecture seuleDroit: account:read

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

Aucun champ d'entrée.

POST/v1/app/list_tutorials · List tutorials

Lecture seuleDroit: account:read

Lists the tutorial videos.

Aucun champ d'entrée.

POST/v1/app/send_feedback · Send feedback

Modifie des donnéesDroit: account:write

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

ChampTypeObligatoireDescription
bodyobjectnonSame fields as the app, e.g. { type, message }.

POST/v1/app/get_onboarding_status · Get setup status

Lecture seuleDroit: account:read

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

Aucun champ d'entrée.

POST/v1/app/set_areas · Choose areas

Modifie des donnéesDroit: account:write

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

ChampTypeObligatoireDescription
bodyobjectnon{ areas: [...] } - same fields as the app.

Des questions ?

Écris-nous à support@smartchat.marketing