Business · Live

E-Invoice Cancellation API

Cancel a registered IRN within the window the portal allows.

From ₹3/callPrepaid · billed per successful call

What the Cancel IRN API does

Cancel an invoice you have already registered, giving the IRN and a reason. The portal allows cancellation only inside a limited window after registration, so this is usually wired to the same workflow that issues a credit note. Calls carry your own GST portal API credentials (GSTIN, username and password), so filings are made as you, on your own registration. We never file on our own account.

Popular use cases

  • →Correcting invoices cancelled or amended shortly after issue
  • →Automating credit-note workflows in accounting software
  • →Reversing test or duplicate registrations before they reach filings
Request
curl -X POST https://apisathi.in/gw/v1/einvoice-cancel-irn-v1/ \
  -H "X-API-Key: live_xxx" \
  -H "Content-Type: application/json" \
  -d '{ "gstin": "23BEFPJ5660F2ZP", "username": "your_portal_user", "password": "•••", "payload": { "Irn": "a5c…", "CnlRsn": "1", "CnlRem": "Duplicate" } }'
Response
{
  "success": true,
  "data": { "Irn": "a5c…", "CancelDate": "2026-08-31 11:20:00" }
}

Response fields returned by the Cancel IRN API

FieldExample
successtrue
data.Irna5c…
data.CancelDate2026-08-31 11:20:00

Every field, error code and the full schema are in the Cancel IRN API reference.

Call the Cancel IRN API from Node.js or Python

Node.js
const res = await fetch('https://apisathi.in/gw/v1/einvoice-cancel-irn-v1/', {
  method: 'POST',
  headers: { 'X-API-Key': process.env.APISATHI_KEY, 'Content-Type': 'application/json' },
  body: JSON.stringify({"gstin":"23BEFPJ5660F2ZP","username":"your_portal_user","password":"•••","payload":{"Irn":"a5c…","CnlRsn":"1","CnlRem":"Duplicate"}}),
});
const data = await res.json();
Python
import os, requests

res = requests.post(
    "https://apisathi.in/gw/v1/einvoice-cancel-irn-v1/",
    headers={"X-API-Key": os.environ["APISATHI_KEY"]},
    json={"gstin":"23BEFPJ5660F2ZP","username":"your_portal_user","password":"•••","payload":{"Irn":"a5c…","CnlRsn":"1","CnlRem":"Duplicate"}},
    timeout=30,
)
data = res.json()

Cancel IRN API pricing

  • → From ₹3 per successful call + 18% GST
  • → Prepaid wallet from ₹200; no monthly fee, no minimum volume
  • → Failed or timed-out calls are not charged
  • → Bonus credit on recharges of ₹1,000 and above; GST invoice on every recharge
See live prices for every API →

Start in four steps

  1. Create a free account — about a minute.
  2. Call the Cancel IRN API with your TEST key in the sandbox, free.
  3. Recharge the wallet (UPI, card or netbanking) from ₹200.
  4. Switch to your LIVE key — the same key works for every API.
Create a free account →

Frequently asked questions

How long do I have to cancel?

The portal permits cancellation only for a limited period after registration. After that you issue a credit note instead — cancellation is refused.

Am I charged if the portal refuses the cancellation?

No. A rejection is returned as an error and the wallet hold is released. You pay only for calls the portal accepted.

How much does the Cancel IRN API cost?

The Cancel IRN API on API Sathi starts at ₹3 per successful call plus 18% GST, paid from a prepaid wallet. There is no monthly fee or minimum volume, and recharges of ₹1,000 or more earn bonus credit. Live prices for every API are on the pricing page.

Can I test the Cancel IRN API for free?

Yes. Every account gets a TEST key that calls the Cancel IRN API in the sandbox at no cost and returns realistic sample responses, so you can finish your integration before adding money to the wallet.

How do I get a Cancel IRN API key?

Sign up at apisathi.in — it takes about a minute — and create a key under API Keys. Use the TEST key in the sandbox, then recharge from ₹200 and switch to a LIVE key. The same key works for every API on API Sathi.

Start using the Cancel IRN API today

Sign up, recharge a prepaid wallet and generate a key in minutes. Lowest price guaranteed, no volume commitment.