Post a conversation upload status to Slack (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 /extraction/notifications/conversation-uploads

Desktop plumbing: posts a conversation upload status (message, conversation count, app version and device) to the internal Slack thread of the device's backup, and saves it, with any message selection report, as a notification record. Returns the Slack message ts; data is null or missing when the post failed.

application/json

Body Required

  • messageSelectionReport object
    Hide messageSelectionReport attributes Show messageSelectionReport attributes object
    • version number Required
    • uploadAttemptId string Required
    • phase object Required
    • platformImportAccepted boolean Required
    • coverage string Required
    • eligibleScope string Required
    • conversations array[object] Required
      Hide conversations attributes Show conversations attributes object
      • app string Required

        Values are message, whatsapp, voicemail, call_log, facebook_dump, instagram_dump, or threads_dump.

      • conversationId number Required
      • mode string Required
      • selectedMessageCount number Required
      • eligibleMessageCount number | null Required
      • includedMessageCount number Required
      • omittedEligibleMessageCount number | null Required
      • selectedNotIncludedCount number Required
      • totalMessageCount number | null
  • deviceId string Required
  • deviceType string Required

    Values are unknown, android, ios, facebook_dump, instagram_dump, threads_dump, or email.

  • extractionCode string Required
  • appVersion string Required
  • noOfConversations number Required
  • message string Required
  • threadTs string

Responses

  • 201 application/json
    Hide response attributes Show response attributes object
    • data object Required
      Hide data attribute Show data attribute object
      • ts string Required
    • statusCode number Required
    • timestamp string(date-time) Required
POST /extraction/notifications/conversation-uploads
curl \
 --request POST 'http://api.example.com/extraction/notifications/conversation-uploads' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{
  "messageSelectionReport": {
    "version": 42.0,
    "uploadAttemptId": "string",
    "phase": {},
    "platformImportAccepted": true,
    "coverage": "string",
    "eligibleScope": "string",
    "conversations": [
      {
        "app": "message",
        "conversationId": 42.0,
        "mode": "string",
        "selectedMessageCount": 42.0,
        "eligibleMessageCount": 42.0,
        "includedMessageCount": 42.0,
        "omittedEligibleMessageCount": 42.0,
        "selectedNotIncludedCount": 42.0,
        "totalMessageCount": 42.0
      }
    ]
  },
  "deviceId": "string",
  "deviceType": "unknown",
  "extractionCode": "string",
  "appVersion": "string",
  "noOfConversations": 42.0,
  "message": "string",
  "threadTs": "string"
}'
Request examples
{
  "messageSelectionReport": {
    "version": 42.0,
    "uploadAttemptId": "string",
    "phase": {},
    "platformImportAccepted": true,
    "coverage": "string",
    "eligibleScope": "string",
    "conversations": [
      {
        "app": "message",
        "conversationId": 42.0,
        "mode": "string",
        "selectedMessageCount": 42.0,
        "eligibleMessageCount": 42.0,
        "includedMessageCount": 42.0,
        "omittedEligibleMessageCount": 42.0,
        "selectedNotIncludedCount": 42.0,
        "totalMessageCount": 42.0
      }
    ]
  },
  "deviceId": "string",
  "deviceType": "unknown",
  "extractionCode": "string",
  "appVersion": "string",
  "noOfConversations": 42.0,
  "message": "string",
  "threadTs": "string"
}
Response examples (201)
{
  "data": {
    "ts": "1700000000.000100"
  },
  "statusCode": 201,
  "timestamp": "2026-01-15T10:15:00.000Z"
}