# ManyChat > ManyChat is a chat-marketing platform for automating conversations on Instagram Direct Messages, Facebook Messenger, WhatsApp, TikTok and SMS. The public REST API is a page-scoped surface for managing subscribers, tags, custom fields, bot fields and automations, and for sending content and triggering flows. Authentication is a per-page API key sent as `Authorization: Bearer :`. This file was generated by API Evangelist from ManyChat's own published OpenAPI; ManyChat does not serve an llms.txt of its own (https://manychat.com/llms.txt returns 403 behind a Cloudflare challenge). Base URL: https://api.manychat.com — the published `servers[]` block is an empty relative URL; the host is the one serving the Swagger document. Version: `beta` (no URL, header or date-based versioning exists). Interactive reference: https://api.manychat.com/swagger ## What an agent needs to know first - Every credential is scoped to ONE connected page. There is no account-wide token and no cross-page addressing. - There is **no idempotency key**. Retrying `sendContent`, `sendFlow`, `createTag`, `createCustomField`, `createBotField` or `createSubscriber` will duplicate the effect. The `*ByName` operations are name-addressed upserts and are naturally repeatable. - There is **no pagination**. `findSubscriberByName` and `findByCustomField` are hard-capped at 100 results with no cursor. - Only HTTP **200** and **400** are declared anywhere in the contract. Check the `status` field in the JSON body (`"success"` / `"error"`), not just the HTTP code. No 401, 403, 404, 429 or 5xx is documented. - Rate limits are published per operation (10–100 queries/second) but there are **no rate-limit response headers and no documented 429**. - Sending is governed by Meta policy, not by ManyChat: outside the 24-hour messaging window a `message_tag` is required or you get error **3011**. - `removeTag` / `removeTagByName` delete the tag from the page **and every subscriber carrying it**, and ManyChat states the action cannot be undone. ## APIs - [ManyChat Page API](https://api.manychat.com/swagger): page info, tags, custom fields, bot fields, flows, growth tools, OTN topics (16 operations) - [ManyChat Sending API](https://api.manychat.com/swagger): send content and trigger flows (3 operations) - [ManyChat Subscriber API](https://api.manychat.com/swagger): look up, search, create, update, tag and set fields on subscribers (15 operations) - [ManyChat Profile API](https://api.manychat.com/swagger): white-label template single-use links (1 operation) ## Specs - [Page API OpenAPI 3.0](https://raw.githubusercontent.com/api-evangelist/manychat/refs/heads/main/openapi/manychat-page-api-openapi.yml) - [Sending API OpenAPI 3.0](https://raw.githubusercontent.com/api-evangelist/manychat/refs/heads/main/openapi/manychat-sending-api-openapi.yml) - [Subscriber API OpenAPI 3.0](https://raw.githubusercontent.com/api-evangelist/manychat/refs/heads/main/openapi/manychat-subscriber-api-openapi.yml) - [Profile API OpenAPI 3.0](https://raw.githubusercontent.com/api-evangelist/manychat/refs/heads/main/openapi/manychat-profile-api-openapi.yml) - [Provider Swagger, Page API (verbatim)](https://api.manychat.com/swagger/compileJson?type=Page_API) - [Provider Swagger, Profile API (verbatim)](https://api.manychat.com/swagger/compileJson?type=Profile_API) ## Runtime semantics - [Authentication profile](https://raw.githubusercontent.com/api-evangelist/manychat/refs/heads/main/authentication/manychat-authentication.yml) - [API conventions](https://raw.githubusercontent.com/api-evangelist/manychat/refs/heads/main/conventions/manychat-conventions.yml) - [Error catalog and ManyChat error codes](https://raw.githubusercontent.com/api-evangelist/manychat/refs/heads/main/errors/manychat-problem-types.yml) - [Rate limits, per operation](https://raw.githubusercontent.com/api-evangelist/manychat/refs/heads/main/rate-limits/manychat-rate-limits.yml) - [Data model](https://raw.githubusercontent.com/api-evangelist/manychat/refs/heads/main/data-model/manychat-data-model.yml) - [Lifecycle, versioning and status](https://raw.githubusercontent.com/api-evangelist/manychat/refs/heads/main/lifecycle/manychat-lifecycle.yml) - [Standards conformance](https://raw.githubusercontent.com/api-evangelist/manychat/refs/heads/main/conformance/manychat-conformance.yml) ## Agent surfaces - [Agent skills](https://raw.githubusercontent.com/api-evangelist/manychat/refs/heads/main/skills/_index.yml) - [MCP candidate tool list](https://raw.githubusercontent.com/api-evangelist/manychat/refs/heads/main/mcp/manychat-mcp.yml) — ManyChat ships no first-party MCP server - [Agentic access contracts](https://raw.githubusercontent.com/api-evangelist/manychat/refs/heads/main/agentic-access/manychat-agentic-access.yml) - No A2A agent card is served on any ManyChat host. ## Event surface - [Dynamic Block outbound webhook contract](https://raw.githubusercontent.com/api-evangelist/manychat/refs/heads/main/asyncapi/manychat-dynamic-block-webhooks.yml) - [Dynamic Block reference (first-party)](https://manychat.github.io/dynamic_block_docs/) ManyChat does not push events to you. Its async surface is the "External Request" flow step, which calls your endpoint and expects a Dynamic Block JSON response back. No request signing and no retry contract are documented. ## SDKs - [manychat/manychat-api (PHP)](https://packagist.org/packages/manychat/manychat-api) — the only first-party API client. Marked **abandoned** on Packagist; last release v1.0.5 on 2020-12-11. - No first-party JavaScript, Python, Ruby, Go, Java or .NET client exists. ## Docs - [Interactive Swagger console](https://api.manychat.com/swagger) - [API help article](https://help.manychat.com/hc/en-us/articles/14959510331420-API-Manychat) - [Dev Tools: Basics](https://help.manychat.com/hc/en-us/articles/14281252007580-Dev-Tools-Basics) - [Dev Tools: External request](https://help.manychat.com/hc/en-us/articles/14281285374364-Dev-Tools-External-request) - [Developer program](https://help.manychat.com/hc/en-us/articles/14281299586972) - [Status page](https://status.manychat.com) — machine readable at /summary.json and /history.atom - [GitHub organization](https://github.com/manychat) - [Community](https://community.manychat.com) Note: `developers.manychat.com` resolves but 302-redirects to the marketing homepage. There is no separate developer portal.