RecoupGet a Free AuditFree Audit

API REFERENCE

List Coding Agent Slack Tags (Admin)

On this page
GET/api/admins/coding/slack

Returns a list of Slack mentions of the Recoup Coding Agent bot, pulled directly from the Slack API as the source of truth. Each entry includes the tagger's information, the prompt they sent, the timestamp, the channel, and any GitHub pull request URLs opened in response. Also returns aggregate pull request statistics. Supports optional time-period filtering. Requires the authenticated account to be a Recoup admin. Authentication via x-api-key or Authorization Bearer token.

Authentication

x-api-key in header

bearerAuth bearer

Request

cURL
curl --request GET \
  --url 'https://api.recoupable.dev/api/admins/coding/slack' \
  --header 'x-api-key: YOUR_API_KEY'

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

Parameters

Query parameters

periodstring · enum

Time period to filter tags. One of: all (no date filter), daily (last 24 hours), weekly (last 7 days), monthly (last 30 days). Defaults to all.

Values: "all", "daily", "weekly", "monthly"

Default: "all"

Responses

200Slack tag analytics retrieved successfully

application/json

statusstring · enumrequired

Status of the request

Values: "success"

totalintegerrequired

Total number of times the Coding Agent was tagged in the requested period

total_pull_requestsintegerrequired

Total number of pull requests opened by the Coding Agent across all tags in the requested period

tags_with_pull_requestsintegerrequired

Number of tags that resulted in at least one pull request being opened

tagsarray<object>required

List of Slack tag events

Item properties for tags
user_idstringrequired

Slack ID of the person who tagged the agent

user_namestringrequired

Display name of the person who tagged the agent

user_avatarstring | null

URL of the Slack avatar

promptstringrequired

The text of the message sent to the agent

timestampstringrequired

ISO 8601 timestamp of the tag event

format: date-time

channel_idstringrequired

Slack channel ID where the tag occurred

channel_namestringrequired

Human-readable name of the Slack channel

pull_requestsarray<string>

GitHub pull request URLs opened by the Coding Agent in response to this prompt, parsed from bot replies in the Slack thread

Item properties for pull_requests

string

401Unauthorized - missing or invalid credentials

application/json

statusstring · enumrequired

Status of the request

Values: "error"

messagestringrequired

Error message describing what went wrong

403Forbidden - authenticated account is not a Recoup admin

application/json

statusstring · enumrequired

Status of the request

Values: "error"

messagestringrequired

Error message describing what went wrong

500Internal server error

application/json

statusstring · enumrequired

Status of the request

Values: "error"

messagestringrequired

Error message describing what went wrong

Full specification

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

Download accounts.json
View operation source
json
{
  "description": "Returns a list of Slack mentions of the Recoup Coding Agent bot, pulled directly from the Slack API as the source of truth. Each entry includes the tagger's information, the prompt they sent, the timestamp, the channel, and any GitHub pull request URLs opened in response. Also returns aggregate pull request statistics. Supports optional time-period filtering. Requires the authenticated account to be a Recoup admin. Authentication via x-api-key or Authorization Bearer token.",
  "parameters": [
    {
      "name": "period",
      "in": "query",
      "description": "Time period to filter tags. One of: all (no date filter), daily (last 24 hours), weekly (last 7 days), monthly (last 30 days). Defaults to all.",
      "required": false,
      "schema": {
        "type": "string",
        "enum": [
          "all",
          "daily",
          "weekly",
          "monthly"
        ],
        "default": "all"
      }
    }
  ],
  "security": [
    {
      "apiKeyAuth": []
    },
    {
      "bearerAuth": []
    }
  ],
  "responses": {
    "200": {
      "description": "Slack tag analytics retrieved successfully",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "total",
              "total_pull_requests",
              "tags_with_pull_requests",
              "tags"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "success"
                ],
                "description": "Status of the request"
              },
              "total": {
                "type": "integer",
                "description": "Total number of times the Coding Agent was tagged in the requested period",
                "example": 134
              },
              "total_pull_requests": {
                "type": "integer",
                "description": "Total number of pull requests opened by the Coding Agent across all tags in the requested period",
                "example": 121
              },
              "tags_with_pull_requests": {
                "type": "integer",
                "description": "Number of tags that resulted in at least one pull request being opened",
                "example": 84
              },
              "tags": {
                "type": "array",
                "description": "List of Slack tag events",
                "items": {
                  "type": "object",
                  "required": [
                    "user_id",
                    "user_name",
                    "prompt",
                    "timestamp",
                    "channel_id",
                    "channel_name"
                  ],
                  "properties": {
                    "user_id": {
                      "type": "string",
                      "description": "Slack ID of the person who tagged the agent",
                      "example": "U012AB3CD"
                    },
                    "user_name": {
                      "type": "string",
                      "description": "Display name of the person who tagged the agent",
                      "example": "Jane Smith"
                    },
                    "user_avatar": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "URL of the Slack avatar",
                      "example": "https://avatars.slack-edge.com/..."
                    },
                    "prompt": {
                      "type": "string",
                      "description": "The text of the message sent to the agent",
                      "example": "add dark mode support to the settings page"
                    },
                    "timestamp": {
                      "type": "string",
                      "format": "date-time",
                      "description": "ISO 8601 timestamp of the tag event",
                      "example": "2024-01-15T10:30:00.000Z"
                    },
                    "channel_id": {
                      "type": "string",
                      "description": "Slack channel ID where the tag occurred",
                      "example": "C012AB3CD"
                    },
                    "channel_name": {
                      "type": "string",
                      "description": "Human-readable name of the Slack channel",
                      "example": "dev-team"
                    },
                    "pull_requests": {
                      "type": "array",
                      "description": "GitHub pull request URLs opened by the Coding Agent in response to this prompt, parsed from bot replies in the Slack thread",
                      "items": {
                        "type": "string",
                        "format": "uri",
                        "example": "https://github.com/recoupable/api/pull/42"
                      },
                      "example": [
                        "https://github.com/recoupable/api/pull/42"
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "401": {
      "description": "Unauthorized - missing or invalid credentials",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/AccountErrorResponse"
          }
        }
      }
    },
    "403": {
      "description": "Forbidden - authenticated account is not a Recoup admin",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/AccountErrorResponse"
          }
        }
      }
    },
    "500": {
      "description": "Internal server error",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/AccountErrorResponse"
          }
        }
      }
    }
  }
}