A prepaid USD wallet per account. Read the balance and the rate, list transactions and invoices, and open a checkout to top up. Console door only — a project key does not move money.
Every example below runs as written once these are exported:
bash
export DVAARIK_TOKEN="<account access token>"# console session, from POST /console/auth/login
export INVOICE_ID="<uuid>"
A <value> inside a JSON body is a value you supply. Responses are JSON; every error body is { "detail": … }. Each schema is expanded once per page, where it first appears.
Choose which currency calls spend. Refused while any call holds money; money is never converted, each currency keeps its own balance. The one exception is an untouched dollar welcome credit, which the first switch to rupees moves (the rupee welcome amount, never a conversion).
What one connected minute costs, in both forms the console needs.
Field
Type
Required
Notes
currency
string
no
default "USD"
metering_basis
string
no
default "connected_minute_rounded_up"
money_scale
integer
no
default 1000000000
rate_display
string
yes
rate_nano_usd_per_minute
string or null
yes
rate_per_minute_minor
string
yes
rate_version
string
yes
Error
When
401
No account session was presented, or it is invalid or expired.
403
The account is suspended or its email is not verified.
404
The project or the addressed resource does not exist for this owner. A resource owned by another developer is deliberately indistinguishable from one that never existed.
409
A call or a chat reply is in progress (money is held); switch after it ends.
422
The request body or query is not valid. detail is an array of {loc, msg, type} and loc names the offending field.
Plus the account-door errors above. Full list on the errors page.
No account session was presented, or it is invalid or expired.
403
The account is suspended or its email is not verified.
404
The project or the addressed resource does not exist for this owner. A resource owned by another developer is deliberately indistinguishable from one that never existed.
422
The request body or query is not valid. detail is an array of {loc, msg, type} and loc names the offending field.
Plus the account-door errors above. Full list on the errors page.
bash
curl -sS -X GET "https://api.developers.dvaarik.com/console/v2/billing/invoices?limit=20" \
-H "Authorization: Bearer $DVAARIK_TOKEN"
GET /console/v2/billing/invoices/{invoice_id}.pdf#
No account session was presented, or it is invalid or expired.
403
The account is suspended or its email is not verified.
404
The project or the addressed resource does not exist for this owner. A resource owned by another developer is deliberately indistinguishable from one that never existed.
422
The request body or query is not valid. detail is an array of {loc, msg, type} and loc names the offending field.
Plus the account-door errors above. Full list on the errors page.
bash
curl -sS -X GET "https://api.developers.dvaarik.com/console/v2/billing/invoices/$INVOICE_ID.pdf" \
-H "Authorization: Bearer $DVAARIK_TOKEN"
What a top-up credits and what the gateway charges, in the wallet's currency.
Field
Type
Required
Notes
amount_minor
integer
yes
amount_usd_cents
integer or null
no
credits_minor
string
yes
credits_nano_usd
string or null
no
currency
string
no
default "USD"
fee_bps
integer
yes
fee_minor
integer
yes
money_scale
integer
yes
total_minor
integer
yes
Error
When
401
No account session was presented, or it is invalid or expired.
403
The account is suspended or its email is not verified.
404
The project or the addressed resource does not exist for this owner. A resource owned by another developer is deliberately indistinguishable from one that never existed.
422
The request body or query is not valid. detail is an array of {loc, msg, type} and loc names the offending field.
Plus the account-door errors above. Full list on the errors page.
bash
curl -sS -X GET "https://api.developers.dvaarik.com/console/v2/billing/quote" \
-H "Authorization: Bearer $DVAARIK_TOKEN"
No account session was presented, or it is invalid or expired.
403
The account is suspended or its email is not verified.
404
The project or the addressed resource does not exist for this owner. A resource owned by another developer is deliberately indistinguishable from one that never existed.
422
The request body or query is not valid. detail is an array of {loc, msg, type} and loc names the offending field.
Plus the account-door errors above. Full list on the errors page.
bash
curl -sS -X GET "https://api.developers.dvaarik.com/console/v2/billing/summary" \
-H "Authorization: Bearer $DVAARIK_TOKEN"
No account session was presented, or it is invalid or expired.
403
The account is suspended or its email is not verified.
404
The project or the addressed resource does not exist for this owner. A resource owned by another developer is deliberately indistinguishable from one that never existed.
409
The project or resource is in a state that refuses this change.
422
The request body or query is not valid. detail is an array of {loc, msg, type} and loc names the offending field.
502
The payment gateway did not create an order.
503
The order could not be recorded locally, so no checkout was returned.
Plus the account-door errors above. Full list on the errors page.
bash
curl -sS -X POST "https://api.developers.dvaarik.com/console/v2/billing/topup" \
-H "Authorization: Bearer $DVAARIK_TOKEN"
One canonical USD ledger row. A row from before the USD cutover has no USD amount and is deliberately NOT rendered as a zero: amount_nano_usd is null and the caller can tell "nothing" from "nothing yet converted". The archival paise figures stay on the legacy route.
Field
Type
Required
Notes
amount_minor
string or null
no
amount_nano_usd
string or null
no
balance_after_minor
string or null
no
balance_after_nano_usd
string or null
no
created_at
date-time
yes
currency
string
yes
description
string or null
no
id
uuid
yes
label
string or null
no
money_scale
integer
yes
project_id
uuid or null
yes
reference
string or null
no
type
string
yes
Error
When
401
No account session was presented, or it is invalid or expired.
403
The account is suspended or its email is not verified.
404
The project or the addressed resource does not exist for this owner. A resource owned by another developer is deliberately indistinguishable from one that never existed.
422
The request body or query is not valid. detail is an array of {loc, msg, type} and loc names the offending field.
Plus the account-door errors above. Full list on the errors page.
bash
curl -sS -X GET "https://api.developers.dvaarik.com/console/v2/billing/transactions?limit=20" \
-H "Authorization: Bearer $DVAARIK_TOKEN"
Try it without a key in the browser
The playground opens a real voice session with your account session, so a project key never reaches a browser. Machine calls belong on your own server.