App functions endpoint

POST /v1/app/{name} runs one app function. Send IDs in params, filters in query and data in body. GET /v1/app lists all functions and whether your key may use them.

The technical reference below is in English, exactly as the names and fields appear in the API and in 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

Sends, submits or deletesPermission: media:delete

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

FieldTypeRequiredDescription
params.media_idstringyesID

POST/v1/app/get_upload_cost · Get upload cost

Read onlyPermission: media:read

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

FieldTypeRequiredDescription
query.kindstringno
query.sizestringno

POST/v1/app/get_profile_media · Get profile media

Read onlyPermission: media:read

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

No input fields.

POST/v1/app/update_profile_media · Change profile media

Changes dataPermission: media:write

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

FieldTypeRequiredDescription
bodyobjectnoFields as in the app, e.g. { logo_media_id } or { avatar_media_id }.

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

Changes dataPermission: settings:write

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

FieldTypeRequiredDescription
bodyobjectno{ media_id }

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

Read onlyPermission: ai:chat

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

No input fields.

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

Read onlyPermission: ai:chat

Returns all messages of one SmartChat AI conversation.

FieldTypeRequiredDescription
params.conversation_idstringyesID

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

Read onlyPermission: contacts:read

Returns the status and result of the last contact import.

No input fields.

POST/v1/app/preview_unconfirmed_contacts · Preview unconfirmed contacts

Read onlyPermission: contacts:read

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

No input fields.

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

Sends, submits or deletesPermission: messages:write

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

FieldTypeRequiredDescription
bodyobjectnoSame fields as the app sends (usually none).

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

Read onlyPermission: contacts:read

Returns confirmation messages that are waiting to be sent.

No input fields.

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

Sends, submits or deletesPermission: messages:write

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

FieldTypeRequiredDescription
bodyobjectno

POST/v1/app/unsubscribe_contact · Unsubscribe a contact

Sends, submits or deletesPermission: contacts:write

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

FieldTypeRequiredDescription
params.contact_idstringyesID
bodyobjectno

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

Changes dataPermission: contacts:write

Removes one tag from a contact.

FieldTypeRequiredDescription
params.contact_idstringyesID
params.tagstringyesID

POST/v1/app/delete_contact · Delete a contact

Sends, submits or deletesPermission: contacts:delete

Deletes a contact completely. Cannot be undone.

FieldTypeRequiredDescription
params.contact_idstringyesID

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

Read onlyPermission: account:read

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

No input fields.

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

Changes dataPermission: inbox:write

Marks an inbox conversation as read.

FieldTypeRequiredDescription
params.conversation_idstringyesID
bodyobjectno

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

Sends, submits or deletesPermission: inbox:write

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

FieldTypeRequiredDescription
params.conversation_idstringyesID
bodyobjectno{ text } and optional { media_id } - same fields as the app.

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

Changes dataPermission: ai:settings

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

FieldTypeRequiredDescription
params.conversation_idstringyesID
bodyobjectno

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

Read onlyPermission: inbox:read

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

FieldTypeRequiredDescription
params.conversation_idstringyesID

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

Changes dataPermission: ai:settings

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

FieldTypeRequiredDescription
params.conversation_idstringyesID
bodyobjectno{ enabled: true|false } - same fields as the app.

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

Read onlyPermission: settings:read

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

No input fields.

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

Changes dataPermission: ai:settings

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

FieldTypeRequiredDescription
bodyobjectnoFields as in the app, e.g. { enabled, name }.

POST/v1/app/analyze_reply_style · Analyze reply style

Changes dataPermission: ai:settings

Analyzes the answer style of the business from past messages.

FieldTypeRequiredDescription
bodyobjectno

POST/v1/app/approve_reply_style · Approve reply style

Changes dataPermission: ai:settings

Approves the analyzed answer style so the AI uses it.

FieldTypeRequiredDescription
bodyobjectno

POST/v1/app/discard_reply_style · Discard reply style

Changes dataPermission: ai:settings

Discards the analyzed answer style.

FieldTypeRequiredDescription
bodyobjectno

POST/v1/app/list_learned_answers · List learned answers

Read onlyPermission: settings:read

Lists the answers the AI reply has learned.

No input fields.

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

Changes dataPermission: ai:settings

Changes one learned answer.

FieldTypeRequiredDescription
params.answer_idstringyesID
bodyobjectno

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

Sends, submits or deletesPermission: ai:settings

Deletes one learned answer.

FieldTypeRequiredDescription
params.answer_idstringyesID

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

Read onlyPermission: settings:read

Returns the FAQ and settings of the automatic reply.

No input fields.

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

Changes dataPermission: ai:settings

Changes the FAQ and settings of the automatic reply.

FieldTypeRequiredDescription
bodyobjectno

POST/v1/app/list_knowledge_documents · List knowledge documents

Read onlyPermission: settings:read

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

No input fields.

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

Sends, submits or deletesPermission: knowledge:write

Deletes a knowledge document.

FieldTypeRequiredDescription
params.document_idstringyesID

POST/v1/app/count_newsletter_recipients · Count newsletter recipients

Read onlyPermission: newsletters:read

Returns how many contacts a newsletter would reach.

FieldTypeRequiredDescription
bodyobjectno

POST/v1/app/preview_newsletter · Preview a newsletter

Read onlyPermission: newsletters:read

Returns exactly how the newsletter arrives on the phone.

FieldTypeRequiredDescription
params.newsletter_idstringyesID

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

Read onlyPermission: newsletters:read

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

FieldTypeRequiredDescription
params.newsletter_idstringyesID

POST/v1/app/resume_newsletter · Resume a newsletter

Sends, submits or deletesPermission: newsletters:schedule

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

FieldTypeRequiredDescription
params.newsletter_idstringyesID
bodyobjectno

POST/v1/app/pause_newsletter · Pause a newsletter

Changes dataPermission: newsletters:schedule

Stops a newsletter that is being sent right now.

FieldTypeRequiredDescription
params.newsletter_idstringyesID
bodyobjectno

POST/v1/app/delete_newsletter · Delete a newsletter

Sends, submits or deletesPermission: newsletters:delete

Deletes a newsletter from the list.

FieldTypeRequiredDescription
params.newsletter_idstringyesID

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

Read onlyPermission: settings:read

Returns the phone number that receives test newsletters.

No input fields.

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

Changes dataPermission: settings:write

Sets the phone number that receives test newsletters.

FieldTypeRequiredDescription
bodyobjectno{ phone } in international format.

POST/v1/app/get_landing_page · Get landing page

Read onlyPermission: landing:read

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

No input fields.

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

Read onlyPermission: landing:read

Returns the rendered HTML of the landing page.

No input fields.

POST/v1/app/unpublish_landing_page · Unpublish landing page

Sends, submits or deletesPermission: landing:write

Takes the landing page offline.

FieldTypeRequiredDescription
bodyobjectno

POST/v1/app/get_website_popup · Get website popup

Read onlyPermission: landing:read

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

No input fields.

POST/v1/app/get_popup_stats · Get popup statistics

Read onlyPermission: stats:read

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

No input fields.

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

Read onlyPermission: automations:read

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

FieldTypeRequiredDescription
params.automation_idstringyesID

POST/v1/app/get_automation_endpoint · Get automation endpoint

Read onlyPermission: automations:read

Returns the webhook address and setup of an automation.

FieldTypeRequiredDescription
params.automation_idstringyesID

POST/v1/app/get_automation_timeline · Get automation timeline

Read onlyPermission: automations:read

Returns the timeline of what an automation did.

FieldTypeRequiredDescription
params.automation_idstringyesID

POST/v1/app/check_automation_calendar · Check automation calendar

Changes dataPermission: automations:write

Checks the connected calendar of an automation.

FieldTypeRequiredDescription
params.automation_idstringyesID
bodyobjectno

POST/v1/app/get_calendar_guides · Get calendar guides

Read onlyPermission: automations:read

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

No input fields.

POST/v1/app/list_widgets · List website widgets

Read onlyPermission: account:read

Lists the website widgets (popup and chat button).

No input fields.

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

Read onlyPermission: account:read

Returns the code to paste into the website.

FieldTypeRequiredDescription
params.widget_idstringyesID

POST/v1/app/update_widget · Change a widget

Changes dataPermission: account:write

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

FieldTypeRequiredDescription
params.widget_idstringyesID
bodyobjectno

POST/v1/app/rotate_widget_token · Renew widget token

Sends, submits or deletesPermission: account:write

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

FieldTypeRequiredDescription
params.widget_idstringyesID
bodyobjectno

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

Read onlyPermission: account:read

Returns the QR code for the WhatsApp number.

No input fields.

POST/v1/app/get_notifications · Get notification settings

Read onlyPermission: account:read

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

No input fields.

POST/v1/app/update_notifications · Change notification settings

Changes dataPermission: account:write

Switches notification emails on or off.

FieldTypeRequiredDescription
bodyobjectno

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

Changes dataPermission: account:write

Invites a person to the team by email.

FieldTypeRequiredDescription
bodyobjectno{ email, role } - same fields as the app.

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

Changes dataPermission: account:write

Changes the role of a team member.

FieldTypeRequiredDescription
params.member_idstringyesID
bodyobjectno{ role }

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

Sends, submits or deletesPermission: account:write

Removes a person from the team.

FieldTypeRequiredDescription
params.member_idstringyesID

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

Read onlyPermission: account:read

Returns the current plan and subscription state.

No input fields.

POST/v1/app/list_invoices · List invoices

Read onlyPermission: account:read

Lists the invoices of the account.

No input fields.

POST/v1/app/get_credits · Get credits

Read onlyPermission: account:read

Returns the credit balance.

No input fields.

POST/v1/app/get_credit_history · Get credit history

Read onlyPermission: account:read

Returns the history of credits used and added.

No input fields.

POST/v1/app/list_rewards · List rewards

Read onlyPermission: account:read

Lists the bonus tasks and their state.

No input fields.

POST/v1/app/claim_reward · Claim a reward

Changes dataPermission: account:write

Claims a finished bonus task.

FieldTypeRequiredDescription
params.reward_idstringyesID
bodyobjectno

POST/v1/app/get_referral · Get referral program

Read onlyPermission: account:read

Returns the referral link and its results.

No input fields.

POST/v1/app/list_domains · List domains

Read onlyPermission: account:read

Lists the domains and subdomain of the landing page.

No input fields.

POST/v1/app/check_subdomain · Check a subdomain

Read onlyPermission: account:read

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

FieldTypeRequiredDescription
query.namestringno

POST/v1/app/suggest_subdomain · Suggest subdomains

Read onlyPermission: account:read

Suggests free subdomains for the business.

No input fields.

POST/v1/app/set_subdomain · Set the subdomain

Changes dataPermission: account:write

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

FieldTypeRequiredDescription
bodyobjectno{ name }

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

Changes dataPermission: account:write

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

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

POST/v1/app/verify_domain · Verify a domain

Changes dataPermission: account:write

Checks the DNS entries of a connected domain.

FieldTypeRequiredDescription
bodyobjectno

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

Changes dataPermission: account:write

Switches the automatic renewal of a domain on or off.

FieldTypeRequiredDescription
params.domain_idstringyesID
bodyobjectno{ auto_renew: true|false }

POST/v1/app/delete_domain · Remove a domain

Sends, submits or deletesPermission: account:write

Removes a connected domain from the account.

FieldTypeRequiredDescription
params.domain_idstringyesID

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

Read onlyPermission: account:read

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

No input fields.

POST/v1/app/list_tutorials · List tutorials

Read onlyPermission: account:read

Lists the tutorial videos.

No input fields.

POST/v1/app/send_feedback · Send feedback

Changes dataPermission: account:write

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

FieldTypeRequiredDescription
bodyobjectnoSame fields as the app, e.g. { type, message }.

POST/v1/app/get_onboarding_status · Get setup status

Read onlyPermission: account:read

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

No input fields.

POST/v1/app/set_areas · Choose areas

Changes dataPermission: account:write

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

FieldTypeRequiredDescription
bodyobjectno{ areas: [...] } - same fields as the app.

Questions?

Email us at support@smartchat.marketing