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

# Reward Batch Completed

This webhook is sent once when an entire issuance job finishes processing.
It provides a summary of the batch including total counts and any failures.
This fires regardless of whether all rewards succeeded or some failed.

### Event

`reward_batch.completed`

### Payload Description

<ParamField body="event" type="string">
  The event type: `reward_batch.completed`
</ParamField>

<ParamField body="timestamp" type="string">
  The time the event occurred (ISO8601)
</ParamField>

<ParamField body="data" type="hash">
  Event data

  <Expandable title="data">
    <ParamField body="issuance_job_id" type="string">
      The ID of the completed issuance job
    </ParamField>

    <ParamField body="merchant_id" type="string">
      The ID of the merchant associated with the issuance job
    </ParamField>

    <ParamField body="state" type="string">
      Final job state: `completed` or `failed`
    </ParamField>

    <ParamField body="total_count" type="integer">
      Total number of identifiers in the batch
    </ParamField>

    <ParamField body="issued_count" type="integer">
      Number of rewards successfully issued
    </ParamField>

    <ParamField body="failed_count" type="integer">
      Number of failed issuances
    </ParamField>

    <ParamField body="failures" type="array">
      Details of any failed issuances

      <Expandable title="failure">
        <ParamField body="user_identifier" type="string">
          The identifier value (email or phone) that failed
        </ParamField>

        <ParamField body="reason" type="string">
          Error message describing the failure
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

<ResponseExample>
  ```json theme={null}
  {
    "event": "reward_batch.completed",
    "timestamp": "2025-06-15T10:30:15Z",
    "data": {
      "issuance_job_id": "job_xyz789",
      "merchant_id": "mer_abc123",
      "state": "completed",
      "total_count": 2,
      "issued_count": 1,
      "failed_count": 1,
      "failures": [
        {
          "user_identifier": "+14155551234",
          "reason": "User not found"
        }
      ]
    }
  }
  ```
</ResponseExample>
