Overview
Resources let you manage claimable capacity like seats, API keys, and project limits. UsegetResourceUsages and getResourceUsage to check capacity, claimResource to reserve allocations, releaseResource to free them, and listResourceClaims to see active claims.
How to use
getResourceUsages: Returns all resources and their usage stats for a subscriptiongetResourceUsage: Returns usage for a single resource by slug or IDclaimResource: Reserves capacity. Usequantityfor anonymous claims,externalIdfor named claimsreleaseResource: Frees capacity. Usequantityfor FIFO release,externalIdfor named releaselistResourceClaims: Returns all active claims, optionally filtered by resource
What you can do
- Check available capacity before allowing users to claim resources
- Track who has claimed what using named claims with
externalId - Reserve bulk capacity with anonymous claims
- Release resources when users leave or resources are deleted
- Display capacity usage in your UI
Example: Check Resource Capacity
lib/flowglad-utils.ts
Example: Claim a Resource (Named)
Named claims use anexternalId to track exactly what each allocation is for. They’re idempotent—claiming the same ID twice returns the existing claim.
lib/team-management.ts
Example: Claim Resources (Anonymous)
Anonymous claims don’t track individual identifiers—just reserve a quantity:lib/connection-pool.ts
Example: Release a Resource (Named)
Release a specific claim by itsexternalId:
lib/team-management.ts
Example: Release Resources (Anonymous)
Release anonymous claims by quantity:lib/connection-pool.ts
Example: List Active Claims
Get all active claims for a resource:lib/team-management.ts
Server SDK Methods
getResourceUsages
Get all resources and their usage for the customer’s subscription.
{ resources: ResourceUsage[] }
getResourceUsage
Get usage for a single resource.
{ usage: ResourceUsage, claims: ResourceClaim[] }
claimResource
Reserve resource capacity. Do so with either named or anonymous resource claims:
{ claims: ResourceClaim[], usage: ResourceUsage }
releaseResource
Free resource capacity. Choose ONE mode:
{ releasedClaims: ResourceClaim[], usage: ResourceUsage }
listResourceClaims
List active claims for the subscription.
{ claims: ResourceClaim[] }
React SDK Hooks
The@flowglad/react package provides React hooks for managing resources in client-side applications. These hooks handle data fetching, caching, and automatic UI updates when resources change.
useResources
Hook to access all resources for the current customer’s subscription. Fetches resource usage on mount and provides claim/release mutations that automatically invalidate the cache.
useResource
Convenience hook for working with a single resource type. Pre-binds the resourceSlug to claim/release functions and fetches claims for the specific resource.
TypeScript Types
Handling Errors
Capacity Exceeded
When a claim would exceed available capacity:Multiple Subscriptions
When a customer has multiple active subscriptions:Related
- Resources Feature - Conceptual overview and setup
- Server SDK - Full server SDK documentation
- Feature Access & Usage - Related entitlement checking