Chatfuel · Authentication Profile
Chatfuel Authentication
Authentication
Chatfuel secures its APIs with http and apiKey across 3 declared security schemes, as derived from its OpenAPI definitions.
CompanyChatbotsConversational AIMessagingMarketing AutomationCustomer SupportWhatsAppInstagramFacebook MessengerTikTokNo-CodeAI Agents
Methods: http, apiKey
Schemes: 3
OAuth flows:
API key in: query
Security Schemes
PanelBearerToken http
scheme: bearer
DashboardBearerToken http
scheme: bearer
BroadcastToken apiKey
· in: query (chatfuel_token)
Source
Authentication Profile
generated: '2026-08-13'
method: searched
source: https://help.chatfuel.com/create-contacts-in-chatfuel-via-api-23134b06ecf8800683b6efacab24b68d
docs: https://help.chatfuel.com/other-guides-18234b06ecf8804cb046d94bbc701ff0
summary:
types:
- http
- apiKey
api_key_in:
- query
oauth2_flows: []
notes: >-
Chatfuel has no OpenAPI to derive from, so this profile is read from the
published docs. The current, documented scheme is a per-account Bearer API
token copied from Settings -> API in the Chatfuel panel and sent in the
Authorization header against panel.chatfuel.com. Two older schemes — the
Dashboard API bearer token and the per-bot chatfuel_token query parameter
for the Broadcasting API — were documented on docs.chatfuel.com, which
Chatfuel has since taken down; their hosts still answer, but the auth
documentation is gone. No OAuth 2.0 or OpenID Connect surface exists on any
host: /.well-known/openid-configuration and
/.well-known/oauth-authorization-server were probed on api, panel,
dashboard, app and chatfuel.com and none returns a real document (see
well-known/chatfuel-well-known.yml).
schemes:
- name: PanelBearerToken
type: http
scheme: bearer
status: current
description: >-
Account API token supplied as `Authorization: Bearer {your_api_token}`.
Obtained from Settings -> API -> "Copy API key" inside the Chatfuel panel.
Paired with an `{automation_id}` path parameter, read from the browser
address bar of the automation being targeted.
applies_to: Chatfuel Contacts API (https://panel.chatfuel.com/api)
verified: >-
POST https://panel.chatfuel.com/api/contacts/{automation_id}/whatsapp/ with
no Authorization header returned HTTP 401 on 2026-08-13, confirming the
scheme is enforced.
source: https://help.chatfuel.com/create-contacts-in-chatfuel-via-api-23134b06ecf8800683b6efacab24b68d
- name: DashboardBearerToken
type: http
scheme: bearer
status: undocumented
description: >-
Dashboard API Token supplied as `Authorization: Bearer {token}`. Was
generated from the dashboard profile ("Dashboard API Token" -> "Generate
Token"); shown once and had to be saved on creation or revoked and
regenerated.
applies_to: Chatfuel Dashboard API (https://dashboard.chatfuel.com/api)
source: https://docs.chatfuel.com/api/dashboard-api
source_status: 404
note: >-
Recorded from the previous enrichment round (2026-07-18), when this page was
live. Re-probed 2026-08-13: docs.chatfuel.com returns HTTP 404 on every path
— the Intercom help center behind it has been retired and no replacement
page exists on help.chatfuel.com. Retained as history; not verifiable today.
- name: BroadcastToken
type: apiKey
in: query
parameter: chatfuel_token
status: undocumented
description: >-
Per-bot broadcasting token supplied as the `chatfuel_token` request
parameter on Broadcasting API calls to
https://api.chatfuel.com/bots/{BOT_ID}/users/{USER_ID}/send. Was retrieved
from the bot's Configure tab -> "Broadcasting API Token".
applies_to: Chatfuel Broadcasting API (https://api.chatfuel.com)
source: https://docs.chatfuel.com/en/articles/790461-broadcasting-api
source_status: 404
note: >-
The route still exists — a GET against the send path returned HTTP 405
Method Not Allowed on 2026-08-13 rather than the host's usual JSON 404 — but
its documentation is gone. A query-string bearer credential is also the
weakest placement available: it lands in proxy logs, browser history and
Referer headers.
gated_surfaces:
- surface: https://api.chatfuel.com/swagger.json
observed: 302 -> accounts.google.com
detail: >-
The API host does serve a Swagger route, but it sits behind a Google-SSO
OAuth2 proxy: /swagger.json, /swagger and /swagger-ui all redirect to
accounts.google.com with redirect_uri https://auth.chatfuel.com/oauth2/callback
and the original URL preserved in the state parameter, whereas every
undefined path on the same host returns a plain JSON 404. The contract
exists and is not public.
- surface: https://panel.chatfuel.com/graphql
observed: 400 / introspection disabled
detail: >-
A live GraphQL endpoint answers with a real error envelope. Introspection is
switched off at the gateway — "GraphQL introspection is disabled by Cosmo
Router" — so no SDL can be read anonymously and none is published elsewhere.