openapi: 3.2.0
info:
title: Welcome to the Respondology Post Results API
version: v1
description: "\n Respondology\n is an AI-powered platform that helps brands moderate, analyze, and activate conversations at\nscale. Our product enables teams to automatically identify and manage spam and brand-damaging comments while\nelevating meaningful audience interactions. Using advanced language and engagement analysis, the platform\nunderstands intent and context to support accurate, brand-safe moderation without relying on rigid rules or\nkeyword lists. Beyond moderation, Respondology delivers real-time analytics that reveal what audiences are\ntalking about, how conversations are evolving, and where engagement opportunities exist. Within seconds,\nbrands can uncover trends, measure sentiment, and gain actionable insight across high-volume comment streams.\nBuilt for fast-moving social and digital teams, Respondology brings moderation, insight, and activation\ntogether in one unified Comment Activation Platform—helping brands protect their presence and turn\nconversations into measurable impact.\n\n## Getting Started\n\nTo begin using Respondology, contact our team to set up your account and receive your API key and secret.\nDuring onboarding, you’ll also configure the endpoint where Respondology will deliver moderation and analysis\nresults. Respondology uses webhooks to send results asynchronously, so there’s no need to keep an open\nconnection while content is being processed. Once setup is complete, you can start submitting posts and\ncomments for moderation and analytics immediately. For fine-tuned control, moderation behavior can be\ncustomized in the\n\n Moderate\n asset settings panel. Your account manager can also help tailor configurations\nto align with your brand standards and specific use cases. Follow the endpoint guides below to start\nintegrating Respondology into your workflow or download the OpenAPI specification\n[here](swagger.json).\n"
servers:
- url: https://webhooks.respondology.io/
description: Production API server
tags:
- name: Post Results
description: 'Respondology delivers post analysis and recording results via webhook. To configure or update the endpoint
where result webhooks are sent, contact your account manager.
'
paths: {}
webhooks:
post_result:
post:
summary: Post result webhook
description: Payload sent to your endpoint when the post has been recorded.
tags:
- Post Results
parameters:
- name: X-Hub-Signature
in: header
required: true
schema:
type: string
example: 74dff3501a7e41a45c6381b7c20fd0ecb84cc54164af9b9c493aadb54d0ca5ca
description: 'A SHA-256 HMAC signature of the request body, created using your API key’s secret. You can use this header to verify that the webhook originated from Respondology and that its payload was not tampered with.
To verify, compute a SHA-256 HMAC using the raw request body in JSON format and the secret. If this matches the signature, the result is authentic.'
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- action
- post_id
- account_id
- screen_name
- title
- caption
- custom
- webhook_sending_initiated_at
- request_id
properties:
action:
type: string
example: recorded
description: Indicates the post has been recorded.
post_id:
type: string
example: '82520585537490124386'
description: The id of the processed post. This will match the `post_id` returned when the post was submitted.
account_id:
type: string
example: '93135838437690541987'
description: The id of the account the processed post is associated with.
screen_name:
type: string
example: johnsmith
description: The screen name of the creator of the processed post.
title:
type: string
example: This is a post title.
description: The title of the created post.
caption:
type: string
example: This is a post caption.
description: The caption of the created post.
custom:
type: object
additionalProperties: true
example:
key: value
description: The custom field included with the processed post during submission, for whatever tracking is required by your system.
webhook_sending_initiated_at:
type: string
format: date_time
description: The time at which sending the result was initiated, in UTC time and ISO 8601 format.
request_id:
type: string
example: 2025-10-27-bb6315110cc5477bef57c619
description: A unique id for the request that can be used for tracking and troubleshooting. This will match the `request_id` that was returned when the post was submitted.
example:
action: recorded
post_id: '82520585537490124386'
account_id: '93135838437690541987'
screen_name: johnsmith
title: This is a post title.
caption: This is a post caption.
custom:
key: value
webhook_sending_initiated_at: '2025-07-14T12:01:10Z'
request_id: 2025-10-27-bb6315110cc5477bef57c619
responses:
'200':
description: Your server should return a 200 OK result when it successfully processes the webhook. If a 200 OK result is not received, result sending will be retried for 72 hours with exponential backoff.
post_update_result:
post:
summary: Post update result webhook
description: Payload sent to your endpoint when the post has been updated.
tags:
- Post Results
parameters:
- name: X-Hub-Signature
in: header
required: true
schema:
type: string
example: 74dff3501a7e41a45c6381b7c20fd0ecb84cc54164af9b9c493aadb54d0ca5ca
description: 'A SHA-256 HMAC signature of the request body, created using your API key’s secret. You can use this header to verify that the webhook originated from Respondology and that its payload was not tampered with.
To verify, compute a SHA-256 HMAC using the raw request body in JSON format and the secret. If this matches the signature, the result is authentic.'
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- action
- post_id
- account_id
- screen_name
- title
- caption
- custom
- webhook_sending_initiated_at
- request_id
properties:
action:
type: string
example: recorded
description: Indicates the post update has been recorded.
post_id:
type: string
example: '82520585537490124386'
description: The id of the updated post. This will match the `post_id` submitted with the comment update information.
account_id:
type: string
example: '93135838437690541987'
description: The id of the account the updated post is associated with.
screen_name:
type: string
example: johnsmith
description: The screen name of the creator of the updated post.
title:
type: string
example: This is an updated post title.
description: The title of the updated post.
caption:
type: string
example: This is an updated post caption.
description: The caption of the updated post.
custom:
type: object
additionalProperties: true
example:
key: value
description: The custom field included with the updated post during submission, for whatever tracking is required by your system.
webhook_sending_initiated_at:
type: string
format: date_time
description: The time at which sending the result was initiated, in UTC time and ISO 8601 format.
request_id:
type: string
example: 2025-10-27-bb6315110cc5477bef57c619
description: A unique id for the request that can be used for tracking and troubleshooting. This will match the `request_id` that was returned when the post was submitted.
example:
action: recorded
post_id: '82520585537490124386'
account_id: '93135838437690541987'
screen_name: johnsmith
title: This is an updated post title.
caption: This is an updated post caption.
custom:
key: value
webhook_sending_initiated_at: '2025-07-14T12:01:10Z'
request_id: 2025-10-27-bb6315110cc5477bef57c619
responses:
'200':
description: Your server should return a 200 OK result when it successfully processes the webhook. If a 200 OK result is not received, result sending will be retried for 72 hours with exponential backoff.
post_error_result:
post:
summary: Post error result webhook
description: Payload sent to your endpoint when processing error occurs during processing for a submitted or updated post.
tags:
- Post Results
parameters:
- name: X-Hub-Signature
in: header
required: true
schema:
type: string
example: 74dff3501a7e41a45c6381b7c20fd0ecb84cc54164af9b9c493aadb54d0ca5ca
description: 'A SHA-256 HMAC signature of the request body, created using your API key’s secret. You can use this header to verify that the webhook originated from Respondology and that its payload was not tampered with.
To verify, compute a SHA-256 HMAC using the raw request body in JSON format and the secret. If this matches the signature, the result is authentic.'
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- action
- post_id
- account_id
- screen_name
- message
- post_title
- post_caption
- custom
- error
- request_id
properties:
action:
type: string
example: errored
description: Indicates the post submission or update request has errored.
post_id:
type: string
example: '82520585537490124386'
description: The id of the post that has caused the error. This will match the `post_id` returned when the post was submitted, or the `post_id` submitted with the post if it was being updated.
account_id:
type: string
example: '93135838437690541988'
description: The id of the account of the post that has caused the error.
screen_name:
type: string
example: johnsmith
description: The screen name of the creator of the post that has caused the error.
post_title:
type: string
example: This is an erroring post title.
description: The title of the post that has caused the error.
post_caption:
type: string
example: This is an erroring post caption.
description: The caption of the post that has caused the error.
custom:
type: object
additionalProperties: true
example:
key: value
description: The custom field included with the post during submission, for whatever tracking is required by your system.
error:
type: object
required:
- code
- message
- status
description: Detailed information about the error that has occurred.
properties:
message:
type: string
example: Please check your parameters
description: A message regarding the error, with suggested actions.
status:
type: string
example: BAD_REQUEST
description: The error status text.
code:
type: integer
example: 400
description: The error status code.
details:
type: array[string]
example: invalid account_id submitted
description: A list of error details in string array format.
request_id:
type: string
example: 2025-10-27-bb6315110cc5477bef57c619
description: A unique id for the request that can be used for tracking and troubleshooting. This will match the `request_id` that was returned when the post was submitted.
example:
action: errored
post_id: '82520585537490124386'
account_id: '93135838437690541988'
screen_name: johnsmith
post_title: This is an erroring post title.
post_caption: This is an erroring post caption.
custom:
key: value
error:
message: Please check your parameters
status: BAD_REQUEST
code: 400
details:
- invalid account_id submitted
request_id: 2025-10-27-bb6315110cc5477bef57c619
responses:
'200':
description: Your server should return a 200 OK result when it successfully processes the webhook. If a 200 OK result is not received, result sending will be retried for 72 hours with exponential backoff.
x-tagGroups:
- name: Comments
tags:
- Comments
- name: Comment Results
tags:
- Comment Results
- name: Moderation Reasons
tags:
- Moderation Reasons
- name: Posts
tags:
- Posts
- name: Post Results
tags:
- Post Results
- name: Changelog
tags:
- Changelog