---
title: "Cancel a payout"
method: POST
path: "/payments/payouts/{uid}/cancel"
tags: ["Payouts"]
---

# Cancel a payout

`POST /payments/payouts/{uid}/cancel`

## Request

- Base URL: `https://api.sandbox.zeptopayments.com`
- URL: `https://api.sandbox.zeptopayments.com/payments/payouts/{uid}/cancel`
- Auth: HTTP bearer

Cancels a scheduled payout. Its status becomes `cancelled`.

## Path parameters

- `uid` string, required

## Response `200`

successful

- object
  - `data` PaymentsPayout, required: Payout resource
    - `amount` integer, required: Amount in cents
    - `status` 'scheduled' | 'queued' | 'processing' | 'settled' | 'failed' | 'cancelled', required: Current status of the payout
    - `initiation_type` 'payout', required: The type of payment
    - `debtor` object, required
      - `identity` object, required: Resolved identity (who + where) on the debtor side of the payout.
        - `type` 'inline', required: How the identity was supplied. `inline` is the resolved party and account. Future sources (e.g. a stored contact) will add enum values.
        - `party_name` string, required: Name of the debtor party
        - `account_identifier` object, required
          - `type` 'bban', required: The type of account identifier (always an internal/Zepto account)
          - `value` string, required: The account identifier value
      - `channels` PaymentsChannelDebtor[], required
        - `type` 'float', required: Payment channel type
        - `description` string, required: Description of the payment channel entry
    - `creditor` object, required
      - `identity` object, required: Resolved identity (who + where) on the creditor side of the payout.
        - `type` 'inline', required: How the identity is supplied. Only `inline` is supported today; future values (e.g. a stored contact) will be added without breaking this shape.
        - `party_name` string, required: The name of the creditor party. HTML character entities are not accepted.
        - `account_identifier` union, required: The creditor's account identifier.
          - PaymentsAccountIdentifierBban: An account addressed by BBAN (branch code and account number).
            - `type` 'bban', required
            - `value` string, required: A branch code (BSB) and account number separated with a hyphen
          - PaymentsAccountIdentifierAliasEmail: An account addressed by a PayID email alias.
            - `type` 'alias_email', required
            - `value` string, required: A PayID email alias
          - PaymentsAccountIdentifierAliasPhone: An account addressed by a PayID phone alias.
            - `type` 'alias_phone', required
            - `value` string, required: A PayID phone alias, e.g. +61-411222333.
          - PaymentsAccountIdentifierAliasAbn: An account addressed by a PayID ABN alias.
            - `type` 'alias_abn', required
            - `value` string, required: A PayID ABN alias.
      - `channels` PaymentsChannelCreditor[], required
        - union: A payment channel on the creditor side of a payout, describing how funds arrive at that side.
          - object: A New Payments Platform (NPP) credit channel on the creditor side of a payout, paying out in real time via NPP.
            - `type` 'npp.credit.outbound', required: Payment channel type
            - `description` string, required: Description that both you and the creditor can see. ASCII-printable characters and unicode emojis are accepted.
            - `end_to_end_id` string, nullable: End-To-End ID. An optional reference carried to the creditor unchanged.
          - object: A New Payments Platform (NPP) pension channel on the creditor side of a payout, paying out in real time via NPP for superannuation payments.
            - `type` 'npp.pension.outbound', required: Payment channel type
            - `description` string, required: Description that both you and the creditor can see. ASCII-printable characters and unicode emojis are accepted.
            - `end_to_end_id` string, required: End-To-End ID. Set this to the Payment Reference Number (PRN).
          - object: A Direct Entry (DE) credit channel on the creditor side of a payout, paying out via the direct entry system. Coming soon — this channel type is not yet available, and its details may change before release.
            - `type` 'de.credit.outbound', required: Payment channel type
            - `description` string, required: Description that both you and the creditor can see, used as the Direct Entry lodgement reference. Uses the Direct Entry (BECS) character set.
    - `uid` string, required: Supplied unique identifier for the payout
    - `client_id` string, uuid, nullable: Identifier of the client the payout is attributed to.
    - `identifiers` object[]: Additional identifiers for the payout
      - `type` 'npp_inbound_instruction_id' | 'npp_outbound_instruction_id' | 'payto_inbound_instruction_id' | 'legacy_payout_ref'
      - `value` string
    - `description` string, required: Description of the payout
    - `priority` 'normal' | 'high', required: Processing priority the payout was created with. See the Priority page for how priority affects processing.
    - `metadata` object, nullable: Arbitrary metadata attached to the payout
    - `errors` PaymentsError[], required: The reasons the payout failed. Empty when the payout has not failed.
      - `code` string, required: A code identifying the error
      - `title` string, required: A short summary of the error
      - `detail` string, required: A detailed explanation of the error
      - `data` object: Additional data about the error, such as validation errors keyed by field name
      - `links` object
        - `about` string, required: A link to relevant documentation
    - `scheduled_after` string, date-time, nullable: The time after which the payout is queued for processing, as supplied on create. `null` when not scheduled.
    - `timing` PaymentsTiming, required: When the payment reached each point in its lifecycle
      - `added_at` string, date-time, required: ISO 8601 timestamp of when the payment was created
      - `queued_at` string, date-time, nullable, required: ISO 8601 timestamp of when the payment was queued for processing. Null until then.
      - `finalised_at` string, date-time, nullable, required: ISO 8601 timestamp of when the payment settled, failed or was cancelled. Null until then.

## Other responses

- `401`: unauthorized
- `403`: forbidden
- `404`: Not Found
- `409`: Conflict
- `410`: Gone
- `422`: Unprocessable Entity
- `500`: Internal Server Error

---

[API](https://skmtc.dev/zeptopayments/apis/zepto-payments-api.md) - [All operations](https://skmtc.dev/zeptopayments/apis/zepto-payments-api/llms.txt) - [OpenAPI document](https://skmtc.dev/zeptopayments/apis/zepto-payments-api/revisions/1b8fcb07a70b?raw)
