GSTR-1 Filing API

Programmatically file GSTR-1 returns (outward supplies) through the GSP channel. JSON-in / JSON-out. OAuth 2.0, sandbox available, 99.99% SLA.

Get sandbox keys → View OpenAPI docs Talk to sales

What is the GSTR-1 Filing API?

The GSTR-1 Filing API lets developers submit monthly or quarterly outward-supplies returns directly to the GSTN via the WhiteBooks GSP gateway. It accepts the standard GSTN JSON schema for invoices, credit notes, debit notes, advances, and amendments — and returns the GSTN-assigned ARN within seconds.

WhiteBooks validates the payload locally before forwarding to GSTN (catching ~95% of common rejection causes upfront), retries upstream transient failures automatically, and publishes a webhook on final acceptance so your accounting system can stamp the filing without polling.

Quick spec

Code examples

curl Node.jsPythonJava
curl -X POST 'https://apisandbox.whitebooks.in/gst/api/v1/gstr1/file' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{ /* payload */ }'
Node.js
const res = await fetch('https://apisandbox.whitebooks.in/gst/api/v1/gstr1/file', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer ' + accessToken,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(payload),
});
const data = await res.json();
Python
import requests

resp = requests.post(
    'https://apisandbox.whitebooks.in/gst/api/v1/gstr1/file',
    headers={'Authorization': f'Bearer {access_token}'},
    json=payload,
)
data = resp.json()
Java
HttpRequest req = HttpRequest.newBuilder()
    .uri(URI.create("https://apisandbox.whitebooks.in/gst/api/v1/gstr1/file"))
    .header("Authorization", "Bearer " + accessToken)
    .header("Content-Type", "application/json")
    .post(BodyPublishers.ofString(payload))
    .build();
HttpResponse<String> resp = HttpClient.newHttpClient()
    .send(req, BodyHandlers.ofString());

Integrate in 3 steps

  1. Sign up at accounts.whitebooks.in — sandbox credentials issued instantly, no sales gate.
  2. Make your first call against the sandbox base URL using the code example above. Validate against your local model.
  3. Move to production once your tests pass — switch host to https://api.whitebooks.in/gst. Same payload, same response shape.

Frequently asked questions

What is the WhiteBooks GSTR-1 Filing API?

A REST endpoint that submits the GSTN-format JSON for a tax period and returns the ARN. Authentication is OAuth 2.0 bearer. Sandbox + production both available.

Does the API support quarterly filers (QRMP)?

Yes. Pass period as YYYYMM for monthly, or as YYYY-Q1/Q2/Q3/Q4 for quarterly filers under QRMP. The API auto-routes.

Can I amend a previously-filed GSTR-1?

Yes. Submit an amendment payload referencing the original ARN; the API validates eligibility (within current FY) and routes the amendment.

How does WhiteBooks compare to ClearTax for GSTR-1?

WhiteBooks publishes the spec at /openapi/gst.json with sandbox keys issued without a sales gate. ClearTax requires contact-form signup. See /compare/whitebooks-vs-cleartax for details.

Explore the full GST API

This is one endpoint inside the WhiteBooks GST API suite. See the full documentation — every endpoint, every parameter, every error code.

Open the GST API page →

Related GST API endpoints

GSTR-2B Fetch API → GSTR-3B Filing API → GSTR-9 Annual Return API → GSTR-2B Reconciliation API →