Report a device backup update (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/device/backup-update

Desktop plumbing: records a device backup lifecycle transition (started, completed, failed or cancelled). On completed, charges the collection when the organization is on backup-time charging. Always 200 once handled; billingOutcome says what the charge dispatch did, and a declined charge is a normal outcome, never an error.

application/json

Body Required

  • systemId string
  • deviceId string Required

    Stable hardware id, not the Mongo _id

  • deviceType string Required

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

  • status string Required

    Lifecycle state being reported. Only completed can result in a charge.

    Values are started, completed, failed, or cancelled.

  • reason string

    Cause for failed/cancelled

  • metadata object
  • appVersion string

Responses

  • 200 application/json
    Hide response attributes Show response attributes object
    • data object Required
      Hide data attributes Show data attributes object
      • recorded boolean Required

        Whether the lifecycle report was persisted.

      • status string Required

        Values are started, completed, failed, or cancelled.

      • billingOutcome string Required

        What the backup-time charge dispatch did. Anything other than dispatched leaves the import-time charge as the backstop.

        Values are not-applicable, trigger-is-import, no-organization, not-a-phone, device-not-registered, no-data-source-status, dispatching, dispatched, failed, or report-failed.

    • statusCode number Required
    • timestamp string(date-time) Required
POST /extraction/device/backup-update
curl \
 --request POST 'http://api.example.com/extraction/device/backup-update' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{
  "systemId": "string",
  "deviceId": "string",
  "deviceType": "unknown",
  "status": "started",
  "reason": "string",
  "metadata": {},
  "appVersion": "string"
}'
Request examples
{
  "systemId": "string",
  "deviceId": "string",
  "deviceType": "unknown",
  "status": "started",
  "reason": "string",
  "metadata": {},
  "appVersion": "string"
}
Response examples (200)
{
  "data": {
    "recorded": true,
    "status": "started",
    "billingOutcome": "not-applicable"
  },
  "statusCode": 200,
  "timestamp": "2026-01-15T10:15:00.000Z"
}