🇮🇳 India's Own Cloud ERP · No Third-Party Servers · Since 1993 📞 +91 8108050503  ·  ✉ jvgears@gmail.com
GSTPLUS CloudERP
Home Platform Modules Pricing API Docs About Contact 🔐 Login Portal
REST API Documentation
GSTPLUS CloudERP REST API
Full JSON REST API for 3rd party ERP integration. Bearer token authentication. Company-wise and common JSON upload. Rate limited at 120 requests/minute. PHP 7.4+ compatible.
🟢 Base URL: https://gstplusindia.com/apimgmt.php
🔑 Auth: Bearer Token in Authorization header
⚡ Rate Limit: 120 req/min per token
🔑 Authentication
Method: Bearer Token
Header: Authorization: Bearer {token}
Alternate: X-API-Token: {token}

Token storage: data/developer.json → api_tokens[]
Token format: GSTP_{48-char hex}
Token role required: supervisor or admin
Token expiry: Configurable per token (expires_at)

Rate limit: 120 requests per minute per token
Audit log: logs/api_access.log — every request logged
Authentication Header
// Option 1: Authorization header (recommended) Authorization: Bearer GSTP_652745763b368e2e23be... // Option 2: Custom header X-API-Token: GSTP_652745763b368e2e23be... // Content-Type for POST requests Content-Type: application/json
Standard Error Responses
// 401 Unauthorized { "status": "error", "message": "Authentication required." } // 403 Forbidden { "status": "error", "message": "Insufficient privileges." } // 429 Rate Limited { "status": "error", "message": "Rate limit exceeded.", "retry_after": 60 }
📋 All Endpoints — Quick Reference
GET /apimgmt.php?resource=companies List all companies or get single company by id
GET /apimgmt.php?resource=companies&id={companyid} Get full company JSON for given companyid
GET /apimgmt.php?resource=users List all users (passwords excluded)
GET /apimgmt.php?resource=partners List all partners with contact details
GET /apimgmt.php?resource=orders List subscription orders (filter by status optional)
GET /apimgmt.php?resource=payments List all payment records
GET /apimgmt.php?resource=subscriptions Module subscription status — active/grace/expired per company
GET /apimgmt.php?resource=ledger&companyid={coid}&ledgerid={lid} Get full ledger JSON for given company + ledger
GET /apimgmt.php?resource=modules Module list, icons, pricing, cloud storage plans
GET /apimgmt.php?resource=info (or empty) API info — all endpoints listed with params
POST /apimgmt.php?resource=action=update_expiry Update subscription expiry date for a company+module
POST /apimgmt.php?resource=action=add_company Create new company entry + folder structure
POST /apimgmt.php?resource=action=generate_order Generate proforma order with GST calculation
📥 GET Endpoints — Read Data
GET
Get Companies
/apimgmt.php?resource=companies
Parameters
ParamTypeRequiredDescription
resourcestringcompanies
idstringOptionalcompanyid to filter single company
Sample Request — All Companies
cURL
curl -X GET \ "https://gstplusindia.com/apimgmt.php?resource=companies" \ -H "Authorization: Bearer GSTP_652745763b368e..."
Sample Request — Single Company
cURL
curl -X GET \ "https://gstplusindia.com/apimgmt.php?resource=companies&id=MER-2025-26" \ -H "Authorization: Bearer GSTP_652745763b368e..."
Sample Response — All Companies
JSON Response 200
{ "status": "ok", "companies": [ { "companyid": "MER-2025-26", "periodid": "2025-26", "name": "Meridian Enterprises Pvt. Ltd.", "gstin": "27AABCM4567R1ZX", "state": "27 – Maharashtra", "subscriptions": ["Dashboard", "GST Management dashboard", ...], "plan": "enduser", "status": "Active", "subscription_expiry": { "Dashboard": "31 Mar 2026", "GST Management dashboard": "31 Mar 2026" } } ], "count": 3 }
GET
Get Ledger Data — Company-wise
/apimgmt.php?resource=ledger&companyid={coid}&ledgerid={lid}
Parameters (Both Required)
ParamTypeRequiredExample
companyidstringMER-2025-26
ledgeridstringACC-HDL-00312
cURL Example
cURL
curl -X GET \ "https://gstplusindia.com/apimgmt.php ?resource=ledger &companyid=MER-2025-26 &ledgerid=ACC-HDL-00312" \ -H "Authorization: Bearer GSTP_652745..."
PHP Example
PHP
$url = "https://gstplusindia.com/apimgmt.php" . "?resource=ledger" . "&companyid=MER-2025-26" . "&ledgerid=ACC-HDL-00312"; $ctx = stream_context_create(['http' => [ 'header' => "Authorization: Bearer GSTP_652745...\r\n" ]]); $resp = file_get_contents($url, false, $ctx); $data = json_decode($resp, true); echo $data['ledger']['name'];
Sample Response
JSON Response 200 (abbreviated)
{ "status": "ok", "ledger": { "ledgerid": "ACC-HDL-00312", "name": "Horizon Distributors Pvt. Ltd.", "gstin": "27AADCH3210P1ZQ", "ob": 85000, "aging": [ { "lbl": "0–30 Days", "amt": 47500, "cnt": 2 }, { "lbl": "31–60 Days", "amt": 75000, "cnt": 2 } ], "ledger": [ { "date": "05 Apr 2025", "doc": "INV/25-26/001", "desc": "Sales — Steel Pipes", "dr": 82600, "cr": 0 } ], "outstanding": [...], "gstr1": [...], "tds": [...], "stock": [...] } }
GET
Get Subscription Status
/apimgmt.php?resource=subscriptions&companyid={coid}
Parameters
ParamDescription
companyidOptional — if omitted, returns all companies
Status Values
active — within expiry date
grace — expired but within 90-day grace
expired — past grace period
viewer_exempt — viewer role, never expires
Sample Response
JSON Response 200
{ "status": "ok", "subscriptions": [ { "companyid": "MER-2025-26", "name": "Meridian Enterprises", "subscriptions": [ { "module": "Dashboard", "status": "active", "days_left": 180, "expiry_date": "31 Mar 2026" }, { "module": "GST Management dashboard", "status": "grace", "days_left": -15, "expiry_date": "31 Mar 2026" } ] } ] }
📤 POST Endpoints — Write Data
POST
Update Subscription Expiry
/apimgmt.php (action: update_expiry)
Request Body (JSON)
FieldTypeRequiredExample
actionstringupdate_expiry
companyidstringMER-2025-26
module_idstringDashboard
expiry_datestring31 Mar 2027
Valid Module IDs
Module ID Values
"Dashboard" "GST Management dashboard" "EwayBill/eInvoice Dashboard" "AccountERP DashBoard" "HR/EMPLOYEE Management" "AI/CRM Report" "Document Management"
cURL Example
cURL POST
curl -X POST \ "https://gstplusindia.com/apimgmt.php" \ -H "Authorization: Bearer GSTP_652745..." \ -H "Content-Type: application/json" \ -d '{ "action": "update_expiry", "companyid": "MER-2025-26", "module_id": "Dashboard", "expiry_date": "31 Mar 2027" }'
Response
JSON Response 200
{ "status": "ok", "updated": true, "companyid": "MER-2025-26", "module": "Dashboard", "expiry_date": "31 Mar 2027" }
POST
Add New Company
/apimgmt.php (action: add_company)
Request Body (JSON)
FieldRequiredNotes
actionadd_company
companyidA-Z, 0-9, hyphen only. Auto uppercased.
nameFull company name
periodidOptionale.g. 2026-27
cURL Example
cURL POST
curl -X POST \ "https://gstplusindia.com/apimgmt.php" \ -H "Authorization: Bearer GSTP_652745..." \ -H "Content-Type: application/json" \ -d '{ "action": "add_company", "companyid": "ABC-2026-27", "name": "ABC Traders Pvt. Ltd.", "periodid": "2026-27" }' // Response 201 Created { "status": "ok", "created": true, "companyid": "ABC-2026-27", "name": "ABC Traders Pvt. Ltd." }
POST
Generate Subscription Order
/apimgmt.php (action: generate_order)
Request Body (JSON)
FieldRequiredValues
actiongenerate_order
companyide.g. MER-2025-26
modulesArray of module IDs
planOptionalenduser (default) | partner
cURL Example
cURL POST
curl -X POST \ "https://gstplusindia.com/apimgmt.php" \ -H "Authorization: Bearer GSTP_652745..." \ -H "Content-Type: application/json" \ -d '{ "action": "generate_order", "companyid": "MER-2025-26", "modules": ["Dashboard","GST Management dashboard"], "plan": "enduser" }' // Response 201 Created { "status": "ok", "created": true, "order_no": "ORD/2026/0005", "total": 32544 } // total = (24000+3600) subtotal + 18% GST
Need REST API Access?
API tokens are managed in data/developer.json under api_tokens[]. Contact Mr. Jitendra Velani for token provisioning and 3rd party integration support.