Validate access token
GET
/oauth2/validateCheck whether an access token is still valid.
Validates the Bearer token presented in the Authorization header and confirms
that the owning company's API access is enabled. Useful as a cheap liveness check before starting a
long sync, or to distinguish an expired token from a permissions problem after a 401.
This endpoint does not use the standard response envelope.
Input
Authorization: Bearer <access_token>.
Response
200 with { "active": true }.
Response schema from the OpenAPI document
| Field | Type | Description |
|---|---|---|
active | boolean |
Errors
| Status | Cause |
|---|---|
401 | Token missing, malformed, expired or revoked |
403 | Token is valid but API access is disabled for the company |
Suggested integration flow
- Authenticate. Complete the Qashio OAuth login, exchange the code at
POST /oauth2/token, and store both tokens. Refresh before expiry with Refresh access token. - Load reference data once, then incrementally. Pull suppliers, chart of accounts, tax rates and
bank accounts, then re-pull with
updated_at_from/updated_at_toon a schedule. - Sync spend. Poll
GET /public/v1/erp/transactionswithclient_sync_statusset tonot_synced, thenoutdated, post what comes back, and acknowledge the ids withPOST /public/v1/erp/transactions/acknowledgeso the next poll skips them. - Match refunds. For any refund or reversal, follow
parent_qashio_idback to the original purchase by filteringGET /public/v1/erp/transactionsonqashio_id, or list every child of a purchase by filtering onparent_qashio_id. - Reconcile at period close. Compare
opening_balance/closing_balancefromGET /public/v1/erp/statementsagainst your ledger, andGET /public/v1/erp/company/summaryfor the headline position. - Manage cards. Invite users, issue cards, set limits, and suspend a card when it is lost or stolen.
401Missing/invalid token
Every error carries an errors[] array and a meta.request_id. See Errors for the full envelope.