Skip to content
Console
Menu

Generated Assets

Workflows

Getting Started

Authentication

KV Store

Release an usage reservation

Releases a reservation that used nothing.

Releases a reservation that used nothing.

  • Path POST https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/usage_reservations/usage-reservation:release
  • Scope billing:metering:write
  • Effect write — a successful call changes state.
  • Collection usage_reservations

#Request

FieldTypeWhat it is
namestringThe reservation to release. Required.

#Response

FieldTypeWhat it is
namestringorgs/{org}/projects/{project}/envs/{env}/usage_reservations/{usage_reservation}.
uidstringures_<cell><ulid>; never reused. Output only.
metaResourceMetaResource metadata.
subjectSubjectWho uses it. Required.
subject_proofstringThe acting end user's access token, required on every reserve: Money proves the subject itself, fresh, with the caller's own key (auth:sessions:verify) or the merchant's configured issuer. Never stored. A raw id is refused with PERMISSION_DENIED (reason subject_unverified). Required.
actor_proofstringFor a customer organization: the token of the acting user, whose membership of the organization is checked fresh. The subject is Sylphx Auth's bare organization id (acme), never a resource name. Never stored.
meterstringThe meter's lookup key. Required.
max_quantityint64The most the work may use, in the meter's base unit. Required.
ttldurationHow long the hold lasts, at most 600s; default 600s.
granted_quantityint64What was granted: at most max_quantity, less under headroom. Output only.
statestringheld, settled, or released. Output only.
expire_timetimestampWhen the hold ends. Output only.
dark_refusalstringWhile enforcement is dark: why it would have been refused (spend_limit_reached, no_payment_method, account_suspended); empty otherwise. Output only.

#ResourceMeta

FieldTypeWhat it is
generationint64Increases by one on every change to spec. Output only.
etagstringStrong ETag (AIP-154): changes on any change to spec, status, or metadata. Send it back as If-Match or etag to make Update and Delete conditional; a mismatch fails with ABORTED / 409 ETAG_MISMATCH. Output only.
create_timetimestampWhen the Resource was created. Output only.
update_timetimestampWhen the Resource last changed. Output only.
delete_timetimestampSet while the Resource is being deleted. Output only.
labelsmap<string, string>Caller-writable, indexed labels (AIP-122 label rules).
annotationsmap<string, string>Caller-writable, unindexed annotations.
display_namestringCaller-writable human-readable name.
creatorstringThe principal that created the Resource. Output only.

#Subject

FieldTypeWhat it is
end_userstringAn end user's id (Sylphx Auth, or the app's own OIDC issuer). One of the kind group.
customer_organizationstringA customer organization's id. One of the kind group.

#Errors

Every error arrives in the body Errors describes.

#Examples

curl -X POST "https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/usage_reservations/usage-reservation:release" \
  -H "Authorization: Bearer $SYLPHX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'