Skip to content
Console
Menu

Generated Assets

Workflows

Getting Started

Authentication

KV Store

Create an entitlement grant

Creates a manual entitlement grant (support, comp, grace).

Creates a manual entitlement grant (support, comp, grace). Append-only; needs the approval-class scope. The approver recorded is the key's principal.

  • Path POST https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/entitlement_grants
  • Scope billing:credits.approve
  • Effect write — a successful call changes state.
  • Collection entitlement_grants
  • Query entitlement_grant_id

#Request

FieldTypeWhat it is
parentstringThe environment the grant is in. Required.
entitlement_grant_idstringThe grant's id, also its idempotency: ^[a-z]([a-z0-9_-]{0,61}[a-z0-9])?$. The same id with the same grant returns the stored one; the same id with another grant is RESOURCE_ALREADY_EXISTS. Required.
entitlement_grantEntitlementGrantThe grant: subject, feature, expire_time (future, at most 400 days out), campaign, reason and approval_ref are required. Required.

#EntitlementGrant

FieldTypeWhat it is
namestringorgs/{org}/projects/{project}/envs/{env}/entitlement_grants/{entitlement_grant}.
metaResourceMetaResource metadata.
subjectSubjectWho holds it.
featurestringThe feature key.
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).

#ResourceMeta

FieldTypeWhat it is
labelsmap<string, string>Caller-writable, indexed labels (AIP-122 label rules).
annotationsmap<string, string>Caller-writable, unindexed annotations.
display_namestringCaller-writable human-readable name.

#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.

#Response

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 -X POST "https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/entitlement_grants" \
  -H "Authorization: Bearer $SYLPHX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'