Skip to main content
GET
/
v1
/
radars
/
bulk
/
{bulk_id}
Get async bulk submission status
curl --request GET \
  --url https://api.tamradar.com/v1/radars/bulk/{bulk_id} \
  --header 'x-api-key: <api-key>'
{
  "status": "processing",
  "code": 200,
  "message": "Bulk submission is being processed",
  "timestamp": "2026-05-24T18:25:11.000Z",
  "bulk_id": "5f9da22e-4778-427c-b7e4-dab2a8d9d709",
  "summary": {
    "total": 3,
    "processing": 1,
    "created": 1,
    "failed": 1
  },
  "radars": [
    {
      "item_index": 0,
      "custom_fields": {
        "crm_account_id": "acc_001"
      },
      "status": "processing"
    },
    {
      "item_index": 1,
      "update_id": "efbf7c77-c1ae-4a0d-85b6-116674e9e0b1",
      "update_type": "radar_created",
      "record_id": null,
      "completed_at": "2026-05-24T18:24:58.000Z",
      "bulk_id": "5f9da22e-4778-427c-b7e4-dab2a8d9d709",
      "custom_fields": {
        "crm_account_id": "acc_002"
      },
      "data": {
        "radar_id": "2ffb1a07-ac95-4a6d-bc34-39f479f1c856"
      }
    },
    {
      "item_index": 2,
      "update_id": "a1b2c3d4-0001-4000-b000-000000000001",
      "update_type": "radar_failure",
      "record_id": null,
      "completed_at": "2026-05-24T18:25:03.000Z",
      "discovered_at": "2026-05-24T18:25:03.000Z",
      "bulk_id": "5f9da22e-4778-427c-b7e4-dab2a8d9d709",
      "custom_fields": {},
      "status": "error",
      "code": 400,
      "message": "Radar creation failed: missing prerequisites.",
      "errors": [
        {
          "field": "radar",
          "reason": "missing_prerequisites"
        }
      ],
      "refund_amount_usd": 0,
      "timestamp": "2026-05-24T18:25:03.000Z",
      "error_id": "a1b2c3d4-0001-4000-b000-000000000001"
    }
  ]
}

How bulk status works

After submitting a bulk request, the response transitions through two states:
  • processing — At least one item is still being created. summary.processing shows how many are in flight.
  • completed — All items have reached a terminal state (created or failed). No more changes.
Poll this endpoint until status = "completed", or wait for the bulk_completed webhook instead.

Per-item fields

Each entry in radars[] mirrors the payload delivered by the per-item webhook for that item:
FieldPresent whenDescription
item_indexAlwaysZero-based position in the original radars[] array
custom_fieldsAlwaysCustom fields passed on the item
statusIn-flight only"processing" — item not yet terminal
update_idTerminalCorrelation ID linking to the item’s radar_created or radar_failure webhook
update_typeTerminalradar_created (success) or radar_failure (failure)
completed_atTerminalISO timestamp when the item finished processing
bulk_idTerminalParent bulk submission ID
dataCreated itemsFull radar object, same shape as single-radar creation response
code / errors[]Failed itemsHTTP error code and error details, same shape as sync API errors
Items are always returned ordered by item_index.
The radars[] array grows as items complete — re-fetch until status = "completed" to get all outcomes. In-flight items appear as { item_index, custom_fields, status: "processing" } with no other fields.

Authorizations

x-api-key
string
header
required

Path Parameters

bulk_id
string<uuid>
required

Bulk submission ID returned by POST /v1/radars/bulk

Response

Bulk status retrieved successfully

status
enum<string>
required
Available options:
processing,
completed
code
enum<integer>
required
Available options:
200
message
string
required
timestamp
string<date-time>
required
bulk_id
string<uuid>
required
summary
object
required
radars
object[]
required