> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tamradar.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Bulk Create Status

> Poll async bulk submission status and per-item outcomes.

## 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:

| Field               | Present when   | Description                                                                     |
| ------------------- | -------------- | ------------------------------------------------------------------------------- |
| `item_index`        | Always         | Zero-based position in the original `radars[]` array                            |
| `custom_fields`     | Always         | Custom fields passed on the item                                                |
| `status`            | In-flight only | `"processing"` — item not yet terminal                                          |
| `update_id`         | Terminal       | Correlation ID linking to the item's `radar_created` or `radar_failure` webhook |
| `update_type`       | Terminal       | `radar_created` (success) or `radar_failure` (failure)                          |
| `completed_at`      | Terminal       | ISO timestamp when the item finished processing                                 |
| `bulk_id`           | Terminal       | Parent bulk submission ID                                                       |
| `data`              | Created items  | Full radar object, same shape as single-radar creation response                 |
| `code` / `errors[]` | Failed items   | HTTP error code and error details, same shape as sync API errors                |

Items are always returned ordered by `item_index`.

<Warning>
  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.
</Warning>


## OpenAPI

````yaml /api_specs.yaml GET /v1/radars/bulk/{bulk_id}
openapi: 3.0.0
info:
  title: TAMradar API
  version: '1.0'
  description: Canonical OpenAPI spec for TAMradar customer-facing APIs.
servers:
  - url: https://api.tamradar.com
    description: Production API server
security: []
paths:
  /v1/radars/bulk/{bulk_id}:
    get:
      tags:
        - Radars
      summary: Get async bulk submission status
      description: >-
        Returns live status for an async bulk submission created with `POST
        /v1/radars/bulk`.


        Use this endpoint to poll progress and retrieve final per-item outcomes.
        The `radars[]` item payloads mirror the webhook-delivered item payloads
        (`radar_created` / `radar_failure`) so webhook and polling consumers can
        share the same item-level handling path.
      operationId: getBulkRadarStatus
      parameters:
        - name: bulk_id
          in: path
          required: true
          description: Bulk submission ID returned by POST /v1/radars/bulk
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Bulk status retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - processing
                      - completed
                  code:
                    type: integer
                    enum:
                      - 200
                  message:
                    type: string
                  timestamp:
                    type: string
                    format: date-time
                  bulk_id:
                    type: string
                    format: uuid
                  summary:
                    type: object
                    properties:
                      total:
                        type: integer
                      processing:
                        type: integer
                      created:
                        type: integer
                      failed:
                        type: integer
                    required:
                      - total
                      - processing
                      - created
                      - failed
                  radars:
                    type: array
                    items:
                      type: object
                      properties:
                        item_index:
                          type: integer
                        update_id:
                          type: string
                          format: uuid
                          description: >-
                            Per-item event ID for correlation with the item's
                            `radar_created` or `radar_failure` webhook.
                        update_type:
                          type: string
                          description: >-
                            Item outcome event type when terminal
                            (`radar_created` or `radar_failure`).
                        status:
                          type: string
                          description: >-
                            Present only for in-flight items (`processing`)
                            before per-item webhook payload write-back
                            completes.
                        custom_fields:
                          type: object
                          additionalProperties:
                            type: string
                      required:
                        - item_index
                        - custom_fields
                      additionalProperties: true
                required:
                  - status
                  - code
                  - message
                  - timestamp
                  - bulk_id
                  - summary
                  - radars
              examples:
                processing:
                  summary: Bulk is still running
                  value:
                    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
                completed:
                  summary: Bulk completed
                  value:
                    status: completed
                    code: 200
                    message: Bulk submission completed
                    timestamp: '2026-05-24T18:27:43.000Z'
                    bulk_id: 5f9da22e-4778-427c-b7e4-dab2a8d9d709
                    summary:
                      total: 3
                      processing: 0
                      created: 2
                      failed: 1
                    radars:
                      - item_index: 0
                        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_001
                        data:
                          radar_id: 2ffb1a07-ac95-4a6d-bc34-39f479f1c856
                          radar_type: company_job_openings
                          domain: stripe.com
                          radar_status: active
                      - item_index: 1
                        update_id: 3f1d8e8a-39c4-47e8-a4b4-f7db6a2e50f0
                        update_type: radar_created
                        record_id: null
                        completed_at: '2026-05-24T18:25:09.000Z'
                        bulk_id: 5f9da22e-4778-427c-b7e4-dab2a8d9d709
                        custom_fields:
                          crm_account_id: acc_002
                        data:
                          radar_id: 4ac7f03e-6ab8-4a58-af6c-7e993da6f9a1
                          radar_type: contact_job_changes
                          domain: stripe.com
                          radar_status: active
                      - item_index: 2
                        update_id: a1b2c3d4-0001-4000-b000-000000000001
                        update_type: radar_failure
                        record_id: null
                        completed_at: '2026-05-24T18:25:12.000Z'
                        discovered_at: '2026-05-24T18:25:12.000Z'
                        bulk_id: 5f9da22e-4778-427c-b7e4-dab2a8d9d709
                        custom_fields:
                          crm_account_id: acc_003
                        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:12.000Z'
                        error_id: a1b2c3d4-0001-4000-b000-000000000001
        '401':
          description: Authentication required — missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Bulk submission not found for this account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: error
                code: 404
                message: Bulk submission not found
                errors:
                  - field: bulk_id
                    reason: No bulk submission found with this ID for your account.
                timestamp: '2026-05-24T18:25:11.000Z'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    ErrorResponse:
      type: object
      required:
        - status
        - code
        - message
        - errors
        - timestamp
        - error_id
      properties:
        status:
          type: string
          enum:
            - error
        code:
          type: integer
          enum:
            - 400
            - 401
            - 402
            - 403
            - 404
            - 409
            - 429
            - 500
            - 503
        message:
          type: string
        errors:
          type: array
          items:
            type: object
            required:
              - field
              - reason
            properties:
              field:
                type: string
              reason:
                type: string
        timestamp:
          type: string
          format: date-time
        error_id:
          type: string
          format: uuid
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````