Quick Start — First Call in 5 Minutes
Complete walkthrough: verify sandbox health → retrieve accounts → check balance. Three calls, no setup required beyond credentials.
You need sandbox client_id, client_secret, and partnerId from the QwikLive Developer Portal. Replace {sandbox-host} with the sandbox base URL provided during onboarding.
Step 1 — Verify Sandbox Health
The health endpoint requires no authentication. Use it to confirm the sandbox is reachable and all dependencies are up before making authenticated calls.
curl -s https://{sandbox-host}/api/health
Expected response:
{
"status": "ok",
"environment": "sandbox",
"version": "v1.0.5",
"dependencies": [
{ "name": "Gateway", "status": "UP", "latencyMs": 12 },
{ "name": "CoreBanking", "status": "UP", "latencyMs": 45 }
]
}
If you see "status": "ok" with both dependencies UP, the sandbox is ready. Proceed to Step 2.
If status is degraded or down, or a dependency shows DEGRADED or DOWN, do not proceed with financial transactions. Contact QwikLive support with the response body.
Step 2 — Account Lookup
Retrieve the list of accounts linked to the test card. The returned account IDs are used in all subsequent transaction calls.
curl -s -X POST https://{sandbox-host}/api/ssb/accountservices/v1/accounts \
-H "Content-Type: application/json" \
-H "x-correlation-id: $(uuidgen)" \
-H "client_id: $CLIENT_ID" \
-H "client_secret: $CLIENT_SECRET" \
-H "partnerId: PARTNER-ATM-001" \
-d '{
"head": {
"acquirerId": "10001",
"description": "ATM Account Lookup"
},
"transaction": {
"rrn": "250603001001",
"date": "20260603",
"type": "ACCOUNTLOOKUP"
},
"deviceInfo": {
"terminalId": "ATM00001",
"terminalLoc": "100 Main St, New York NY 10001",
"acceptorId": "ACCEPTOR000001"
},
"institution": { "id": "000100" },
"card": { "pan": "543100XXXXXXXXX0781" }
}'
Expected response:
{
"transaction": { "rrn": "250603001001", "date": "20260603", "type": "ACCOUNTLOOKUP" },
"institution": { "id": "000100" },
"accounts": [
{ "id": "DDA1234567890", "accountType": "DDA", "txnCapability": "DW", "description": "Checking Account" },
{ "id": "SAV9876543210", "accountType": "SDA", "txnCapability": "DW", "description": "Savings Account" }
],
"status": { "responseCode": "000" }
}
Copy the id value (e.g., DDA1234567890) — you'll use it in Step 3.
Step 3 — Balance Inquiry
Use the account ID from Step 2 to retrieve the current balance.
curl -s -X POST https://{sandbox-host}/api/ssb/accountservices/v1/accounts/balance \
-H "Content-Type: application/json" \
-H "x-correlation-id: $(uuidgen)" \
-H "client_id: $CLIENT_ID" \
-H "client_secret: $CLIENT_SECRET" \
-H "partnerId: PARTNER-ATM-001" \
-d '{
"head": {
"acquirerId": "10001",
"description": "ATM Balance Inquiry"
},
"transaction": {
"rrn": "250603001010",
"date": "20260603",
"type": "BALANCEINQUIRY"
},
"deviceInfo": {
"terminalId": "ATM00001",
"terminalLoc": "100 Main St, New York NY 10001",
"acceptorId": "ACCEPTOR000001"
},
"paymentInstrument": {
"account": { "id": "DDA1234567890" },
"card": { "pan": "543100XXXXXXXXX0781" }
},
"institution": { "id": "000100" }
}'
Expected response:
{
"transaction": { "rrn": "250603001010", "date": "20260603", "type": "BALANCEINQUIRY" },
"paymentInstrument": { "account": { "id": "DDA1234567890" } },
"institution": { "id": "000100" },
"branch": { "id": "BR-001", "name": "Main Street Branch", "address": "100 Main Street, New York, NY 10001" },
"balances": [
{ "type": "Available", "amount": 4821.50, "currencyCode": "USD" },
{ "type": "Balance", "amount": 4821.50, "currencyCode": "USD" }
],
"status": { "authId": "AUTH01", "responseCode": "000" }
}
You've completed the Quick Start! You received a 200 response with a balances array containing Available and Balance entries. Record the correlationId from every response — it is required for all support queries.