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

# BulkJob

> A submitted bulk job.

**Object**

A submitted bulk job. Poll its status to follow progress and retrieve results.

## Fields

<ResponseField name="jobId" type="UUID!">
  The id of the job. Use it to poll status and, for exports, fetch results.
</ResponseField>

<ResponseField name="status" type="BulkJobStatus!">
  *No description provided in the schema yet.*
</ResponseField>

<ResponseField name="operation" type="BulkOperationType!">
  *No description provided in the schema yet.*
</ResponseField>

<ResponseField name="targetMode" type="BulkTargetMode!">
  *No description provided in the schema yet.*
</ResponseField>

<ResponseField name="requestedTargetCount" type="Int!">
  The number of resolved targets this job addresses (one item per target).
</ResponseField>

<ResponseField name="acceptedItemCount" type="Int!">
  The number of items that will be processed.
</ResponseField>

<ResponseField name="skippedItemCount" type="Int!">
  The number of resolved targets skipped at submission (e.g. missing the required scopes).
</ResponseField>

<ResponseField name="succeededItemCount" type="Int!">
  *No description provided in the schema yet.*
</ResponseField>

<ResponseField name="failedItemCount" type="Int!">
  *No description provided in the schema yet.*
</ResponseField>

<ResponseField name="createdAt" type="DateTime!">
  *No description provided in the schema yet.*
</ResponseField>

<ResponseField name="resultUrl" type="String">
  Short-lived, pre-signed download URL for a completed job's result file — the NDJSON export for
  the read operations, or the per-target results ledger for the write operations (CREATE\_TRANSFER,
  DEPOSIT\_CASH\_BALANCE), one row per target with its status, resultResourceId, and any error.
  Minted on request, so it is only signed when you actually select this field — polling status
  without it stays cheap. Null until the job is terminal, and for jobs that produced no file (e.g.
  every target was denied). The URL expires shortly after issue (see resultUrlExpiresAt); request
  the field again for a fresh one.
</ResponseField>

<ResponseField name="resultUrlExpiresAt" type="DateTime">
  When the currently-issued resultUrl stops working. Null whenever resultUrl is null.
</ResponseField>
