Hootsuite Comments API

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

Operations 3

GET /v1/comments/{commentId} Retrieve comment #
POST /v1/comments/{commentId}/approve Approve comment #
POST /v1/comments/{commentId}/reject Reject comment #

Documentation

Specifications

Other Resources

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/hootsuite-comments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

hootsuite-comments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: '![Run in Postman](https://app.getpostman.com/run-collection/eeda0fcdf55ea26bd0ec#?env%5BHootsuite%5D=W3sidHlwZSI6InRleHQiLCJlbmFibGVkIjp0cnVlLCJrZXkiOiJ1cmwiLCJ2YWx1ZSI6Imh0dHBzOi8vcGxhdGZvcm0uaG9vdHN1aXRlLmNvbSJ9LHsidHlwZSI6InRleHQiLCJlbmFibGVkIjp0cnVlLCJrZXkiOiJhdXRob3JpemF0aW9uX3VybCIsInZhbHVlIjoiaHR0cHM6Ly9wbGF0Zm9ybS5ob290c3VpdGUuY29tL29hdXRoMi9hdXRoIn0seyJ0eXBlIjoidGV4dCIsImVuYWJsZWQiOnRydWUsImtleSI6InRva2VuX3VybCIsInZhbHVlIjoiaHR0cHM6Ly9wbGF0Zm9ybS5ob290c3VpdGUuY29tL29hdXRoMi90b2tlbiJ9LHs…'
  version: '1.0'
  title: Hootsuite REST Comments API
  contact:
    email: dev.support@hootsuite.com
  license:
    name: Hootsuite Developer Terms and API License Agreement
    url: https://hootsuite.com/legal/dev-api-terms
servers:
- url: https://platform.hootsuite.com
security:
- OAuth2: []
tags:
- name: Comments
paths:
  /v1/comments/{commentId}:
    get:
      tags:
      - Comments
      operationId: retrieveComment
      summary: Retrieve comment
      description: Retrieves a comment if it's been through the approvals workflow.
      parameters:
      - $ref: '#/components/parameters/bearerToken'
      - name: commentId
        in: path
        description: The comment ID.
        required: true
        example: 4138476039
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/SocialProfileCommentResponseEnvelope'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ErrorsResponseEnvelope'
  /v1/comments/{commentId}/approve:
    post:
      tags:
      - Comments
      operationId: approveComment
      summary: Approve comment
      description: Approve a comment.
      parameters:
      - $ref: '#/components/parameters/bearerToken'
      - name: commentId
        in: path
        description: The comment ID.
        required: true
        example: 4138476039
        schema:
          type: string
      requestBody:
        content:
          application/json;charset=utf-8:
            schema:
              $ref: '#/components/schemas/ApproveCommentRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/EmptyDataEnvelope'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ErrorsResponseEnvelope'
  /v1/comments/{commentId}/reject:
    post:
      tags:
      - Comments
      operationId: rejectComment
      summary: Reject comment
      description: Reject a comment.
      parameters:
      - $ref: '#/components/parameters/bearerToken'
      - name: commentId
        in: path
        description: The comment ID.
        required: true
        example: 4138476039
        schema:
          type: string
      requestBody:
        content:
          application/json;charset=utf-8:
            schema:
              $ref: '#/components/schemas/RejectCommentRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/EmptyDataEnvelope'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ErrorsResponseEnvelope'
components:
  schemas:
    SocialProfileComment:
      type: object
      required:
      - id
      - reviewState
      properties:
        comment:
          type: string
          description: The comment text.
          example: This is an example comment.
        createdDate:
          type: string
          description: The time the message is scheduled to be sent in UTC time, [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format. Missing or different timezones will not be accepted, to ensure there is no ambiguity about scheduled time. Dates must end with "Z" to be accepted.
          example: 2019-01-24 00:51:33+00:00
        creatorId:
          type: string
          description: The author member ID.
          example: '12345'
        creatorName:
          type: string
          description: The author member name.
          example: Joe Smith
        id:
          type: string
          description: The comment ID.
          example: '4138476039'
        parentId:
          type: string
          description: The social network native ID of the parent post.
          example: 12612312312314
        parentType:
          type: string
          description: The parent content type.
          enum:
          - POST
          - COMMENT
        reviewState:
          type: string
          description: The comment's current review state.
          enum:
          - COMPLETED
          - DELETED
          - EXPIRED_APPROVAL
          - FAILED
          - PENDING_APPROVAL
          - REJECTED
        sequenceNumber:
          type: number
          description: The number representing which step in the approval process the message is on, or null if the comment is not subject to approval.
          example: 3
        socialProfileId:
          type: string
          description: The social profile that the comment will be published to.
          example: '12345'
    RejectCommentRequest:
      type: object
      required:
      - reason
      - sequenceNumber
      properties:
        reason:
          type: string
          description: The rejection reason to be displayed to the creator of the comment.
          example: Message contains profanity
        sequenceNumber:
          type: integer
          description: The sequence number of the comment being rejected.
          example: 11
        reviewerType:
          type: string
          description: 'The actor that will be rejecting the comment. Leaving this field empty will use "EXTERNAL" by default.


            Using "MEMBER" requires that you use a member token to reject a comment that is pending approval by that member.

            '
          enum:
          - EXTERNAL
          - MEMBER
    SocialProfileCommentResponseEnvelope:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/SocialProfileComment'
      description: The response data wrapper for a social profile comment
    Error:
      type: object
      properties:
        code:
          type: number
          description: An error code indicating the type of error that occurred.
          example: 1234
        message:
          type: string
          description: A description of error.
          example: An error message
        id:
          type: string
          description: A unique error id for tracing purposes
          example: f7d32670-4e6a-48c0-a2a7-87803536a712
        resource:
          type: object
          description: A reference to the resource in error
          title: ResourceReference
          properties:
            type:
              type: string
              description: The resource type.
              example: socialProfile
            id:
              type: string
              description: The resource ID.
              example: '7534653235'
    ErrorsResponseEnvelope:
      type: object
      properties:
        errors:
          type: array
          description: The errors response envelope.
          items:
            $ref: '#/components/schemas/Error'
    EmptyDataEnvelope:
      type: object
      properties:
        data:
          description: The data response envelope.
          type: object
    ApproveCommentRequest:
      type: object
      required:
      - sequenceNumber
      properties:
        sequenceNumber:
          type: integer
          description: The sequence number of the comment being approved.
          example: 11
        reviewerType:
          type: string
          description: 'The actor that will be approving the comment. Leaving this field empty will use "EXTERNAL" by default.


            Using "MEMBER" requires that you use a member token to approve a comment that is pending approval by that member.

            '
          enum:
          - EXTERNAL
          - MEMBER
  parameters:
    bearerToken:
      in: header
      name: Authorization
      description: A bearer token string used for authentication
      required: true
      schema:
        type: string
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://platform.hootsuite.com/oauth2/auth
          tokenUrl: https://platform.hootsuite.com/oauth2/token
          scopes:
            offline: Request refresh tokens
            analytics:read: Request analytics API access
    Basic_Auth:
      type: http
      scheme: basic
x-provenance:
  generated: '2026-08-13'
  method: searched
  source: https://apidocs.hootsuite.com/docs/api/swagger.yaml
  note: First-party Hootsuite REST API contract. Discovered from the ReDoc loader at https://platform.hootsuite.com/docs/api/index.html (spec-url ./swagger.yaml) and confirmed as the canonical service-desc link in Hootsuite's RFC 9727 API catalog at https://www.hootsuite.com/.well-known/api-catalog. Published as Swagger 2.0; converted to OpenAPI 3.0 with swagger2openapi 7 for this working copy. The verbatim Swagger 2.0 source is kept at openapi/_original/hootsuite-rest-api-swagger.yaml.
  ownership: host platform.hootsuite.com, info.title "Hootsuite REST API", contact dev.support@hootsuite.com - the contract identifies itself as Hootsuite's.