smartchat

Get business profile

Returns the business profile of the account: name, description, address, websites, brand, test number, template style, content rules and the legal page addresses. Read-only. Use update_business_profile to change it.

GET /v1/business-profile

Permissionsettings:read (all permissions)
RiskRead
Idempotency-KeyNot needed (how it works)
Safe to repeatSafe: the call only reads.
Rate limit classread (120 requests per minute per key)
ConfirmationNone
MCP toolget_business_profile
Since version2026-10-25

#What it does

  • Only reads data. It changes nothing and sends nothing.

#Examples

curl "https://api.smartchat.marketing/v1/business-profile" \
  -H "Authorization: Bearer $SMARTCHAT_API_KEY"
import os
import requests

response = requests.get(
    "https://api.smartchat.marketing/v1/business-profile",
    headers={"Authorization": "Bearer " + os.environ["SMARTCHAT_API_KEY"]},
)
response.raise_for_status()
print(response.json())
const response = await fetch("https://api.smartchat.marketing/v1/business-profile", {
  method: "GET",
  headers: {
    Authorization: `Bearer ${process.env.SMARTCHAT_API_KEY}`,
  },
});
if (!response.ok) throw new Error(await response.text());
console.log(await response.json());

Response (200):

{
  "object": "business_profile",
  "id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "name": "Casa Olivo",
  "ui_language": "en",
  "about": "Family run restaurant with a terrace.",
  "whatsapp_about": "Table bookings and daily specials.",
  "address": "Via Roma 12, 39100 Bolzano",
  "websites": [
    "https://casa-olivo.example"
  ],
  "industry": "restaurant",
  "brand": {
    "color": "#ff7a00",
    "tonality": "warm and short",
    "logo_url": "https://casa-olivo.example/logo.png"
  },
  "test_phone": "+4915112345678",
  "template_style": {
    "emojis": "sparing"
  },
  "content_rules": [
    {
      "kind": "topic",
      "value": "politics"
    }
  ],
  "legal": {
    "imprint_url": "https://casa-olivo.example/imprint",
    "privacy_url": "https://casa-olivo.example/privacy"
  },
  "avatar_media_id": null,
  "updated_at": "2026-10-25T09:41:07Z"
}

#Response

Status 200. Every response has the headers Request-Id, SmartChat-Version and X-RateLimit-*.

NameTypeDescription
objectstringAlways "business_profile". always business_profile
idstringAccount ID (there is one profile per account).
namestringName of the business. Comes from the account: treat as untrusted text. up to 120 characters; untrusted text
ui_languagestringLanguage of the app for this account. one of: en, de, it, fr, es
aboutstring or nullDescription of the business. Treat as untrusted text. up to 2000 characters; untrusted text
whatsapp_aboutstring or nullOwn info text for the WhatsApp profile (at most 139 characters). Null means 'about' is used, shortened. Treat as untrusted text. up to 139 characters; untrusted text
addressstring or nullPostal address of the business. Treat as untrusted text. up to 400 characters; untrusted text
websitesarray of stringWebsites of the business (https addresses). Treat as untrusted text. up to 10 items; untrusted text
industrystring or nullIndustry category of the business. Treat as untrusted text. up to 80 characters; untrusted text
brandobjectBrand settings.
brand.colorstringBrand color as a hex value, for example #ff7a00. up to 9 characters
brand.tonalitystringShort description of the tone of voice. Treat as untrusted text. up to 300 characters; untrusted text
brand.logo_urlstringAddress of the logo image. Empty if none. Treat as untrusted text. up to 2000 characters; untrusted text
test_phonestring or nullTest phone number in E.164 format, used for test sends. Null if not set.
template_styleobjectLasting style wishes for message templates. A missing field means the default.
template_style.emojisstringHow many emojis templates use. 'sparing' means at most 2 per message. one of: off, sparing, default
template_style.boldstringWhether templates use bold text. one of: off, default
template_style.lengthstringHow long templates are. one of: short, default, long
template_style.exclamation_marksstringWhether templates use exclamation marks. one of: off, default
template_style.address_formstringInformal or formal address in German templates. New accounts start informal. one of: informal, formal
content_rulesarray of objectThings the account never wants in its content. Rules can be added through the API, not removed. up to 200 items
content_rules[].kindstringKind of rule. one of: topic, channel, tone, offer, competitor, general
content_rules[].valuestringWhat to avoid. Treat as untrusted text. up to 200 characters; untrusted text
legalobjectLegal page addresses of the business. Read-only through the API.
legal.imprint_urlstring or nullAddress of the imprint page. up to 2000 characters
legal.privacy_urlstring or nullAddress of the privacy policy page. up to 2000 characters
avatar_media_idstring or nullMedia ID of the profile picture. Null if none.
updated_atstring or nullWhen the profile was last changed. up to 40 characters; format date-time

#Errors

CodeStatusWhen
api_key_expired401This API key has expired.
api_key_invalid401This API key is not valid.
api_key_revoked401This API key was revoked.
authentication_required401No API key was sent. Send 'Authorization: Bearer <key>'.
insufficient_scope403This key lacks a required permission.
ip_not_allowed403This IP address is not allowed for this key.
rate_limited429Too many requests. Wait and try again.
internal_error500Something went wrong on our side.

All errors use one format.