Filing through the ICEGATE API
ICEGATE Open API filing — how submission actually works
What is ICEGATE Open API filing?
ICEGATE (the Indian Customs National Trade Portal) offers two ways to file SCMTR messages: uploading a JSON file through the portal, or submitting it machine-to-machine through ICEGATE's Open API. Either way, this platform submits for you — your declaration goes straight from the form to ICEGATE when you click submit, and you never hand-carry files between systems.
Which of the two channels carries it is the platform's problem, not yours. Today every filing goes through ICEGATE's file-upload channel — the same door the portal uses — which needs no ICEGATE credential or API key of yours, and nothing to set up in Settings. The Open API channel, which would let the platform fetch the acknowledgement itself, is not in use. Both submit the same signed file — and since 22 September 2026 an accepted filing is read off customs' own public record either way, as described below.
What do I need before I can submit through the platform?
An active ICEGATE registration for your filing organization, and an approved SCMTR registration against it — see Registering for SCMTR on ICEGATE. If you already file on the portal today, you have both.
You do not need to obtain or enter an ICEGATE API key. Submission to ICEGATE is handled by the platform, and there is nothing to configure in your organization settings for it. What your organization should fill in is its filing profile — sender ID, submitter type and code, and the authorised representative's PAN — because every new declaration starts from them, not because they authenticate anything. A CSN is sent under the sender ID it carries, so one you bring in from a file can be filed, amended or deleted before the profile is filled.
If your organization ever does hold its own ICEGATE credential on this platform, it is stored encrypted, never displayed back in full, and used only to submit filings on your organization's instruction.
How does the platform authenticate with ICEGATE?
On the Open API channel, ICEGATE issues short-lived access tokens: the platform exchanges its credential for a token valid for 15 minutes, reuses it while it lives, and fetches a fresh one when it expires. You never manage tokens yourself — if you see a token-related error in a filing's history, the platform has already retried with a fresh token. The portal channel uses no token at all.
What happens the moment I submit?
ICEGATE answers immediately with a basic validation result and a unique ID for the submission. That instant answer is not the customs decision — it only confirms ICEGATE received and queued your file. The platform records the unique ID and uses it to track everything that follows.
How does the customs decision come back?
Two ways, and which one settles the filing depends on what customs decided. An acceptance of a fresh filing sent from here is read off customs' own record: since September 2026 ICEGATE's public SAM/IGM enquiry publishes the CSN number and date, and the platform reads it for every waiting filing about every fifteen minutes. When the record names your transmission by its unique ID, it is your organisation's only filing on that master bill, and the record's packages and containers agree with what was sent, the CSN number and date are recorded and the filing turns accepted — marked in its history as read from customs' record, not from an acknowledgement. A rejection never appears on that record. ICEGATE emails every decision, accepted or rejected, to your registered ICEGATE email address as a file whose name ends in _ACK, and for a rejection that email is the only way it reaches you. Drop that file on the filing — or on SCMTR JSON upload — and the outcome is recorded against it: the CSN number, or every error explained. On a filing already accepted from the record, an acknowledgement that agrees is kept as the transmission's own answer. An amendment or a deletion is never settled from the record and waits for its _ACK.
A submission actually passes through two levels of validation at ICEGATE:
- Structural validation — does the file match the official message schema at all (required fields, formats, lengths)? A structural failure comes back quickly with pointers to the exact fields that failed. The platform's own form validation is built from the same official field matrix, so structural failures should be rare.Business validation — customs' own systems check the data against their directories and rules. Success returns a positive acknowledgement including your CSN number; failure returns a negative acknowledgement with an error code and description, which the platform shows against the filing.
Why does my filing say "submitted" but have no decision yet?
Because customs' decision has not reached the filing yet. An acceptance of a fresh filing usually reaches it on its own within a quarter of an hour of customs listing it on the public record; a rejection only when you drop the _ACK ICEGATE emailed onto the filing, and an amendment or deletion only from its _ACK either way. A filing still submitted hours after its siblings were accepted is one to look for in the registered mailbox — see What customs already holds and After you file.
What kinds of errors can come back from ICEGATE?
In plain language, the common ones are:
- Token invalid or expired — handled automatically; the platform re-authenticates and retries.Structural failure — a field is missing, too long, or in the wrong format; the platform shows exactly which field and why, so you can correct and resubmit.Business rejection — customs' rules rejected the content (for example an unrecognized code or reference); the rejection code and description are shown against the filing.Identity mismatches — the sender ID on the filing must match the ICEGATE registration used to submit it; every new declaration starts from your organization profile, and one brought in from a file keeps the sender ID it was filed under.
How would I file on ICEGATE myself, and where do I find the acknowledgement there?
Filers ask for "the steps to upload the JSON at ICEGATE", usually because a counterparty or a helpdesk told them to. What ICEGATE has published, in its own words:
- The channels. ICEGATE's SCMTR FAQ (Q16) names two: SMTP — e-mailing the signed file —
or web upload through the portal. Its 2022 message-filing FAQ gives the address the sea
messages go to by e-mail,
scmtr.prod@icegate.gov.in, for both the lines' SACHM23 and the
forwarders' SACHM22. The Open API this platform uses is the third, machine-to-machine route.
Whichever channel carries it, the file is the same: signed, and named to the seven-part
convention (F_SACHM22_SCE_<ICEGATE ID>_<job>_<date>_DECSigned.json), because ICEGATE reads
the filing's identity from the name.The acknowledgement. ICEGATE e-mails the ACK to the address registered against the ICEGATE
ID. On the ICEGATE 2.0 portal it can also be downloaded: Login → Download e-Copy → View/Download
SCMTR filing status (its 2025 FAQ, Q23). The CSN download — the record of your accepted
CSNs — is under Login → Services → Enquiries → ICEGATE Enquiry Service → Cargo summary
notification (Q31), and the export-side PCIN download beside it (Q33).The signing utility. ICEGATE's own JSON signer is what its FAQs mean by "the correct
utility"; the older digitalSign page the FAQ 2.0 links to no longer exists on the current
site, and the utility now lives behind the portal's DSC → Common Signer Utility menu. See
Signing your filing for the route this platform uses.The helpdesk. icegatehelpdesk@icegate.gov.in for filing issues,
registration@icegate.gov.in for registration, and the toll-free number 1800 3010 1000
(SCMTR FAQ 2.0, Q50). When you write, include the file name, the control number and the exact
e-mail or acknowledgement you received — the 2025 FAQ's answers all turn on those.None of this is needed to file through the platform, which submits and fetches the acknowledgement for you. It is here for the day a helpdesk asks you to do one step by hand.
Does the platform work with signed declarations?
Yes — and customs accepts nothing unsigned, so every filing goes this way. The signing happens on your own computer with your organisation's DSC: Sign & upload freezes the filing and the scmtr DSC Signer installed on your machine asks your token to sign it, without the file leaving the app. If you cannot install the Signer, the platform hands you the frozen file to sign on ICEGATE's own portal and upload back. Either way the private key never leaves your token, and the platform submits the exact signed bytes to ICEGATE unchanged. See Signing your filing.
Which ICEGATE environment does the platform talk to?
ICEGATE provides a test (UAT) environment and a production environment, and confirms the exact connection endpoints directly with integrators. The platform is configured for the environment ICEGATE has authorized it to use; this isn't something individual users need to set up or think about.
Still stuck on this?
The assistant answers from this exact page and the rest of our reference material, and names the documents behind every answer.
Have the file? Check it free — no sign-in
General information only — not legal or customs-compliance advice, and it may not reflect the most current ICEGATE/CBIC requirements. Verify against the official sources, or a licensed customs broker, before filing.