Introducing DigiLocker APIs
We’ve launched DigiLocker APIs that let you build consent-based, digital KYC flows. These APIs allow individuals to fetch verified documents like Aadhaar, PAN, and Driving License directly from DigiLocker, a digital document wallet trusted by millions.Workflow- Initiate Session: Generate a one-time DigiLocker link for document consent
- Session Status: Check real-time consent status and list of approved documents
- Fetch Document: Retrieve the requested document using session ID + document type
- One-hour retention: Documents are retained for up to 60 minutes, then auto-deleted
- You control the UX: Build your own flows, Sandbox just powers the backend
- Certified TSP: Sandbox is a government-recognized Technology Solution Provider
Sandbox Version 2.0
We’re excited to introduce Sandbox v2.0. Our new release includes redesigned website, Console - Billing & Subscription Management platform, new APIs, and more.This guide walks you through what’s new, the actions required from your end, and where to find support.What’s New
We started with a simple goal - to make taxes programmable for enterprises using simple and fast APIs. We focus on four pillars - RESTful APIs, easy-to-read documentation, Postman Collection and a self-serve onboarding experience.We continue to build these to improve your user experience. Here is a summary of improvements🌐 Website
Our new website catalogs all APIs, resources, use cases and customer stories together in one place. And most importantly, transparently communicates the pricing.📊 Console
Console is the control center for managing your Sandbox API subscription. We have enhanced following features📈 Monitoring: Understanding your API usage is important, not just for billing but also to drill down into what’s working and what’s not as well as spot unexpected usage. You can track your API usage in real-time, see the endpoints you’re hitting, all this with the breakdown into 2xx, 4xx and 5xx.💳 Payment Options: Many customers struggle with setting up payment mandates. You can now configure recurring payment method or make one-time payment to start your subscription. You can also configure primary and secondary payment methods to avoid failures.We have switched our payment gateway and existing payment mandates will be invalid, you have to configure new mandates. There should be no downtime, as we have added a 30-day grace period.
New virtual accounts have been issued on Console for your wallet. This means a new account number, IFSC and beneficiary name for the virtual account (VA). Deposit money only in the new VAs to use Paid APIs with your wallet balance.
🔌 APIs
We have further simplified our APIs - improved contracts, reduced latency, better documentation and more. Here are key updates.⚙️ Consistent REST Contracts: We have updated our APIs contracts to more closely follow REST convention which makes them easy to understand and integrate.📡 Webhooks: All async APIs now support webhooks - this makes it easy to build systems using event driven workflows. Webhook events also support large payloads as well as employ a retry mechanism to ensure delivery.🆕 New APIs: We are continuously adding APIs to our stack. You can find new API guides and references on API Docs here.🧩 Updated Client SDKs: Sandbox SDKs are available in Java and Node.js. You can also generate SDKs using Open API specification in a language of your choice.You can check the changelogs for complete details.Way Forward
✅ What You Need to Do
- Log in to Console
- Invite your team members
- Set up your payment method
- Monitor usage and manage API keys
💬 Need Help?
We know change can come with questions, and we’re here for you every step of the way.Start with our Help Center, where we’ve covered everything Console. You’ll find detailed changelogs & API references to guide you through the latest updates on Sandbox APIs.Still unsure or stuck? Just drop us a note at help@sandbox.co.in, raise a ticket or reach out to your relationship manager.Authentication: Feature Release
With Sandbox v2.0 Release going live, we have published new features, standardized API contracts to better align with REST guidlines and squashed bugs here and there.Authenticate API
Authenticate API will now have the standard Sandbox API response template.New ResponseOld Response📘For backward compatibility, access token will be present in the response at root for a period of 30 days.
Authorize API
Authorize API is now deprecated with one goal in mind, simplify Sandbox API Authentication. Only Authenticate API needs to be called to authenticate and get the token. Authorize API will be decomissioned within 30 days.Please go through the linked API endpoints to make the necessary changes to avoid any production impact. In case of any queries, feel free to reach out to help@sandbox.co.in, we are here to help.GST API: Feature Release
With Sandbox 2.0 Release going live, we have published new features, standardized API contracts to better align with REST guidlines and squashed bugs here and there.- Introducing Webhooks to empower true automation in GSTR-2B Reconciliation, GSTR-2A Reconciliation, List Sales e-Invoices and List Purchase e-Invoices Job APIs. Webhooks can be configured via Console. Read about configuring a webhook here.
- Sheet JSON structure change to aligh with JSON schema standards. This impacts
Please go through the linked API endpoints to make the necessary changes to avoid any production impact. In case of any queries, feel free to reach out to help@sandbox.co.in, we are here to help.
TDS API: Feature Release
With Sandbox 2.0 Release going live, we have published new features, standardized API contracts to better align with REST guidlines and squashed bugs here and there.- Introducing Webhooks to enable true automation in Potential Notices, Return Preparation, Return Filing, and Certificate Generation. Webhooks can be configured via Console. Read about configuring a webhook here.
- Sheet JSON structure change to aligh with JSON schema standards. This impacts
- TDS Potential Notices API
- TCS Potential Notices API
- TDS Return Preparation API
- TCS Return Preparation API
- Search FVU Generation Jobs API enables to fetch zip of FVU & Form 27A generated in past jobs.
- Change in contracts to align as per REST guidelines
| Feature | Old Endpoint | New Endpoint |
|---|---|---|
| E-File TDS Return Job | /tds/compliance/tin-fc/deductors/e-file/fvu | /tds/compliance/e-file |
| Search E-File TDS Return Jobs | /tds/compliance/tin-fc/deductors/e-file/search | /tds/compliance/e-file/search |
| Generate FVU Job | /tds/compliance/fvu-generation | /tds/compliance/fvu/generate |
| Check TDS Potential Notices Job | /tds/analytics/deductors/tdsrs/potential-notices | /tds/analytics/potential-notices |
| Search TDS Potential Notices Jobs | /tds/analytics/deductors/tdsrs/potential-notices/search | /tds/analytics/potential-notices/search |
| Check TCS Potential Notices Job | /tcs/analytics/deductors/tdsrs/potential-notices | /tcs/analytics/potential-notices |
| Search TCS Potential Notices Jobs | /tcs/analytics/deductors/tdsrs/potential-notices/search | /tcs/analytics/potential-notices/search |
| Prepare TDS Return Job | /tds/reports/deductors/tdsrs | /tds/reports/txt |
| Search Prepare TDS Return Jobs | /tds/reports/deductors/tdsrs/search | /tds/reports/txt/search |
| Prepare TCS Return Job | /tcs/reports/collectors/tcsrs | /tcs/reports/txt |
| Search Prepare TCS Return Jobs | /tcs/reports/collectors/tcsrs/search | /tcs/reports/txt/search |
Income Tax API: Feature Release
With Sandbox 2.0 Release going live, we have published new features, standardized API contracts to better align with REST guidlines and squashed bugs here and there.- New Calculator APIs built on top of powerful P&L and Tax P&L calculator engines
- Domestic Securities Tax P&L Report
- Calculate Tax P&L for Domestic Securities - Sync
- Calculate Tax P&L for Foreign Securities - Sync
- Introducing Webhooks to facilitiate true automation in Domestic Securities Tax P&L Report. Webhooks can be configured via Console. Read about configuring a webhook here.
- Change in contracts to align as per REST guidelines
| Feature | New Endpoint | Old Endpoint |
|---|---|---|
| Calculate Tax P&L for Domestic Securities | /it/calculator/tax-pnl/securities/domestic | /it-calculator/securities/domestic/report/tax-pnl |
| Calculate Tax P&L for Foreign Securities | /it/calculator/tax-pnl/securities/foreign | /it-calculator/securities/foreign/report/tax-pnl |
Generate FVU
This API allows you to generate the FVU file and Form 27A required for filing your TDS return by passing the TXT and CSI files. The job-based workflow ensures easy integration into your existing processes and completes the TDS return preparation journey as follows:- Generate TXT using the TDS Reports or TCS Reports API
- Download CSI File API
- Generate FVU API
- E-File TDS Return API
Introducing Criss-Cross Operations for Reliable e-Invoicing
We’re excited to introduce criss-cross operations, enabling seamless failover management between the two NIC portals: e-Invoice 1 (primary) and e-Invoice 2 (secondary).This feature is available for below APIs:- Cancel e-Invoice
- Get e-Invoice by IRN
- Get e-Invoice by Document Data
- Generate E-Way Bill by IRN
- Get E-Way Bill by IRN
New Headers: x-source and x-proxy
- x-source: Specifies the source to access, either primary (e-Invoice 1 portal) or secondary (e-Invoice 2 portal).
- x-proxy: Enables criss-cross operations by routing requests through the specified source (e.g., access primary via secondary if primary is unavailable).
How These Work Together:
Normal Flow: The client sets x-source to primary, and the system retrieves data directly from the primary source (e-Invoice 1 portal).Failover or Criss-cross Access: If the primary portal is inaccessible, the client can use x-proxy to specify an alternate route. For example:- x-source: primary (Target is e-Invoice 1 portal)
- x-proxy: secondary (Route through e-Invoice 2 portal to access data of e-Invoice 1 portal)
Generate E-Way Bill to unregistered persons
Earlier, generating E-Way Bills to unregistered persons was only possible using the E-Way Bill portal. With the latest update, consigners can now generate E-Way Bills to unregistered persons using Sandbox API. Simply pass “urp” in the toGstin field while creating an E-Way Bill.File GSTR-9 API
GSTR-9 is the annual return under GST that provides a comprehensive summary of a taxpayer’s monthly or quarterly filings during a financial year. It consolidates details of outward and inward supplies, taxes paid, input tax credit (ITC), and adjustments or refunds.Sandbox has launched new GST Taxpayer APIs to enable automation of GSTR-9 workflows. Below are the APIs released.Get e-Invoices generated within last 6 months
We have added new GST Taxpayer APIs to retrieve e-Invoices generated within the last 6 months directly from the GST Network. Previously, it was only possible to access e-Invoices generated within the past 3 days, as data was ported from the e-Invoice portal to the GST portal. Below are the APIs released.Sheet JSON Converter APIs
Financial information required for tax compliance is typically stored in Excel files or formats. However, while Sandbox APIs process this data in a Sheet-JSON structure, developers often face the challenge of manually mapping values and performing conversions, which can significantly extend development timelines.The introduction of the Sheet-JSON APIs resolves this issue by providing an efficient way to handle conversions between Excel (XLSX) and Sheet-JSON formats. This automation eliminates the need for manual mapping, significantly speeding up the development process. The APIs include:- XLSX to Sheet JSON: Converts XLSX files into Sheet-JSON format.
- Sheet JSON to XLSX: Converts Sheet-JSON data back into XLSX files.
New Contract for PAN-Aadhaar Link Status
We have deployed a new contract for this API. Consequently, the previous contract has been marked deprecated. The API contract has changed as per our POST to GET thought process, which you can read about here.| API Name | New Contracts | Deprecated Contracts |
|---|---|---|
| PAN-Aadhaar Link Status | sandbox_host/kyc/pan-aadhaar/status | sandbox_host/it-tools/pans/pan/pan-aadhaar-status |
Changes in the API request
The API is now aPOST request, requiring pan and aadhaar_number to be passed in the request body. Furthermore, the following keys are now required as well:@entityconsentreason
Changes in the API response
The following keys have been added@entityaadhaar_seeding_status
Discontinuation of old contracts
The old contracts have been deprecated and will be discontinued soon. Timelines will be communicated.Regenerate GSTR-2B on-demand
With Sandbox APIs, you can regenerate GSTR-2B on-demand regeneration. whenever actions are taken on invoices within the Invoice Management System (IMS), the GSTR-2B gets outdated, which means it needs to be regenerated. GSTR-2B regeneration ensures that the latest invoice status (Accepted/Rejected/Pending) is reflected in GSTR-2B in real time, improving compliance accuracy.To facilitate this, Sandbox has integrated and released the following APIs:- Regenerate GSTR-2B: Trigger a real-time generation of GSTR-2B when invoice actions are taken in IMS.
- GSTR-2B Regeneration Status: Check the processing status of an On-Demand GSTR-2B generation request.
GST Invoice Managenent System (IMS) API
The Invoice Management System (IMS) on the GST portal streamlines invoice management and reconciliation by allowing recipients to accept, reject, or mark invoices as pending. Sandbox IMS API enable for businesses to automate these processes.To facilitate and enable IMS workflows, Sandbox has integrated and released below IMS APIs.- Get Invoice Count: Obtain the count of invoices along with their current status available on IMS
- Get Invoices: Fetch invoice objects with their status in real time
- Save Invoice Status: Save invoices status on IMS
- Reset Invoice Status: Reset invoices status on IMS
- Check Invoice Status: Check status of action taken on invoices
Generate e-Invoice PDF
With the Generate e-Invoice PDF API, you can instantly generate a downloadable e-Invoice PDF. The PDF follows the NIC e-Invoice template, making it easy to share with recipients in a consistent format. This API completes the invoice generation flow, as below.- Generate e-Invoice API
- Generate e-Invoice PDF API
- Share with the recipients
GSTR-2A Reconciliation with Purchase Ledger
GSTR-2A is an dynamic statement generated by the GST Department that contains details of purchases and gets updated whenever new invoices are reported by suppliers. Automating GSTR-2A reconciliation helps match your purchase ledger with the GSTR-2A statement, identify discrepancies in advance to take action and avoid issues during time of filing.The API accepts two inputs: the GSTR-2A and a purchase ledger (in Sheet-JSON format) consisting of invoice and debit note details. Based on this input, the API generates a reconciliation report in XLSX format, providing a summary and document-level matching information for invoices and debit notes. This streamlines the reconciliation process, enabling finance teams to quickly identify and address discrepancies.For more details, you can refer to the documentation: GSTR-2A ReconciliationX-Accept-Cache header support added in KYC API
X-Accept-Cache header gives more control to API users over caching in Sandbox APIs. The following APIs now support this header:You can read more about the header here.GSTR-2B Reconciliation with Purchase Ledger
GSTR-2B is an auto-drafted statement generated by the GST Department that contains details of purchases and Input Tax Credit (ITC). Automating GSTR-2B reconciliation helps match your purchase ledger with the GSTR-2B statement, identify discrepancies, and accurately claim ITC.The API accepts two inputs: the GSTR-2B and a purchase ledger (in Sheet-JSON format) consisting of invoice and debit note details. Based on this input, the API generates a reconciliation report in XLSX format, providing a summary and document-level matching information for invoices and debit notes. This streamlines the reconciliation process, enabling finance teams to quickly identify and address discrepancies.Deprecated contracts for GST E-Way Bill API
We have deployed new API contracts for GST E-Way Bill APIs, as detailed in the changelog here. Consequently, the previous contracts have been deprecated.Discontinuation
The deprecated contracts will be discontinued on 31st October 2024.New contracts for GST E-Way Bill API
New API contracts for GST E-Way Bill API have been published along with improvements and bug fixes.New contracts
Change in endpoints
At a high level, the endpoints have changed in the fashion below. However, for specific APIs, please refer to the API reference for complete details.| New endpoints | Deprecated endpoints |
|---|---|
| sandbox_host/gst/compliance/e-way-bill/tax-payer/endpoint | sandbox_host/ewb/tax-payer/endpoint |
Improvements
Schema validation
As a high number of requests are invalid as per NIC schemas, we have enabled schema validation on the E-Way Bill APIs. The API which will return Invalid request body if request body does not match the schema. We have added the schemas on our E-Way Bill APIs documentation for reference.How to validate the request body with schema
- Go to JSON Schema Validator.
- Copy the schema from API reference page and paste in the Select Schema box (left).
- Paste your request body in the Input JSON box (right).
- The validator will show you errors if any. Change the request body accordingly until no errors are found.
Change in issuer for E-Way Bill access token
Issuer has been changed to “irp1.gst.gov.in” in the access token.GSTIN transformation
GSTIN passed in lowercase will be transformed to uppercase and then request will be executed.Bug Fixes
- E-Way Bill access token: Wrong expiry has been corrected.
Discontinuation of Old MCA API Contracts
As notified in the changelog dated 23.04.2024, the older contract of MCA APIs will be discontinued by 31st October 2024. Existing users are to keep this in mind and accordingly plan their migration to the new API contracts.Discontinuation of V1 Aadhaar OKYC API
As notified in the changelog dated 14.05.2024, version 1.0 of Aadhaar OKYC APIs will be discontinued by 31st October 2024. All requests and responses will be as per version 2.0 of the API contract.Existing users should keep this in mind and plan their migration to the new API contracts accordingly.Potential Notices API
With this API, deductors and collectors can avoid penalties and notices related to their TDS and TCS returns, saving the time and effort required for filing correction returns.The API accepts the same sheet-json used for TDS reports and returns an XLSX file containing detailed reports of transactions or challans that may result in a notice, simplifying the process for finance teams to make necessary changes.You can refer to the API documentation for more details:X-Accept-Cache header support added in GST Public API
X-Accept-Cache header gives more control to API users over caching in Sandbox APIs. Search GSTIN API and Track GST Returns API now support X-Accept-Cache header. You can read more about the header here.New contract for Search GSTIN by PAN API
With Search GSTIN by PAN API, one can pass the PAN and state code to get the GST Registration details for any business. This helps in easy onboarding and verification of vendors or business clients. We have published the new contract for Search GSTIN by PAN API.Change in endpoint
| New endpoint | Deprecated endpoint |
|---|---|
| sandbox_host/gst/compliance/public/gstin/pan/search | sandbox_host/gsp/public/pan/pan |
POST to GET
The API contract has been added as per our thought-process about which you can read here.X-Accept-Cache header
The new contract for Search GSTIN by PAN API supports X-Accept-Cache header. You can read more about this here.Download Form-16 APIs
After filing their TDS returns, deductors must issue TDS certificates such as Form 16 (if the deduction took place for salary payments) and Form 16A (for non-salary payments).Through our Download Form 16 APIs, users can download their or their clients’ Form 16s for a given TAN, quarter, and financial year, easily generating volumetric certificates.The API also gives users the option of whether Sandbox should remember credentials, allowing users to submit and poll jobs without storing credentials on our end.Refer to the API documentation for more details:Older API contracts for TDS Reporting
We have released a new and updated set of TDS Report APIs. Following are the APIs marked deprecated:- TDS Reporting API
Discontinuation
The deprecated contracts will be discontinued by 31st July 2024. Existing users are to keep this in mind and accordingly plan their migration to the new API contracts.New TDS Reports API
As part of POST for GET, we have released new TDS Reports APIs.While the flow for preparing TDS returns remains the same, there are changes in the entities, request payload and enumerations. All of these have been updated in the API documentation.These changes allow users to easily integrate with our other APIs since the enumerations used are repeatable.Moreover, with the introduction of the Fetch Jobs API, users can now easily retrieve the status of all their TDS Report jobs submitted through Sandbox APIs.TCS Reports API
Similar to TDS, TCS returns are to be filed every quarter. In order to do so, the collector needs to create a .txt file containing all the necessary details of transactions that need to be submitted to the government.Through the TCS Reports API, users can generate their .txt file, reducing man-hours, minimizing errors, and allowing easy generation of the file for bulk transactions.Refer to the API documentation for more details:To understand the payload to be passed, you can refer to the documentation here.206AB & 206CCA Compliance Check
To verify if a given PAN belongs to a specified person as per the Income Tax Act, you can use this API. Based on the API’s response, you can deduct the relevant TDS when making any payments to that person.The API requires the following parameters:- PAN: The PAN number of the person you are verifying.
- Consent: Consent from the user for the check.
- Reason: The reason for checking if they are a specified person.
New TDS Return APIs
As part of POST to GET, we have released new TDS Return APIs. While the methods to file TDS returns by providing TXT and CSI files or by submitting a zip file containing the FVU and Form 27A existed in previous contracts, we are enhancing the capabilities and streamlining the process with these new endpoints.Moreover, with the introduction of the Fetch Jobs API, users can now easily track and retrieve the status of their TDS return jobs submitted through Sandbox APIs.Using TXT & CSI
You can refer to the new endpoints for TDS Return APIs using TXT and CSI hereConsequently, the previous contracts have been deprecated.Using FVU & Form 27A
You can refer to the new endpoints for TDS Return APIs using the zip of FVU & Form27A hereConsequently, the previous contracts have been deprecated.Fetch Jobs API
Users can now utilize this API to Fetch TDS Return Jobs based on the providedtan, quarter, form & financial_year. Additionally, you have the option to retrieve jobs within a specified period for easier search and more flexible filtering.Older API contracts for TDS return filing
We have released a new and updated set of TDS Return Filing APIs. Following are the APIs marked deprecated:- TXT and CSI
- FVU & Form 27A
Discontinuation
The deprecated contracts will be discontinued by 31st July 2024. Existing users are to keep this in mind and accordingly plan their migration to the new API contracts.Changes in Aadhaar OKYC API
We have improved the API requests and responses for ease of use for the users.You need to pass📘This is a versioned change
x-api-version as 2.0 to access the updated API. The existing version is marked deprecated. The API documentation has been updated as per this version.Generate OTP API
Changes in Request Body
- The following Keys have been added
@entityconsentreason
Changes in Response
- The following Keys have been added
@entity
- The following Keys have been renamed
ref_idis nowreference_id
Verify OTP API
Changes in Request Body
- The following Keys have been added
@entity
- The following Keys have been renamed
ref_idis nowreference_id
Changes in Response
- The following Keys have been added
share_code
- The following Keys have been renamed
ref_idis nowreference_iddobis nowdate_of_birthdistis nowdistrictpois nowpost_officesubdistis nowsubdistrictaddressis nowfull_addresssplit_addressis nowaddressemailis nowemail_hashphoto_linkis nowphoto@entityvalue has changed
Discontinuation of old contracts
The existing version of this API is marked deprecated and will be discontinued soon. Timelines will be communicated.TCS Calculator API
We have gone live with TCS Calculator API. Now Calculate the TCS collectible on incoming payments by providing us the values such as thenature_of_payment, payment_amount and among other details.API will then determine the collection_amount, collection_rate, section&due_date to deposit the TCS amount.API ResponseNew contracts for MCA APIs
We have deployed new API contracts for MCA APIs. Consequently, the previous contracts have been deprecated.| API Name | New Contracts | Deprecated Contracts |
|---|---|---|
| Company Master Data | sandbox_host/mca/company/master-data/search | sandbox_host/mca/companies/:id |
| Director Master Data | sandbox_host/mca/director/master-data/search | sandbox_host/mca/directors/:din |
Changes in the API request
Company Master Data API
New RequestDirector Master Data API
New RequestChanges in the API response
\
Company Master Data APIThe following Keys have been addedrd_regionbalance_sheetsarray consisting of:date_of_filingfinancial_year
annual_returnsarray consisting of:date_of_filingfinancial_year
status_under_cirp(for LLPINs),llp_strike_off/_amalgamated_date(for LLPINs),designation(for directors)
asset_under_chargenumber_of_members(applicable_in_case_of_company_without_share_capital)
Director Master Data API
We have addeddesignation of the director and remove the active_complaince key.New ResponseDeprecation of old contracts
The old contracts have been deprecated and will be discontinued soon. Timelines will be communicated.New contracts for GST e-Invoice API
New API contracts for GST e-Invoice API have been published along with improvements and bug fixes.New contracts
Change in endpoints
At a high level, the endpoints have changed in the fashion below. However, for specific APIs, please refer to the API reference for complete details.| New endpoints | Deprecated endpoints |
|---|---|
| sandbox_host/gst/compliance/e-invoice/tax-payer/endpoint | sandbox_host/irp/tax-payer/endpoint |
POST to GET
Some API contracts have changed as per our thought-process about which you can read here. Below APIs have changed as per our design choice.Improvements
Schema validation
As a high number of requests are invalid as per NIC schemas, we have enabled schema validation on the e-Invoice APIs. The API which will return Invalid request body if request body does not match the schema. We have added the schemas on our e-Invoice APIs documentation for reference.How to validate the request body with schema
- Go to JSON Schema Validator.
- Copy the schema from API reference page and paste in the Select Schema box (left).
- Paste your request body in the Input JSON box (right).
- The validator will show you errors if any. Change the request body accordingly until no errors are found.
Change in issuer for e-Invoice access token
Issuer has been changed to “irp1.gst.gov.in” in the e-Invoice access token.GSTIN transformation
GSTIN passed in lowercase will be transformed to uppercase and then request will be executed.Bug Fixes
- e-Invoice access token: Wrong expiry has been corrected.es will be communicated.
Deprecated contracts for GST e-Invoice API
We have deployed new API contracts for GST e-Invoice APIs, as detailed in the changelog here. Consequently, the previous contracts have been deprecated.Discontinuation
The deprecated contracts will be discontinued on 31st October 2024Crypto Tax PnL API
With the new version of Crypto PnL API, we have added support for crypto futures along with pnl and tax calculations of crypto spot trading.This addition in the API changes the request and response structure in the newer version, these changes are as follows.Changes in the request body
- Created two separate sheets for the spot tradebook and futures tradebook. Transactions from the spot market need to be passed in the
crypto_currency_spot_tradebook_sheetand transactions from trading crypto futures are required to be passed in thecrypto_currency_future_tradebook_sheetrespectively. Both the sheets also have a block where the last traded price of cryptocurrency or contract is to be passed. - Added labels-
margin,margin_gain, andmargin_loss. These labels are required to be passed in the spot tradebook sheet when the user has traded crypto futures.
Changes in the response body
- Two separate sheets will be given for tradewise pnl of spot and futures.
- Instead of a separate sheet for holdings of cryptocurrencies, it will be given as a block within the
crypto_currency_spot_tradewise_tax_pnl_sheet. Similarly, open positions in crypto futures will be given within thecrypto_currency_future_tradewise_tax_pnl_sheet - Tax pnl summary sheet will show the income from crypto futures as business & profession income as a non-speculative business income.
New contracts for GST Public and Taxpayer API
New API contracts for GST Public APIs and GST Taxpayer APIs have been published along with improvements and bug fixes.New contracts
Change in endpoints
At a high level, the endpoints have changed in the fashion below. However, for specific APIs, please refer to the API reference for complete details.Change in response
The new contracts have a change in the response nesting.New API ResponseDeprecated API ResponsePOST to GET
Some API contracts have changed as per our thought-process about which you can read here. Below APIs have changed as per our design choice.Improvements
Change in issuer for Taxpayer access token
Issuer has been changed to “gst.gov.in” in the Taxpayer access token.GSTIN transformation
GSTIN passed in lowercase will be transformed to uppercase and then request will be executed.Bug Fixes
- Taxpayer access token: Wrong expiry has been corrected.
Deprecated contracts for GST Public and Taxpayer API
We have deployed new API contracts for GST Public APIs and GST Taxpayer API, as detailed in the changelog here. Consequently, the previous contracts have been deprecated.Change in endpoints
| GST API | New endpoint | Deprecated endpoint |
|---|---|---|
| Public | sandbox_host/gst/compliance/public/endpoint | sandbox_host/gsp/public/endpoint |
| Taxpayer | sandbox_host/gst/compliance/tax-payer/endpoint | sandbox_host/gsp/tax-payer/endpoint |
Discontinuation
The deprecated contracts will be discontinued on 31st October 2024Verify PAN Details API
In line with the changes communicated by the income tax department, we have released the Verify PAN Details API. The new contract requires the user to pass the PAN, name as per PAN, and date of birth to verify the entity.[Deprecated] PAN Basic and PAN Advance API
While existing PAN Verification APIs are working, the upstream partners have confirmed that they will be discontinued by 30th April.As such, we have marked them deprecated and recommend immediate migration to the new Verify PAN Details API.PAN Basic and Advance API
While existing PAN Verification APIs are working, the upstream partners have confirmed that they will be discontinued by 30th April in line with the changes communicated by the income tax department.As such, we have marked them deprecated and recommend immediate migration to the new Verify PAN Details API.Contract changed for TDSR E-File API
January 5th, 2024- Contract Changed: TDSR E-file APIs using TXT & CSI File
- Contract Changed: TDSR E-file APIs using FVU & Form27A
TDSR E-file API using TXT & CSI file
The API has minor changes in the endpoint and response structure. Note that the changes are in immediate effect.Users will still be able to hit the previous version of the API until 29th February 2024New Endpoint
| Previous | New |
|---|---|
| /tds-compliance/tin-fc/deductors/:tan/tdsrs/:form/e-file | /tds/compliance/tin-fc/deductors/:tan/tdsrs/:form/e-file |
Changes in the API response structure
The API response will now include the @entity and status key. A sample payload can be seen below:JSON| Previous | New |
|---|---|
| JOBCREATED | created |
| JOBQUEUED | queued |
| JOBDONE | succeeded |
| JOBFAILED | failed |
TDSR E-file API using FVU & Form27A
The API has minor changes in the endpoint and response structure. Note that the changes are in immediate effect.Users will still be able to hit the previous version of the API until 29th February 2024.New Endpoint
| Previous | New |
|---|---|
| /tds-compliance/tin-fc/deductors/:tan/tdsrs/fvu/e-file | /tds/compliance/tin-fc/deductors/:tan/tdsrs/fvu/e-file |
Changes in the API response structure
The API response will now include the @entity and status key. A sample payload can be seen below:JSON| Previous | New |
|---|---|
| JOBCREATED | created |
| JOBQUEUED | queued |
| JOBDONE | succeeded |
| JOBFAILED | failed |
Changes we have brought in:
- New API: Bank Account Verification [Penny-Less].
- New Major Version for Bank Account Verification [Penny-Drop] & UPI Verification API.
[New] Bank Account Verification [Penny Less]
Avoid dropping a penny when verifying Bank Accounts through Bank Account Verification [Penny Less] API.The user needs to pass the IFSC and account number of the beneficiary to verify their account. Only a select list of banks can be verified through this API.Bank Account Verification [Penny Drop] Version 3.0
The new version introduces new responses and changes in the API response structure. Note that thex-api-version request header will require 3.0 to call the new version.Users will still be able to hit the previous version of the API (2.0) until 30 November 2023 before it is deprecated.Changes in the API response structure
The API response will now include the @entity key, a sample payload can be seen below:JSONUPI Verification Version 2.0
The new version introduces new responses and changes in the API response structure. Note that thex-api-version request header will require 2.0 to call the new version.Users will still be able to hit the previous version of the API (1.0) until 30 November 2023 before it is deprecated.Changes in the API response structure
The API response will now include the @entity key, a sample payload can be seen below:JSONChanges we have brought in
- TDS Reporting API contracts are updated as per the newly released ITD utility.
Contract changes for TDS Reporting APIs
❗️Changes are non-backward compatible.
Enumerations released by ITD
| New sections | Introduced in |
|---|---|
| 194BA - Winnings from online games | Form 26Q & Form27Q |
| 194BA-P - Net Winnings from online games where the net winnings are made in kind or cash is not sufficient to meet the tax liability and tax has been paid before said winnings are released | Form 26Q & Form27Q |
| 194NC- Payment of certain amounts in cash to co-operative societies | Form 26Q & Form27Q |
| 194N-FT - Payment of certain amount in cash to non-filers being co-operative societies | Form 26Q & Form27Q |
| 194N - Payment of certain amount in cash | Form 26Q |
| 194NF - Payment of certain amounts in cash to non-filers | Form 26Q |
| 194B - Winnings from Lotteries, Puzzle, etc | Form 27Q |
| 194BB - Winnings from Horse Race | Form 27Q |
| 194B-P - Winnings from lottery and crossword puzzle, etc where consideration is made in kind or cash is not sufficient to meet the tax liability and tax has been paid before such winnings are released | Form 27Q |
| 194LC(2) (i) & (ia) - Income by way of interest from Indian company engaged in certain Business before 01.07.2023 | Form 27Q |
| 194LC(2) (ib) - Income by way of interest from bonds | Form 27Q |
| 194LC(2) (ic) - Income by way of interest from Indian company engaged in certain Business after 01.07.2023 | Form 27Q |
| Previously used section | Updated section |
|---|---|
| 194B - Lotteries / Puzzle / Game | 194B - Winnings from Lotteries, Puzzle, etc. |
| 194B-P - Winnings from lotteries and crossword puzzles where consideration is made in kind or cash is not sufficient to meet the tax liability and tax has been paid before such winnings are released | 194B-P - Winnings from lottery and crossword puzzle, etc where consideration is made in kind or cash is not sufficient to meet the tax liability and tax has been paid before such winnings are released |
| New Reason for Lower Deduction | Introduced in |
|---|---|
| Transaction where Tax not been deducted as amount paid to vendor/party has not exceeded the threshold limit | Form 27Q |
| New Minor Head | Introduced in |
|---|---|
| (100) Advance Tax | Form 27Q |
| New Nature of Remittances introduced (Form 27Q Only) |
|---|
| Long Term Capital Gain u/s 115E in case of NRI Citizen |
| Long Term Capital Gain u/s 112(1)(c)(iii) |
| Long Term Capital Gain u/s 112 |
| Long Term Capital Gain u/s 112A |
| Short Term Capital Gains u/s 111A |
| Previous | Updated by ITD |
|---|---|
| Long-Term Capital Gains | Long-Term Capital Gains (Others) |
API Changes
New inputs have been introduced in the JSON payload.Form 26Q
| New keys in Request Body |
|---|
| amount_of_cash_withdrawal_more_than_1_crore_us_194N |
| amount_of_cash_withdrawal_between_20_lakhs_and_1_crore_us_194N_for_non_filers |
| amount_of_cash_withdrawal_more_than_1_crore_us_194N_for_non_filers |
| amount_of_cash_withdrawal_more_than_3_crore_us_194N_for_co-operative_societies |
| amount_of_cash_withdrawal_between_20_lakhs_and_3_crore_us_194N_for_non_filer_co-operative_societies |
| amount_of_cash_withdrawal_more_than_3_crore_us_194N_for_non_filer_co-operative_societies |
| Previous | Updated keys in Request Body |
|---|---|
| education_cess | health_and_education_cess |
Form27Q
| New keys in Request Body |
|---|
| amount_of_cash_withdrawal_more_than_3_crore_us_194N_for_co-operative_societies |
| amount_of_cash_withdrawal_between_20_lakhs_and_3_crore_us_194N_for_non_filer_co-operative_societies |
| amount_of_cash_withdrawal_more_than_3_crore_us_194N_for_non_filer_co-operative_societies |
| Previous | Updated keys in Request Body |
|---|---|
| education_cess | health_and_education_cess |
Form24Q
| Previous | Updated keys in Request Body |
|---|---|
| education_cess | health_and_education_cess |
Form 24Q (Q4)
| New keys in Request Body |
|---|
| other_special_allowances_under_section_10_14 |
| gross_amount_us_80_cch |
| deductible_amount_us_80_cch |
| Previous | Updated keys in Request Body |
|---|---|
| education_cess | health_and_education_cess |
Changes we have brought in
- New response parameters added in GST Compliance APIs (Public, Taxpayer API)
- Response caching added in PAN Verification Basic API
- Added section 80EE in Income Tax Calculator API
- New error handling states added in Aadhaar Offline e-KYC API
- Response parameter replaced in Section 206AB & 206CCA Check API, non-backward compatible change
New response parameters in GST Compliance APIs
The API response body of the GST Public and GST Taxpayer APIs has been updated. A new variable status_cd (status code) has been added, streamlining the API response with the GSTN.Response Caching on PAN Verification [Basic]
Please note that caching has been enabled on this API. As a result, the response for a particular PAN verification request will be cached for 24 hours. If the same PAN is verified again within this time frame, you will receive a cached response. You can identify a cached response by looking at the X-Cache header in the response.It’s important to note that no wallet charges will be deducted for cached responses, but the usage of the API will still be counted.Error handling in Aadhaar Offline e-KYC Verify OTP
Error handling was updated and new responses were added, as mentioned below.| Code | Message |
|---|---|
| 422 | OTP missing in request |
| 422 | Invalid Reference Id |
| 500 | Invalid OTP |
Inclusion of Section 80EE in Income Tax Calculator API [Deprecated]
We have introduced Section 80EE as an input in the JSON body for the calculation of Income Tax. This is an optional field that can be passed if the required data is present.Introduction of PAN Status key in Section 206AB & 206CCA API
In line with the changes made by the Department, the aadhaar_seeding_status key has now been replaced with pan_status in the response. The response will include eitherOperative or Inoperative.KYC API - Aadhaar
We are pleased to announce the release of the Aadhaar Verification API. The Aadhaar verification workflow has 2 API- Aadhaar Offline e-KYC Generate OTP
- Aadhaar Offline e-KYC Verify OTP
[NEW] TDS Reporting APIs
API users can now generate .txt files for the following TDS Forms- Form 24Q : TDS Deduction on Salary Payments
- Form24Q (Q4): TDS Deduction on Salary Payments (Including Salary Details)
- Form27Q : TDS Deducted on Non-Salary Payments from NRIs
**📘The API contract remains the same. However, the form type needs to be passed in the path parameter
<u>formof the ** Prepare TDS Return API and the payload accordingly in the presigned URL</u>
[NEW] GST e-Invoice & E-Way Bill APIs
Users can now automate GST e-Invoicing and E-Way Billing using Sandbox APIs- e-Invoice: Get, Generate and Cancel e-Invoices (IRNs), generate and get E-Way Bill on IRNs
- E-Way Bill: Get, Generate, Update, Reject and Extend E-Way Bills as well as generate consolidated E-Way Bills and Initiate Multi-Vehicle Movements
TDS Compliance E-File APIs
The E-File API now supports different filing methods. Users can now file their TDS Return- By uploading the TXT & CSI File
- By uploading the zip containing FVU & Form 27A
❗️Change are non-backward compatible.
Change in API Contract
- The E-File API using the zip of FVU & Form 27A has a new endpoint
- Users will still be able to hit the previous endpoint of the API until 31st March 2023 before it is discontinued.
- The endpoint for E-File API using TXT & CSI File can be found here
Improvements for large payloads
- If the number of transactions is high, the payload may be too large for an API gateway to support.
- To overcome this infrastructure issue, the E-File API will now return a pre-signed URL.
- Using an HTTP
PUTrequest, API users can upload payloads up to 5 GB to the given pre-signed URL.
PAN Verification API (Advance)
The updated API endpoint includes the implementation of caching, updated API request response, improved charging mechanism & better pricing.🚧Note that this change is not backward compatible.
Change in API Contract
- The PAN Verification Advance API is now a POST request API with the new endpoint:
https://api.sandbox.co.in/kyc/pan - Users will still be able to hit the previous endpoint of the API until 28th February 2023 before it is discontinued.
Introducing Caching
- We will now have cached responses on the already verified PAN number for 24 hours.
- This means that if the same PAN is verified again, you will receive a cached response.
- You can identify the cached response with the
X-Cacheheader. - No wallet charges will be levied on cached responses, however, usage will be counted.
PAN-Aadhaar Link Status
There is an update in the API endpoint.🚧Note that this change is not backward compatible.
Change in API Contract
- The new endpoint of PAN-Aadhaar Link Status:
https://api.sandbox.co.in/it-tools/pans/{pan}/pan-aadhaar-status - You can refer to the updated documentation here.
Bank Account Verification [Penny Drop] Version 2.0
The new version includes the implementation of caching, updated API responses, and an improved charging mechanism.🚧Note that this version is not backward compatible.
Change API Contract
- The
x-api-versionrequest header will require2.0to call the new version. - Users will still be able to hit the previous version of the API (1.0) until 31st January 2023 before it is deprecated.
- The endpoint will point to the latest version when the version is not passed in the request header.
Introducing Caching
- We will now have cached responses on the already verified bank accounts for 12 hours.
- This means that if the same account is verified again, you will receive a cached response.
- You can identify the cached response with the
X-Cacheheader. - No wallet charges on cached responses, however, usage will be counted.
Improvements in the Charging Mechanism
- If the
codeis 200 but the penny drop did not take place, then the wallet charge of 0.75 + GST will take place as a verification charge. The reason for the failed penny drop will be mentioned in the response.
Tax Payment APIs Entity changes
As we migrate our systems from OLTAS to TIN 2.0, we had to incorporate a few changes to the API contracts.Changes in the challan entity
The Challan entity has been revamped significantly in view of TIN2.0. Previously, this challan would provide the following parameters:bsr_codechallan_no.download_url
cin number. Refer to this article on how to download the challans henceforth.🚧Note that Fetch Challan API has been deprecated for the same reasons.
Changes in other entities
A few other entities have also undergone changes:- The
addressentity has been removed from thetax_payerentity - In the
tax_breakupentityother_amountandother_feehave been replaced withothers.interest_amounthas been changed tointerest.penaltyis no more an entity, but rather a parameter with an integer value.