RecoupGet a free auditFree audit

API REFERENCE

Slack Webhook

On this page
POST/api/content-agent/{platform}

Webhook endpoint for the Recoup Content Agent Slack bot. Receives @mention events from Slack and triggers content generation for the mentioned artist. The bot parses the mention text for <artist_account_id> [template] [batch=N] [lipsync], validates the artist, calls POST /api/content/create, and starts a background polling task that reports results back to the Slack thread.

For Slack, also handles url_verification challenges during app setup.

Authentication

See the authentication guide for API key and account access requirements.

Request

cURL
curl --request POST \
  --url 'https://api.recoupable.dev/api/content-agent/YOUR_PLATFORM' \
  --header 'x-api-key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{}'

Replace the YOUR_ placeholders with your values. Required query parameters are included; optional parameters are listed below.

Try it

Fill in the fields, send the request from your browser, and read the live response. The curl below updates as you type.

Kept in this browser tab only and cleared when it closes.

cURL for this request
curl --request POST \
  --url 'https://recoup-api.vercel.app/api/content-agent/{platform}' \
  --header 'Content-Type: application/json' \
  --data '{}'

Parameters

Path parameters

platformstring · enumrequired

Chat platform identifier. Currently supports slack.

Values: "slack"

Request body required

Slack Events API payload (app_mention event or url_verification challenge)

application/json

object

Responses

200Event processed successfully

application/json

okboolean
404Unknown platform

No response body schema is specified.

Full specification

Download the OpenAPI file for complete schemas, constraints, and examples.

Download content.json
View operation source
json
{
  "description": "Webhook endpoint for the Recoup Content Agent Slack bot. Receives @mention events from Slack and triggers content generation for the mentioned artist. The bot parses the mention text for `<artist_account_id> [template] [batch=N] [lipsync]`, validates the artist, calls POST /api/content/create, and starts a background polling task that reports results back to the Slack thread.\n\nFor Slack, also handles `url_verification` challenges during app setup.",
  "parameters": [
    {
      "name": "platform",
      "in": "path",
      "description": "Chat platform identifier. Currently supports `slack`.",
      "required": true,
      "schema": {
        "type": "string",
        "enum": [
          "slack"
        ]
      }
    }
  ],
  "requestBody": {
    "description": "Slack Events API payload (app_mention event or url_verification challenge)",
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "description": "Slack Events API envelope — the shape depends on the event type"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Event processed successfully",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "ok": {
                "type": "boolean"
              }
            }
          }
        }
      }
    },
    "404": {
      "description": "Unknown platform"
    }
  }
}