Agorapulse Webhooks API

The webhook surface of the Agorapulse API — the OpenAPI 3.1 top-level webhooks object carrying the PUBLISHING_POST and INBOX_ITEM events, their payload schemas and the X-Hook-Signature HMAC scheme. Carries no request operations of its own.

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/agorapulse-agorapulse-api-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

agorapulse-agorapulse-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Agorapulse API
  description: "# Agorapulse API\n\nWelcome to the Agorapulse API. Use it to manage publishing, social inbox conversations, analytics and your content library programmatically.\n\nThe API is organized around REST, uses resource-oriented URLs, returns JSON, and relies on standard HTTP response codes and verbs.\n\n## Base URL\n\nAll requests go to the base URL shown in the **Server** selector, and every endpoint is versioned under a `/v1.0/` prefix.\n\n## Authentication\n\nThe API authenticates requests with an **API key** sent in the `X-API-KEY` HTTP header. Every request must include it:\n\n```http\nGET /v1.0/core/organizations HTTP/1.1\nHost: api.agorapulse.com\nX-API-KEY: your-api-key\n```\n\n```bash\ncurl https://api.agorapulse.com/v1.0/core/organizations \\\n  -H \"X-API-KEY: your-api-key\"\n```\n\nKeep your API key secret: it grants access to your account's data. Requests without a valid key return `401 Unauthorized`.\n\n## Resource hierarchy\n\nMost resources are nested under an organization and a workspace:\n\n```\n/v1.0/<domain>/organizations/{organizationId}/workspaces/{workspaceId}/...\n```\n\nStart from `GET /v1.0/core/organizations` to discover your organizations, then list their workspaces and profiles.\n\n## Errors\n\nThe API uses conventional HTTP status codes: `2xx` for success, `4xx` for client errors (a missing or invalid parameter, an unknown resource, a missing API key), and `5xx` for server errors.\n\nError responses carry a JSON body describing the problem, except for `405`, `406` and `415`, which answer with a status only:\n\n```json\n{\n  \"code\": 1005,\n  \"subCode\": 1104,\n  \"message\": \"Media not found: pubmedia_abc123\"\n}\n```\n\n`code` identifies the error family: either a global one (`1` internal, `2` unauthorized, `3` rate limit exceeded, `4` unprocessable input, `5` validation failed), or the component that produced the error. That component is usually the feature you addressed, but not always — a request whose path matches no endpoint is rejected by the API gateway itself and carries the gateway's own code, `1013`, whichever feature the path pointed at. `subCode` is optional and, when present, pinpoints the exact cause within that component; the endpoints that return one document its values. `message` is a human-readable explanation and is not meant to be parsed.\n\n## Webhooks\n\nAgorapulse can push events to your endpoints. See the **Webhooks** section for the available events (for example `PUBLISHING_POST` and `INBOX_ITEM`) and their payloads.\n"
  version: '1.0'
  contact:
    name: Agorapulse API Support
    url: https://www.agorapulse.com
    email: support@agorapulse.com
  x-logo:
    url: docs/img/logo.svg
    altText: Agorapulse
servers:
- url: https://api.agorapulse.com
  description: Production
security:
- bearerAuth: []
tags:
- name: Agorapulse API
paths: {}
webhooks:
  PUBLISHING_POST:
    post:
      requestBody:
        description: Events related to the publishing of a post
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublishingPostEvent'
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully
        '410':
          description: Return a 410 status to indicate that the endpoint is no longer active, it will automatically disable the subscription
      tags:
      - Agorapulse API
  INBOX_ITEM:
    post:
      requestBody:
        description: Events related to the life cycle of inbox items
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InboxItemEvent'
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully
        '410':
          description: Return a 410 status to indicate that the endpoint is no longer active, it will automatically disable the subscription
      tags:
      - Agorapulse API
components:
  schemas:
    InboxItemEvent:
      type: object
      properties:
        uid:
          type: string
          description: Unique identifier for the event
        type:
          $ref: '#/components/schemas/InboxItemEventType'
          description: The event type
        action:
          $ref: '#/components/schemas/InboxItemAction'
          description: The action
        organizationId:
          type: integer
          format: int64
          description: Unique identifier for the organization
        timestamp:
          type: string
          format: date-time
          description: Timestamp of the event
        payload:
          $ref: '#/components/schemas/InboxItem'
          description: The payload containing the inbox item information
    InboxItemAction:
      type: string
      enum:
      - CREATED
      - CLASSIFIED
      - LABELIZED
    PublishingPostEvent:
      type: object
      properties:
        uid:
          type: string
          description: Unique identifier for the event
        type:
          $ref: '#/components/schemas/PublishingPostEventType'
          description: The event type
        action:
          $ref: '#/components/schemas/PostAction'
          description: The action
        organizationId:
          type: integer
          format: int64
          description: Unique identifier for the organization
        timestamp:
          type: string
          format: date-time
          description: Timestamp of the event
        payload:
          $ref: '#/components/schemas/PublishingPost'
          description: The payload containing the post information
    InboxItemCreator:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the user on social network
        name:
          type: string
          description: Name of the user
    PostStatus1:
      type: string
      enum:
      - PUBLISHED
      - FAILED
    InboxItemSentiment:
      type: string
      enum:
      - POSITIVE
      - NEGATIVE
      - NEUTRAL
    InboxItemEventType:
      type: string
      enum:
      - INBOX_ITEM
    InboxItem:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the inbox item
        parentId:
          type: string
          description: Identifier of the parent item if applicable
        workspaceId:
          type: integer
          format: int64
          description: Unique identifier for the workspace
        profile:
          $ref: '#/components/schemas/Profile1'
          description: The social network profile associated with the item
        agorapulseLink:
          type: string
          description: Link to the inbox item in Agorapulse application
        networkLink:
          type: string
          description: Link to the inbox item in the social network
        text:
          type: string
          description: Text content of the inbox item
        creationDate:
          type: string
          format: date-time
          description: Creation date of the inbox item
        type:
          $ref: '#/components/schemas/InboxItemType'
          description: Type of the inbox item
        creator:
          $ref: '#/components/schemas/InboxItemCreator'
          description: The user who created the inbox item
        labels:
          type: array
          items: string
          description: Labels associated with the item
        addedLabels:
          type: array
          items: string
          description: Labels added to the item during this event
        sentiment:
          $ref: '#/components/schemas/InboxItemSentiment'
          description: Sentiment of the inbox item
    User:
      type: object
      properties:
        uid:
          type: string
          description: Unique identifier for the user
        name:
          type: string
          description: Name of the user
        email:
          type: string
          format: email
          description: Email address of the user
    PostAction:
      type: string
      enum:
      - PUBLISHED
      - FAILED
    InboxItemType:
      type: string
      enum:
      - PRIVATE_MESSAGE
      - CONVERSATION
      - COMMENT
      - POST
    Network:
      type: string
      enum:
      - BLUESKY
      - FACEBOOK
      - GOOGLE
      - INSTAGRAM
      - LINKEDIN
      - PINTEREST
      - THREADS
      - TIKTOK
      - TWITTER
      - YOUTUBE
    PublishingPostEventType:
      type: string
      enum:
      - PUBLISHING_POST
    PublishingPost:
      type: object
      properties:
        actor:
          $ref: '#/components/schemas/User'
          description: The user who performed the action
        post:
          $ref: '#/components/schemas/Post'
          description: The post information
    Profile1:
      type: object
      properties:
        uid:
          type: string
          description: Unique identifier for the profile
        name:
          type: string
          description: Name of the profile
        network:
          $ref: '#/components/schemas/Network'
          description: The social network of the profile
    Post:
      type: object
      properties:
        uid:
          type: string
          description: Unique identifier for the post
        agorapulseLink:
          type: string
          description: Link to the post in Agorapulse application
        networkLink:
          type: string
          description: Link to the post in the social network
        publishDate:
          type: string
          format: date-time
          description: Publish date of the post
        groupUid:
          type: string
          description: Unique identifier for the group of posts if applicable
        profile:
          $ref: '#/components/schemas/Profile1'
          description: The social network profile associated with the post
        status:
          $ref: '#/components/schemas/PostStatus1'
          description: Status of the post
  securitySchemes:
    bearerAuth:
      type: apiKey
      name: X-API-KEY
      in: header
    HookSignature:
      description: 'The signature of the webhook request, used to verify the authenticity of the request.

        The signature is a SHA256 HMAC signature computed on the request body using the shared secret from your webhook subscription.

        '
      type: apiKey
      name: X-Hook-Signature
      in: header
x-tagGroups:
- name: Account & Workspaces
  tags:
  - Organizations
  - Workspaces
  - Profiles
  - Groups
- name: Publishing
  tags:
  - Drafts
  - Calendar notes
  - Pinterest boards
- name: Content Library
  tags:
  - Media
- name: Inbox & Engagement
  tags:
  - Conversations
  - Items
  - Replies
- name: Analytics & Reporting
  tags:
  - Reports
- name: System
  tags:
  - Health