Skip to content
Console
Menu

Getting Started

Authentication

KV Store

Snapshot an entitlement grant

Reads a coherent entitlement snapshot with an environment-wide source revision.

Reads a coherent entitlement snapshot with an environment-wide source revision. Discard every page and restart after ETAG_MISMATCH.

  • Path GET https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/entitlement_grants:snapshot
  • Scope billing:read
  • Effect read — nothing is written.
  • Collection entitlement_grants
  • Query page_size, page_token, filter, snapshot_revision

#Request

FieldTypeWhat it is
parentstringThe environment whose entitlement collection is read. Required.
page_sizeint32At most this many; default 50, clamped to 1000.
page_tokenstringnext_page_token of the previous page of this snapshot.
filterstringAIP-160 filter over entitlement grant fields.
snapshot_revisionstringExpected environment-wide collection revision, as a canonical decimal string. Empty selects the current source snapshot; any nonempty value, including "0", requires equality or returns HTTP 409 ETAG_MISMATCH. Send the first response's revision on every subsequent page. Page tokens also fence that revision and cannot be reused after a collection change.

#Response

FieldTypeWhat it is
entitlement_grantsEntitlementGrant[]The page.
next_page_tokenstringThe token of the next page; empty on the last page.
snapshot_revisionstringAlways present as a canonical decimal string, including "0" for a source with no committed grant mutations. Versions all grants in the environment, regardless of filter, including deletion of the last grant. Not a clock or resource etag. Rows and revision are read in one database snapshot. Output only.

#EntitlementGrant

FieldTypeWhat it is
namestringorgs/{org}/projects/{project}/envs/{env}/entitlement_grants/{entitlement_grant}.
uidstringegr_<cell><ulid>; never reused. Output only.
metaResourceMetaResource metadata.
subjectSubjectWho holds it.
featurestringThe feature key.
limitstringFor a limit feature, the allowance as a decimal string. Output only.
sourcestringThe resource that grants it, for example a customer subscription's name. Output only.
expire_timetimestampWhen it ends; unset for no end.
campaignstringA manual grant's campaign (input on create, up to 64 characters).
reasonstringA manual grant's reason (input on create, up to 500 characters).
approval_refstringA free-text reference to the approval, for example CEO 2026-10-02 (input on create, up to 200 characters).
approverstringThe principal that created a manual grant: the verified key's principal, never a request field. 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 "https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/entitlement_grants:snapshot" \
  -H "Authorization: Bearer $SYLPHX_API_KEY"