Search loads only when you use it. Browse all categories below.

MCP tool

Prepare community action

sosoapi_prepare_community_action

Bind a review version to one action (reply, hide or unhide) and get a short-lived prepare_token for sosoapi_apply_community_action. Sends nothing yet.

Read as Markdown

Profiles and transports

Profiles: full · Transports: stdio, http

Choose core or full to control which tools your client sees; this does not change its permissions. Local file upload requires stdio and is unavailable over HTTP. Set SOSOAPI_OUTPUT_SCHEMAS=1 to include output schemas in discovery. Tools return structured results with or without that setting.

Permissions and side effects

Annotations help clients describe a tool. Each call still checks the user’s authentication, role, resource access and capability grants.

{
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}

Input fields

Required means required inside its parent object and selected branch. A required child does not make an optional parent required. Rules and field names below are copied from the contract.

Input fields
Field / branchType / requiredConstraints
$objectRequired in parent
  • additionalProperties: false
workspace_idstringRequired in parent
  • format: "uuid"
review_idstringRequired in parent
  • format: "uuid"
expected_review_versionintegerRequired in parent
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
actionstringRequired in parent
  • enum: ["reply","hide","unhide"]
reply_draftstringOptional / item
  • minLength: 1
  • maxLength: 2000
idempotency_keystringRequired in parent
  • format: "uuid"
Complete JSON Schema
{
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid"
    },
    "review_id": {
      "type": "string",
      "format": "uuid"
    },
    "expected_review_version": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "action": {
      "type": "string",
      "enum": [
        "reply",
        "hide",
        "unhide"
      ]
    },
    "reply_draft": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2000
    },
    "idempotency_key": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "workspace_id",
    "review_id",
    "expected_review_version",
    "action",
    "idempotency_key"
  ],
  "additionalProperties": false
}

Structured output

This schema describes structuredContent in a successful tool result. The MCP response also includes content and may set isError when a call fails. For publishing, read the post’s final result rather than treating an accepted request or text response as confirmation. The linked API operation explains permissions and retry rules.

Required means required inside its parent object and selected branch. A required child does not make an optional parent required. Rules and field names below are copied from the contract.

Structured output
Field / branchType / requiredConstraints
$objectRequired in parent
  • additionalProperties: false
contract_versionstringRequired in parent
  • const: "community-engagement/v1"
preparedobjectRequired in parent
  • additionalProperties: false
prepared.prepare_tokenstringRequired in parent
  • format: "uuid"
prepared.expires_atstringRequired in parent
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
prepared.bindingobjectRequired in parent
  • additionalProperties: false
prepared.binding.workspace_idstringRequired in parent
  • format: "uuid"
prepared.binding.social_account_idstringRequired in parent
  • format: "uuid"
prepared.binding.social_post_idstringRequired in parent
  • format: "uuid"
prepared.binding.social_comment_idstringRequired in parent
  • format: "uuid"
prepared.binding.platformstringRequired in parent
  • enum: ["facebook","instagram","threads","youtube"]
prepared.binding.provider_post_idstringRequired in parent
  • minLength: 1
  • maxLength: 512
prepared.binding.provider_comment_idstringRequired in parent
  • minLength: 1
  • maxLength: 512
prepared.binding.actionstringRequired in parent
  • enum: ["reply","hide","unhide"]
prepared.binding.desired_hiddenboolean | nullRequired in parent—
prepared.binding.desired_hiddenanyOf 1booleanRequired in parent—
prepared.binding.desired_hiddenanyOf 2nullRequired in parent—
prepared.binding.draft_sha256stringRequired in parent
  • pattern: "^[a-f0-9]{64}$"
prepared.binding.idempotency_keystringRequired in parent
  • format: "uuid"
Complete JSON Schema
{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string",
      "const": "community-engagement/v1"
    },
    "prepared": {
      "type": "object",
      "properties": {
        "prepare_token": {
          "type": "string",
          "format": "uuid"
        },
        "expires_at": {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "binding": {
          "type": "object",
          "properties": {
            "workspace_id": {
              "type": "string",
              "format": "uuid"
            },
            "social_account_id": {
              "type": "string",
              "format": "uuid"
            },
            "social_post_id": {
              "type": "string",
              "format": "uuid"
            },
            "social_comment_id": {
              "type": "string",
              "format": "uuid"
            },
            "platform": {
              "type": "string",
              "enum": [
                "facebook",
                "instagram",
                "threads",
                "youtube"
              ]
            },
            "provider_post_id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 512
            },
            "provider_comment_id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 512
            },
            "action": {
              "type": "string",
              "enum": [
                "reply",
                "hide",
                "unhide"
              ]
            },
            "desired_hidden": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ]
            },
            "draft_sha256": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            },
            "idempotency_key": {
              "type": "string",
              "format": "uuid"
            }
          },
          "required": [
            "workspace_id",
            "social_account_id",
            "social_post_id",
            "social_comment_id",
            "platform",
            "provider_post_id",
            "provider_comment_id",
            "action",
            "desired_hidden",
            "draft_sha256",
            "idempotency_key"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "prepare_token",
        "expires_at",
        "binding"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "contract_version",
    "prepared"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Example tool call

These examples use fictional values checked against the schemas. Replace the IDs with ones you are authorized to use, the media with ready assets and the dates with your confirmed publishing time. Check the account’s eligibility before submitting a write. This page sends no API requests.

{
  "name": "sosoapi_prepare_community_action",
  "arguments": {
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "review_id": "11111111-1111-4111-8111-111111111111",
    "expected_review_version": 1,
    "action": "reply",
    "idempotency_key": "11111111-1111-4111-8111-111111111111",
    "reply_draft": "Thank you for the feedback. Our team will follow up."
  }
}

structuredContent

{
  "contract_version": "community-engagement/v1",
  "prepared": {
    "prepare_token": "11111111-1111-4111-8111-111111111111",
    "expires_at": "2099-01-15T09:00:00Z",
    "binding": {
      "workspace_id": "11111111-1111-4111-8111-111111111111",
      "social_account_id": "11111111-1111-4111-8111-111111111111",
      "social_post_id": "11111111-1111-4111-8111-111111111111",
      "social_comment_id": "11111111-1111-4111-8111-111111111111",
      "platform": "facebook",
      "provider_post_id": "example",
      "provider_comment_id": "example",
      "action": "reply",
      "desired_hidden": null,
      "draft_sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
      "idempotency_key": "11111111-1111-4111-8111-111111111111"
    }
  }
}
Install or connect MCP