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

# Individual Payment Status

> Retrieve per-payment statuses for a bulk payment, including status details where available

<Note>
  Bulk Payments are currently available as a BETA version.
</Note>

***

Use [Get Bulk Payment Status Details](/api-reference/payments/get-bulk-payment-status-details) to retrieve the status of each individual payment within a bulk payment request.

## Supported institutions

This endpoint is currently supported by the following instituions:

* HSBC UK Business
* Lloyds Business
* Bank of Scotland Business
* Revolut
* Virgin Money

To check whether an institution supports this feature, look for `EXISTING_BULK_PAYMENT_DETAILS` in the institution's feature list via [Get Institutions](/api-reference/institutions/get-institutions).

<Info>
  When supported by the institution, `EXISTING_BULK_PAYMENT_DETAILS` is automatically included in the consent scope during authorisation ([Create Bulk Payment Authorisation](/api-reference/authorisations/create-bulk-payment-authorisation)).
</Info>

## Request

Execute get payment details (`GET /bulk-payments/{bulkPaymentId}/details`), specifying the bulk payment file `Id` in the path.

<CodeGroup>
  ```bash Request theme={null}
  curl -L -X GET 'https://api.yapily.com/bulk-payments/{bulkPaymentId}/details' \
    -H 'Consent: {consentToken}' \
    -u 'APPLICATION_KEY:APPLICATION_SECRET'
  ```

  ```json Response theme={null}
  {
    "meta": {
      "tracingId": "27b47dca-fb0f-4448-b470-1cd2d5516d0f"
    },
    "data": {
      "id": "e75d2c85-08e9-4a48-8d14-f789186f2a19",
      "consentId": "5daeb980-5ff5-49db-b7a0-e93dd9c93533",
      "Payments": [
        {
          "id": "payment-w1",
          "status": "COMPLETED"
        },
        {
          "id": "payment-w2",
          "status": "FAILED",
          "statusDetails": {
            "code": "B001",
            "reason": "Payment has been rejected"
          }
        },
        {
          "id": "payment-w3",
          "status": "COMPLETED"
        }
      ]
    }
  }
  ```
</CodeGroup>

When an individual payment has not completed successfully, the response includes a `statusDetails` object with a `code` and `reason`.

<Note>
  Some institutions do not return a recognisable status code. In that case `statusDetails` will not be present in the payment entry.
</Note>

## Payment status detail codes

| Code | Description                                          |
| ---- | ---------------------------------------------------- |
| B000 | Unrecognised status reason code from the institution |
| B001 | Payment rejected, no specific reason given           |
| B002 | Insufficient funds in debtor account                 |
| B003 | Incorrect or invalid account number                  |
| B004 | Payment flagged as fraudulent origin                 |
| B005 | Duplicate payment detected                           |
| B006 | Rejected for regulatory or compliance reason         |
| B007 | Rejected at customer's own request                   |
| B008 | Amount is zero, not allowed, or too low              |
| B009 | Missed bank cut-off time                             |
| B010 | Invalid payment format or structure                  |
| B011 | Technical problem at institution                     |
| B012 | Payment accepted, pending processing                 |
| B013 | Payment held by institution for further review       |
| B014 | Payment held due to fraud screening                  |
