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

# Cancel Disbursement

> Cancel a staged Notify — Managed Parties disbursement that has not yet been claimed by the recipient.



## OpenAPI

````yaml specs/ingopay-notify-v3.yaml POST /gateway/v3/notifycancel
openapi: 3.0.3
info:
  title: IngoPay API — Notification of Payment Intent (Notify v3)
  description: >
    Submit a notification of payment intent to a recipient for staged
    disbursement processing, and cancel a staged disbursement request.


    **Notify v3 covers two operations:**

    - `POST /gateway/v3/notify` — Submit a notification of payment intent.
      The recipient receives a notification (email and/or SMS) and must
      authenticate before the disbursement is released.

    - `POST /gateway/v3/notifycancel` — Cancel a staged disbursement that
      has not yet been claimed. This endpoint is forward compatible and
      can be used to cancel staged disbursements initiated by both Notify
      v3 and Notify v4.


    **Notify v3 is a SaaS-only endpoint.** Your participant account must be
    configured as a SaaS participant to use these endpoints. Contact your Ingo
    integration manager to confirm your configuration.


    **`authentication_records[]` conditionality:** Required by default for all
    SaaS participants. May be optional when the client is configured with OTAC
    (One-Time Auth Code) and DPA authentication is disabled. Contact your Ingo
    integration manager to confirm your configuration.


    **`recipient` name mutual exclusivity:** Provide either `first_name` +
    `last_name` (personal name) **or** `business_name` (business name) — not
    both. `business_name` requires client-level configuration
    (`enable_business_name`).


    > **Note on `open_banking_finicity`:** Recipients inside `recipient{}` may
    include an `open_banking_finicity{}` sub-object when the client is
    configured for Finicity open banking (`open_banking_finicity` flag). This is
    gated behind client configuration — contact your integration manager to
    confirm if this applies.
  version: '3'
  contact:
    name: Ingo Money Developer Support
    url: https://developers.ingomoney.com
servers:
  - url: https://payapi-sandbox.ingo.money
    description: Sandbox
  - url: https://payapi.ingo.money
    description: Production
security:
  - HmacAuth: []
paths:
  /gateway/v3/notifycancel:
    post:
      tags:
        - Notification of Payment Intent
      summary: Cancel a staged disbursement
      description: >
        Cancels a staged disbursement that has not yet been claimed by the
        recipient. This endpoint is forward compatible and can be used to cancel
        staged disbursements initiated by either Notify v3 or Notify v4.


        The transaction is located using `participant_unique_id1` and
        `tracer_id`. `notification_id` may optionally be provided as an
        additional identifier.
      operationId: notifyCancelV3
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotifyCancelRequest'
            example:
              participant_id: 12345
              participant_unique_id1: a4f1b2c3-d456-789e-f012-34567890abcd
              first_name: Alex
              last_name: Rivera
              amount: '250.00'
              tracer_id: trc-20260422-001
              notification_id: 9876543
              customer_id: cust-001
              participant_unique_id2: b5e2c3d4-e567-890f-a123-456789012345
      responses:
        '200':
          description: Disbursement cancelled successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotifyCancelResponse'
              example:
                status: 100
                client_message: Disbursement Request Canceled
                data:
                  notification_id: '9876543'
                  participant_unique_id1: PARTNER-REF-001
                  tracer_id: trc-20260422-001
                  request_timestamp: 1700000000
                  participant_unique_id2: PARTNER-REF-002
                time: '0.85'
        '400':
          description: Validation error or transaction not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 400
                client_message: Validation Error
                data:
                  errors:
                    tracer_id: Field is required
                  participant_unique_id1: PARTNER-REF-001
                  participant_unique_id2: PARTNER-REF-002
                  request_timestamp: 1700000000
                time: '0.85'
components:
  schemas:
    NotifyCancelRequest:
      type: object
      required:
        - participant_id
        - participant_unique_id1
        - first_name
        - last_name
        - amount
        - tracer_id
      description: >
        Cancels a staged disbursement. The transaction is located using
        `participant_unique_id1` and `tracer_id`. Compatible with disbursements
        staged via Notify v3 or Notify v4.
      properties:
        participant_id:
          type: integer
          description: Unique participant identifier assigned by Ingo.
          example: 12345
        participant_unique_id1:
          type: string
          minLength: 1
          maxLength: 254
          description: >
            Participant assigned transaction ID provided on the original Notify
            request.
          example: a4f1b2c3-d456-789e-f012-34567890abcd
        first_name:
          type: string
          minLength: 1
          maxLength: 150
          description: Recipient first name as provided on the original Notify request.
          example: Johnny
        last_name:
          type: string
          minLength: 1
          maxLength: 150
          description: Recipient last name as provided on the original Notify request.
          example: Rockets
        amount:
          type: string
          description: >
            Dollar amount of the disbursement as provided on the original Notify
            request.
          example: '250.00'
        tracer_id:
          type: string
          maxLength: 254
          description: |
            Tracer ID associated with the original Notify request.
          example: trc-20260422-001
        notification_id:
          type: integer
          nullable: true
          description: >
            Optional Ingo assigned notification ID returned on the original
            Notify response. When provided, used as an additional identifier to
            locate the staged disbursement.
          example: 9876543
        customer_id:
          type: string
          maxLength: 254
          nullable: true
          description: |
            Optional client assigned customer identifier.
          example: cust-001
        participant_unique_id2:
          type: string
          maxLength: 254
          nullable: true
          description: >
            Optional second participant assigned transaction ID as provided on
            the original Notify request.
          example: b5e2c3d4-e567-890f-a123-456789012345
    NotifyCancelResponse:
      type: object
      properties:
        status:
          type: integer
          description: >
            Numeric code describing the status of the API request. 100 =
            Success.
          example: 100
        client_message:
          type: string
          description: Text description associated with the status code.
          example: Disbursement Request Canceled
        data:
          type: object
          properties:
            notification_id:
              type: string
              description: Echo of the notification ID for the cancelled disbursement.
              example: '9876543'
            participant_unique_id1:
              type: string
              description: Echo of participant_unique_id1 from the original request.
              example: a4f1b2c3-d456-789e-f012-34567890abcd
            tracer_id:
              type: string
              description: Echo of the tracer ID.
              example: trc-20260422-001
            request_timestamp:
              type: integer
              format: int64
              description: Unix timestamp of the cancel request.
              example: 1745356800
    ErrorResponse:
      type: object
      properties:
        status:
          type: integer
          example: 400
        client_message:
          type: string
          example: Validation Error
        data:
          type: object
          properties:
            errors:
              type: object
              description: Field-level validation errors.
              additionalProperties:
                type: string
  securitySchemes:
    HmacAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        HMAC-SHA512 signed Authorization header. See the Authentication page for
        the complete signing guide.

````