Skip to content
These docs describe staging.zkao.io and the @zksecurity/zkao-cli@next release. For production, see docs.zkao.io.

Credit usage events attributed to this project

GET
/projects/{projectId}/billing/usage
curl --request GET \
--url https://zkao.io/api/v1/projects/example/billing/usage \
--header 'Authorization: Bearer <token>'

Requires scope: read. Signed credit delta per ledger event attributed to this project; organization-wide movements such as a top-up made outside any project are not included. Defaults to the last 30 days; newest first; max 1000 rows.

projectId
required
string
from
string format: date-time
to
string format: date-time
limit
integer
>= 1 <= 1000

OK

Media typeapplication/json
object
from
required
string format: date-time
to
required
string format: date-time
events
required
Array<object>
object
id
required
string
at
required
string format: date-time
type
required
string
Allowed values: SCAN_DEDUCTION SCAN_REFUND PURCHASE STRIPE_REFUND ADMIN_ADJUSTMENT
credits
required

Signed credit delta: negative = spent/clawed back, positive = added/refunded.

integer
scanId
required
string | null
description
required
string
Example
{
"events": [
{
"type": "SCAN_DEDUCTION"
}
]
}

Invalid request

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: unauthorized forbidden not_found bad_request conflict insufficient_credits repository_initializing diff_base_required diff_base_not_allowed diff_base_invalid diff_empty rate_limited internal
message
required
string
Example
{
"error": {
"code": "unauthorized"
}
}

Missing, malformed, expired, or revoked token

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: unauthorized forbidden not_found bad_request conflict insufficient_credits repository_initializing diff_base_required diff_base_not_allowed diff_base_invalid diff_empty rate_limited internal
message
required
string
Example
{
"error": {
"code": "unauthorized"
}
}

The token lacks the required scope

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: unauthorized forbidden not_found bad_request conflict insufficient_credits repository_initializing diff_base_required diff_base_not_allowed diff_base_invalid diff_empty rate_limited internal
message
required
string
Example
{
"error": {
"code": "unauthorized"
}
}

Resource not in this token’s project or repo allowlist

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: unauthorized forbidden not_found bad_request conflict insufficient_credits repository_initializing diff_base_required diff_base_not_allowed diff_base_invalid diff_empty rate_limited internal
message
required
string
Example
{
"error": {
"code": "unauthorized"
}
}