---
title: "Create Pre-Debit Notification"
method: POST
path: "/predebit-notify"
---

# Create Pre-Debit Notification

`POST /predebit-notify`

Sends the NPCI-required pre-debit notification to the customer before a UPI Autopay recurring debit. The provider delivers the notice and returns a reference; keep the returned id and send it on the recurring debit as payment_method.detail.bank_transfer.pre_debit_notification_id.

## Headers

- `X-Idempotency-Key` string, required

## Request body

- object
  - `account_id` string, uuid, required — Your Yuno account ID.
  - `merchant_reference` string, required — Your unique reference for this notification. Reusing a reference returns the existing notification (idempotent per account).
  - `description` string — Text shown to the customer in the notification (for example, the subscription name and renewal notice).
  - `amount` object, required
    - `currency` string, required — ISO 4217 currency code of the upcoming debit (for UPI Autopay, INR).
    - `value` string, required — Amount of the upcoming debit.
  - `billing_date` string, date, required — Date of the upcoming debit (YYYY-MM-DD). Per NPCI, notify the customer at least 24 hours before the debit.
  - `billing_sequence_number` string — Sequence number of the debit within the mandate (for example, 2 for the second charge).
  - `origin_payment_id` string, uuid — ID of the mandate-creation payment. When provided, Yuno derives the provider and connection from its successful charge. Either origin_payment_id or provider_data is required.
  - `customer_payer` object
    - `id` string, uuid — Yuno customer ID.
    - `merchant_customer_id` string — Your identifier for the customer.
  - `payment_method` object
    - `type` string — Payment method type of the mandate.
    - `vaulted_token` string, uuid — Vaulted token of the enrolled mandate. Yuno resolves the provider mandate credential from it.
  - `provider_data` object — Explicit provider routing. Either origin_payment_id or provider_data (id + connection_id) is required.
    - `id` string — Provider ID (for example, EBANX).
    - `connection_id` string, uuid — Connection to send the notification through.

## Response `201`

Notification created. Check status: SENT means the provider delivered it.

- object
  - `id` string, uuid — Unique identifier of the pre-debit notification. Reference it on the recurring debit as payment_method.detail.bank_transfer.pre_debit_notification_id.
  - `account_id` string, uuid — Your Yuno account ID.
  - `status` 'SENT' | 'REJECTED' | 'ERROR' — SENT: the provider accepted and delivered the notification. REJECTED: the provider refused it. ERROR: the notification could not be relayed.
  - `merchant_reference` string — Your unique reference for this notification (idempotent per account).
  - `description` string — Text shown to the customer in the notification.
  - `amount` object
    - `currency` string, required — ISO 4217 currency code of the upcoming debit (for UPI Autopay, INR).
    - `value` string, required — Amount of the upcoming debit.
  - `billing_date` string, date — Date of the upcoming debit (YYYY-MM-DD).
  - `origin_payment_id` string, uuid — The mandate-creation payment used to derive provider and connection, when provided.
  - `provider_data` object
    - `id` string — Provider that handled the notification (for example, EBANX).
    - `connection_id` string, uuid — Connection used to send the notification.
    - `provider_transaction_id` string — Provider transaction reference, when available.
    - `provider_notification_id` string — Provider reference of the delivered notification. Yuno resolves and forwards it to the provider automatically when the recurring debit references this notification.
    - `raw_request` object — Obfuscated provider request. Only returned for allowlisted organizations.
    - `raw_response` object — Obfuscated provider response. Only returned for allowlisted organizations.
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Other responses

- `400` — Invalid parameters (for example, missing provider routing or malformed billing_date).
- `422` — The vaulted_token has no stored credential for the resolved provider (STORED_CREDENTIAL_NOT_FOUND), or the origin payment has no usable connection (PROVIDER_CONNECTION_REQUIRED).

---

[API](https://skmtc.net/y/apis/ai-caller.md) · [All operations](https://skmtc.net/y/apis/ai-caller/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/y/ai-caller/revisions/05b629819b49/schema)
