Skip to content
Sursa Developers

Events · Cards

card.index_failed

Card indexing failed

Indexing of a card version failed (data.reason is a neutral code). The card keeps the error status until it is uploaded or re-indexed again.

Object type
card
Delivered to
Endpoints that can see the object: by role, data profile and collections

Payload

Object: EventCardIndexFailed

  • idstringrequired

    Event ID (evt_…), also sent as the webhook-id header. Use it to drop duplicate deliveries.

  • typestringrequired

    Allowed values: card.index_failed

  • created_atstring (date-time)required

    When the change happened (UTC).

  • org_idintegerrequired
  • api_versionstringrequired

    Contract version of the data schema.

  • sequenceinteger

    Delivery sequence number within the endpoint (absent for a test event).

  • objectWebhookEventObjectrequired
  • payloadstringrequired

    thin means no data: read the object through the API.

    Allowed values: fullthin

  • dataobject
    Fields
    • cardEventCardrequired
    • job_idinteger | null

      The indexing or export job.

    • versionintegerrequired
    • reasonstringrequired

      Neutral reason code (extensible enumeration: treat an unknown code as a generic failure). Examples: unprocessable, too_large, timeout, upstream_unavailable, internal.

  • testbooleanrequired

    A test event sent by POST /v1/webhooks/{webhook_id}/test.

Example delivery

{
  "id": "evt_0123456789abcdef0123456789abcdef",
  "type": "card.index_failed",
  "created_at": "2026-10-24T10:00:03Z",
  "org_id": 1,
  "api_version": "1.62.0",
  "sequence": 1042,
  "object": {
    "type": "card",
    "id": "c_9f2e41"
  },
  "payload": "full",
  "data": {
    "card": {
      "id": "c_9f2e41",
      "title": "Refund policy",
      "collection": "support",
      "collection_id": 3,
      "version": 4,
      "kind": "text",
      "status": "error",
      "verification_state": "trusted",
      "owner_id": 7,
      "tags": [
        "billing"
      ],
      "external_id": null,
      "metadata": {}
    },
    "job_id": 4410,
    "version": 4,
    "reason": "unprocessable"
  },
  "test": false
}

Receiving events

Each delivery is a POST request with this JSON body to your endpoint. Verify the webhook-signature header (Standard Webhooks) before you trust the body, answer with a 2xx status within a few seconds, and do the work afterwards. Deliveries to one endpoint keep the order of events; a failed delivery is retried with growing pauses.

New event types and new fields can appear at any time: skip the types and fields you do not know.

The same events are in the event feed for 30 days →