openapi: 3.1.0 info: title: ManyChat API description: >- The ManyChat REST API exposes Page, Sending, and Subscriber operations for Facebook Messenger automation (a separate Profile API endpoint is available for white-label flows). Endpoints derived from the public Swagger document served at https://api.manychat.com/swagger. Authentication is via a Bearer token of the form `Bearer :` generated in the ManyChat dashboard. version: "beta" contact: name: ManyChat url: https://api.manychat.com/swagger servers: - url: https://api.manychat.com description: Production security: - BearerAuth: [] tags: - name: Page description: Page-level configuration, tags, custom fields, bot fields, flows - name: Sending description: Send content and flows to subscribers - name: Subscriber description: Lookup and manage subscribers - name: Profile description: White-label profile/template management paths: /fb/page/getInfo: get: tags: [Page] summary: Get connected page info description: 'Rate limit: 100 queries per second.' operationId: getPageInfo responses: '200': description: Page info /fb/page/createTag: post: tags: [Page] summary: Create a tag description: 'Rate limit: 10 queries per second.' operationId: createTag requestBody: required: true content: application/json: schema: type: object required: [name] properties: name: type: string responses: '200': description: Tag created /fb/page/getTags: get: tags: [Page] summary: List page tags operationId: getTags responses: '200': description: Tags /fb/page/removeTag: post: tags: [Page] summary: Remove a tag by ID operationId: removeTag requestBody: required: true content: application/json: schema: type: object required: [tag_id] properties: tag_id: type: integer responses: '200': description: Tag removed /fb/page/removeTagByName: post: tags: [Page] summary: Remove a tag by name operationId: removeTagByName requestBody: required: true content: application/json: schema: type: object required: [tag_name] properties: tag_name: type: string responses: '200': description: Tag removed /fb/page/getWidgets: get: tags: [Page] summary: List growth widgets (deprecated; use getGrowthTools) operationId: getWidgets deprecated: true responses: '200': description: Widgets /fb/page/getGrowthTools: get: tags: [Page] summary: List growth tools operationId: getGrowthTools responses: '200': description: Growth tools /fb/page/getFlows: get: tags: [Page] summary: List flows operationId: getFlows responses: '200': description: Flows /fb/page/getCustomFields: get: tags: [Page] summary: List custom user fields operationId: getCustomFields responses: '200': description: Custom fields /fb/page/createCustomField: post: tags: [Page] summary: Create a custom user field operationId: createCustomField requestBody: required: true content: application/json: schema: type: object responses: '200': description: Custom field created /fb/page/getOtnTopics: get: tags: [Page] summary: List One-Time Notification topics operationId: getOtnTopics responses: '200': description: OTN topics /fb/page/getBotFields: get: tags: [Page] summary: List bot fields operationId: getBotFields responses: '200': description: Bot fields /fb/page/createBotField: post: tags: [Page] summary: Create a bot field operationId: createBotField requestBody: required: true content: application/json: schema: type: object responses: '200': description: Bot field created /fb/page/setBotField: post: tags: [Page] summary: Set a bot field value by ID operationId: setBotField requestBody: required: true content: application/json: schema: type: object responses: '200': description: Updated /fb/page/setBotFieldByName: post: tags: [Page] summary: Set a bot field value by name operationId: setBotFieldByName requestBody: required: true content: application/json: schema: type: object responses: '200': description: Updated /fb/page/setBotFields: post: tags: [Page] summary: Set multiple bot fields operationId: setBotFields requestBody: required: true content: application/json: schema: type: object responses: '200': description: Updated /fb/sending/sendContent: post: tags: [Sending] summary: Send content to a subscriber description: 'Rate limit: 25 queries per second.' operationId: sendContent requestBody: required: true content: application/json: schema: type: object required: [subscriber_id, data, message_tag] properties: subscriber_id: type: integer data: type: object message_tag: type: string responses: '200': description: Sent /fb/sending/sendContentByUserRef: post: tags: [Sending] summary: Send content using a user_ref operationId: sendContentByUserRef requestBody: required: true content: application/json: schema: type: object responses: '200': description: Sent /fb/sending/sendFlow: post: tags: [Sending] summary: Send a flow to a subscriber description: 'Rate limit: 20 queries per second, 100 queries per given subscriber per hour.' operationId: sendFlow requestBody: required: true content: application/json: schema: type: object required: [subscriber_id, flow_ns] properties: subscriber_id: type: integer flow_ns: type: string responses: '200': description: Flow sent /fb/subscriber/getInfo: get: tags: [Subscriber] summary: Get subscriber info by ID operationId: getSubscriberInfo parameters: - name: subscriber_id in: query required: true schema: type: integer responses: '200': description: Subscriber info /fb/subscriber/findByName: get: tags: [Subscriber] summary: Search subscribers by full name (max 100 results) operationId: findSubscriberByName parameters: - name: name in: query required: true schema: type: string responses: '200': description: Subscribers /fb/subscriber/getInfoByUserRef: get: tags: [Subscriber] summary: Get subscriber info by user_ref operationId: getSubscriberByUserRef parameters: - name: user_ref in: query required: true schema: type: string responses: '200': description: Subscriber info /fb/subscriber/findByCustomField: get: tags: [Subscriber] summary: Find subscribers by custom field value operationId: findByCustomField responses: '200': description: Subscribers /fb/subscriber/findBySystemField: get: tags: [Subscriber] summary: Find subscriber by email or phone (set one) operationId: findBySystemField parameters: - name: email in: query schema: type: string - name: phone in: query schema: type: string responses: '200': description: Subscriber /fb/subscriber/addTag: post: tags: [Subscriber] summary: Add a tag to a subscriber by tag ID operationId: addTag requestBody: required: true content: application/json: schema: type: object required: [subscriber_id, tag_id] properties: subscriber_id: type: integer tag_id: type: integer responses: '200': description: Tag added /fb/subscriber/addTagByName: post: tags: [Subscriber] summary: Add a tag to a subscriber by tag name operationId: addTagByName requestBody: required: true content: application/json: schema: type: object required: [subscriber_id, tag_name] properties: subscriber_id: type: integer tag_name: type: string responses: '200': description: Tag added /fb/subscriber/removeTag: post: tags: [Subscriber] summary: Remove a tag from a subscriber by tag ID operationId: removeSubscriberTag requestBody: required: true content: application/json: schema: type: object responses: '200': description: Tag removed /fb/subscriber/removeTagByName: post: tags: [Subscriber] summary: Remove a tag from a subscriber by tag name operationId: removeSubscriberTagByName requestBody: required: true content: application/json: schema: type: object responses: '200': description: Tag removed /fb/subscriber/setCustomField: post: tags: [Subscriber] summary: Set a custom field value by field ID operationId: setCustomField requestBody: required: true content: application/json: schema: type: object responses: '200': description: Updated /fb/subscriber/setCustomFields: post: tags: [Subscriber] summary: Set multiple custom field values operationId: setCustomFields requestBody: required: true content: application/json: schema: type: object responses: '200': description: Updated /fb/subscriber/setCustomFieldByName: post: tags: [Subscriber] summary: Set a custom field value by field name operationId: setCustomFieldByName requestBody: required: true content: application/json: schema: type: object responses: '200': description: Updated /fb/subscriber/verifyBySignedRequest: post: tags: [Subscriber] summary: Verify a subscriber from a Facebook signed_request payload operationId: verifyBySignedRequest requestBody: required: true content: application/json: schema: type: object responses: '200': description: Verified /fb/subscriber/createSubscriber: post: tags: [Subscriber] summary: Create a subscriber operationId: createSubscriber requestBody: required: true content: application/json: schema: type: object responses: '200': description: Subscriber /fb/subscriber/updateSubscriber: post: tags: [Subscriber] summary: Update a subscriber operationId: updateSubscriber requestBody: required: true content: application/json: schema: type: object responses: '200': description: Updated /user/template/generateSingleUseLink: post: tags: [Profile] summary: Generate a single-use link for a template (Profile API) operationId: generateTemplateSingleUseLink requestBody: required: true content: application/json: schema: type: object responses: '200': description: Single-use link components: securitySchemes: BearerAuth: type: http scheme: bearer description: 'Bearer token of the form `Bearer :` issued from the ManyChat dashboard.'