Breakreach Comments API

The Comments API from Breakreach — 3 operation(s) for comments.

Operations 3

GET /v1/comments Recent comments #
POST /v1/comments/reply Reply to a comment or a Google review #
DELETE /v1/comments/{commentId} Delete a comment or a review reply #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/breakreach-com:breakreach-com-comments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

breakreach-com-comments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Breakreach Comments API
  version: 1.1.0
  description: 'Publish and schedule social media posts across Instagram, TikTok, X (Twitter), Reddit, LinkedIn, YouTube, Facebook, Threads, Bluesky, Pinterest, Telegram, Discord, Slack, Mastodon, WordPress, Ghost, Dev.to, Hashnode, Tumblr and Google Business Profile with one request shape.


    Authenticate with an API key (create one in the Breakreach dashboard under Settings → API & MCP) sent as a Bearer token. Errors answer with an HTTP status and a JSON body { "error": "" }.


    Every POST accepts an Idempotency-Key header: any unique string up to 255 characters, a UUID for instance. Retrying with the same key and the same body within 24 hours returns the first response, marked Idempotent-Replayed: true, instead of creating a second post. The same key with a different body answers 422, and 409 while the first request is still running. Errors are not kept, so a fixed request can reuse its key. Keys belong to the API key that sent them.


    AI agents can use the same capabilities through the hosted MCP server at https://api.breakreach.com/mcp (OAuth 2.1).'
servers:
- url: https://api.breakreach.com
security:
- bearerAuth: []
tags:
- name: Comments
paths:
  /v1/comments:
    get:
      summary: Recent comments
      description: 'Comments on the latest 10 posts of every connected Instagram, Facebook and Threads account, including posts not published with Breakreach, plus replies to X posts published with Breakreach, plus the latest 50 reviews of every Google Business Profile location (platform googlebusiness, each review a comment with its rating and the business''s reply nested under it). Newest first. Each comment carries the accountId and platform needed to reply. Google only shows reviews of verified locations: an unverified one is listed in errors. YouTube is not listed yet: its comments need a restricted Google permission (youtube.force-ssl) that is not available to every account.'
      operationId: listRecentComments
      parameters:
      - name: platform
        in: query
        schema:
          type: string
          enum:
          - instagram
          - facebook
          - threads
          - x
          - googlebusiness
      - name: accountId
        in: query
        schema:
          type: string
      - name: workspace
        in: query
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  comments:
                    type: array
                    items:
                      $ref: '#/components/schemas/Comment'
                  errors:
                    type: array
                    description: Accounts that couldn't be read, with the reason; reconnect is true when reconnecting the account fixes it
                    items:
                      type: object
                      properties:
                        accountId:
                          type: string
                        platform:
                          type: string
                        displayName:
                          type: string
                        error:
                          type: string
                        reconnect:
                          type: boolean
                  ratings:
                    type: array
                    description: Each Google Business Profile location's score
                    items:
                      type: object
                      properties:
                        accountId:
                          type: string
                        accountDisplayName:
                          type: string
                        averageRating:
                          type:
                          - number
                          - 'null'
                        totalReviewCount:
                          type: integer
        '400':
          description: Unsupported platform or invalid accountId
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          description: Workspace not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Comments
  /v1/comments/reply:
    post:
      summary: Reply to a comment or a Google review
      description: 'Replies to a comment on a published post. Supported: Instagram, Facebook, Threads, X, and Google Business Profile reviews (platform googlebusiness, commentId = the review id). A Google review takes one reply from the business, so replying again replaces it; replies take up to 4,096 bytes, only work on verified locations, and Google moderates them (status pending until approved). YouTube is not listed yet: its comments need a restricted Google permission (youtube.force-ssl) that is not available to every account.'
      operationId: replyToComment
      parameters:
      - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - accountId
              - platform
              - commentId
              - message
              properties:
                accountId:
                  type: string
                platform:
                  type: string
                  enum:
                  - instagram
                  - facebook
                  - threads
                  - x
                  - googlebusiness
                commentId:
                  type: string
                message:
                  type: string
                  description: 'Google reviews: up to 4,096 bytes'
                workspace:
                  type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  replyId:
                    type: string
                  status:
                    type: string
                    enum:
                    - pending
                    - approved
                    description: 'Google reviews: pending while Google moderates the reply'
        '400':
          description: Missing field, unsupported platform, or a Google review reply over 4,096 bytes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          description: Account, review or workspace not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          $ref: '#/components/responses/IdempotencyRunning'
        '422':
          $ref: '#/components/responses/IdempotencyMismatch'
        '502':
          description: 'The platform rejected the reply, and why (for Google: unverified location, or a content policy reason; for Threads: Meta hasn''t given Breakreach access to replies yet, or the connection expired)'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Comments
  /v1/comments/{commentId}:
    delete:
      summary: Delete a comment or a review reply
      description: 'Permanently deletes a comment. Supported: Instagram, Facebook, and Google Business Profile where it deletes the business''s reply to a review (commentId = the review id; Google doesn''t let a business delete reviews).'
      operationId: deleteComment
      parameters:
      - name: commentId
        in: path
        required: true
        schema:
          type: string
      - name: accountId
        in: query
        required: true
        schema:
          type: string
      - name: platform
        in: query
        required: true
        schema:
          type: string
          enum:
          - instagram
          - facebook
          - googlebusiness
      - name: workspace
        in: query
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
        '400':
          description: Unsupported platform
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          description: Account, review or workspace not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '502':
          description: The platform rejected the request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Comments
components:
  schemas:
    Comment:
      type: object
      description: 'A comment, or a Google review (platform googlebusiness: postId is the location, rating the stars, replies the business''s reply)'
      properties:
        id:
          type: string
          description: Pass as commentId to reply or delete. For a Google review, the review id
        platform:
          type: string
        postId:
          type: string
          description: The platform post id, or the Google location (accounts/{a}/locations/{l})
        text:
          type: string
          description: Empty for a Google review with stars only
        username:
          type: string
        avatarUrl:
          type: string
          format: uri
        timestamp:
          type: string
          format: date-time
        likeCount:
          type: number
        hidden:
          type: boolean
        rating:
          type: integer
          minimum: 1
          maximum: 5
          description: 'Google reviews: the star rating'
        status:
          type: string
          enum:
          - pending
          - approved
          - rejected
          description: 'The business''s reply to a Google review: Google''s moderation status'
        policyViolation:
          type: string
          description: Why Google rejected the reply, e.g. HARASSMENT
        replies:
          type: array
          items:
            $ref: '#/components/schemas/Comment'
        postContent:
          type: string
        postUrl:
          type: string
          format: uri
        postImage:
          type: string
          format: uri
        accountId:
          type: string
        accountDisplayName:
          type: string
    Error:
      type: object
      required:
      - error
      properties:
        error:
          type: string
          description: Human-readable reason
  responses:
    Unauthorized:
      description: Missing, invalid or expired API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    IdempotencyRunning:
      description: 'A request with this Idempotency-Key is still running: retry after Retry-After seconds to get its response'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    PaymentRequired:
      description: No active Breakreach subscription or trial
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    IdempotencyMismatch:
      description: This Idempotency-Key was already used with a different request in the last 24 hours
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: Not a member of the requested workspace
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    IdempotencyKey:
      name: Idempotency-Key
      in: header
      required: false
      schema:
        type: string
        minLength: 1
        maxLength: 255
      description: 'A unique string for this request, e.g. a UUID. A retry with the same key and body within 24 hours returns the first response (with the header Idempotent-Replayed: true) instead of running again. Printable ASCII, no spaces.'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key from the Breakreach dashboard (br_...) or an OAuth access token (bro_...)