# Bulk job result notification

> POST to your notification URL
> Sent by Ozow. Part of the Payments API reference. Source: https://hub.ozow.com/api-reference/payments-api/webhooks/bulk-job-result-notification/

Sent to the `notifyUrl` given on the create bulk payment request call, once the job has been processed.

`compressedData` holds the original data from the create call with the result fields for each record added, GZIP compressed.

Verify the `hash` field before acting on the contents. A notification is an unauthenticated POST to a URL that anyone can call.

`compressedData` goes into the hash as the compressed string exactly as it arrives, before you decompress it.

## Authentication

Ozow sends no credential with this call, so this check is the only thing standing between a real delivery and a stranger’s. Verify the Hash field before acting on the contents: your notification URL is public, and anyone can post to it.

## Payload

**application/json**

- `JobId` (string, uuid, required) - The identifier for the bulk payment request job.
- `JobReference` (string, required, max length 100) - The merchant reference for the job/batch that was passed in the create request.
- `Status` (string, required) - The status of the job. Possible values: * Error - The bulk payment request job had encountered an error or the request data was not in the required format. * Complete - The bulk payment request job had completed successfully. * CompleteWithErrors - The bulk payment request job had completed but there were errors processing certain records.
- `CompressedData` (string, required) - A GZIP compressed JSON string of the JSON array of payment request fields. It carries the data from the create call with the result fields for each record added. The hash is built from this string compressed, exactly as it arrives, so verify before you decompress.
- `Errors` (array of string, required) - A summary of how the job went, as a single line. Sent on every notification, a job that completed cleanly included, so its presence does not mean the job failed. Read the per record result fields inside `CompressedData` for what went wrong where.
- `Hash` (string, required, max length 128) - SHA512 hash used to ensure that certain fields in the message have not been altered after the hash was generated.

## Your response

### 200 Acknowledged. Return this once you have stored the notification.

No body.
