Backfill AI ingestion for LinkedIn (internal)

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://docs.usehearsay.com/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "integrations MCP server": {
    "url": "https://docs.usehearsay.com/mcp"
  }
}

Close
POST /ai/admin/backfill/linkedin

Queues AI ingestion of LinkedIn data for the cases in caseIds, else every case of the organizations in organizationIds, else every active case when confirmUnrestricted is true (otherwise 500); an unrestricted run over more than 5 million items also needs force. Archived cases are skipped. dryRun only counts; force first clears existing embeddings in scope so they are rebuilt, even on a dry run. Super admins only.

application/json

Body Required

  • caseIds array[string]
  • organizationIds array[string]
  • dryRun boolean

    Default value is false.

  • confirmUnrestricted boolean

    Default value is false.

  • force boolean

    Default value is false.

Responses

  • 200 application/json
    Hide response attributes Show response attributes object
    • data object Required
      Hide data attributes Show data attributes object
      • casesScanned number
      • casesEnqueued number

        0 on a dry run.

      • estimatedMessageScope number
      • forced boolean
      • dryRun boolean
    • statusCode number Required
    • timestamp string(date-time) Required
POST /ai/admin/backfill/linkedin
curl \
 --request POST 'http://api.example.com/ai/admin/backfill/linkedin' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{
  "caseIds": [
    "string"
  ],
  "organizationIds": [
    "string"
  ],
  "dryRun": false,
  "confirmUnrestricted": false,
  "force": false
}'
Request examples
{
  "caseIds": [
    "string"
  ],
  "organizationIds": [
    "string"
  ],
  "dryRun": false,
  "confirmUnrestricted": false,
  "force": false
}
Response examples (200)
{
  "data": {
    "casesScanned": 12,
    "casesEnqueued": 12,
    "estimatedMessageScope": 48000,
    "forced": false,
    "dryRun": false
  },
  "statusCode": 200,
  "timestamp": "2026-01-15T10:15:00.000Z"
}