cURL
curl --request GET \
--url https://us.api.flexprice.io/v1/subscriptions/{id}/entitlements \
--header 'x-api-key: <api-key>'from flexprice import Flexprice
with Flexprice(
api_key_auth="<YOUR_API_KEY_HERE>",
) as f_client:
res = f_client.subscriptions.get_subscription_entitlements(id="<id>")
# Handle response
print(res)import { Flexprice } from "@flexprice/sdk";
const flexprice = new Flexprice({
apiKeyAuth: "<YOUR_API_KEY_HERE>",
});
async function run() {
const result = await flexprice.subscriptions.getSubscriptionEntitlements("<id>");
console.log(result);
}
run();package main
import(
"context"
flexprice "github.com/flexprice/go-sdk/v2"
"log"
)
func main() {
ctx := context.Background()
s := flexprice.New(
flexprice.WithSecurity("<YOUR_API_KEY_HERE>"),
)
res, err := s.Subscriptions.GetSubscriptionEntitlements(ctx, "<id>", nil)
if err != nil {
log.Fatal(err)
}
if res.SubscriptionEntitlementsResponse != nil {
// handle response
}
}{
"features": [
{
"entitlement": {
"aggregation_mode": "additive",
"buckets": [
{
"entitlement_id": "<string>",
"grant_duration_unit": "hour",
"grant_duration_value": 123,
"grant_measure": "quantity",
"grant_quota": "<string>",
"grant_unlimited": true,
"source_entity_id": "<string>",
"usage_limit": 123
}
],
"config_values": [
{}
],
"grant_duration_unit": "hour",
"grant_duration_value": 123,
"grant_measure": "quantity",
"grant_quota": "<string>",
"grant_state": {
"allowances": [
{
"entitlement_id": "<string>",
"grant_id": "<string>",
"is_active": true,
"last_computed_at": "2023-11-07T05:31:56Z",
"measure": "quantity",
"quota": "<string>",
"quota_crossed_at": "2023-11-07T05:31:56Z",
"remaining": "<string>",
"status": "active",
"unlimited": true,
"usage": "<string>",
"valid_from": "<string>",
"valid_to": "<string>"
}
]
},
"grant_unlimited": true,
"is_enabled": true,
"is_soft_limit": true,
"static_values": [
"<string>"
],
"usage_limit": 123,
"usage_reset_period": "MONTHLY"
},
"feature": {
"alert_settings": {
"alert_enabled": true,
"alert_threshold_type": "absolute",
"critical": {
"condition": "above",
"threshold": "<string>"
},
"info": {
"condition": "above",
"threshold": "<string>"
},
"warning": {
"condition": "above",
"threshold": "<string>"
}
},
"created_at": "2023-11-07T05:31:56Z",
"created_by": "<string>",
"description": "<string>",
"environment_id": "<string>",
"group": {
"created_at": "2023-11-07T05:31:56Z",
"entity_ids": [
"<string>"
],
"entity_type": "<string>",
"id": "<string>",
"lookup_key": "<string>",
"metadata": {},
"name": "<string>",
"status": "<string>",
"updated_at": "2023-11-07T05:31:56Z"
},
"group_id": "<string>",
"id": "<string>",
"lookup_key": "<string>",
"metadata": {},
"meter": {
"aggregation": {
"bucket_size": "MINUTE",
"expression": "<string>",
"field": "<string>",
"group_by": "<string>",
"multiplier": "<string>",
"type": "COUNT"
},
"created_at": "2024-03-20T15:04:05Z",
"event_name": "api_request",
"filters": [
{
"key": "<string>",
"values": [
"<string>"
]
}
],
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "API Usage Meter",
"reset_usage": "BILLING_PERIOD",
"status": "published",
"tenant_id": "tenant123",
"updated_at": "2024-03-20T15:04:05Z"
},
"meter_id": "<string>",
"name": "<string>",
"reporting_unit": {
"conversion_rate": 123,
"unit_plural": "<string>",
"unit_singular": "<string>"
},
"status": "published",
"tenant_id": "<string>",
"type": "metered",
"unit_plural": "<string>",
"unit_singular": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"updated_by": "<string>"
},
"sources": [
{
"config_value": {},
"entitlement_id": "<string>",
"entity_id": "<string>",
"entity_name": "<string>",
"entity_type": "plan",
"is_enabled": true,
"quantity": 123,
"static_value": "<string>",
"subscription_id": "<string>",
"usage_limit": 123,
"usage_reset_period": "MONTHLY"
}
]
}
],
"plan_id": "<string>",
"subscription_id": "<string>"
}{
"code": "http_client_error",
"http_status_code": 123,
"message": "<string>"
}{
"code": "http_client_error",
"http_status_code": 123,
"message": "<string>"
}{
"code": "http_client_error",
"http_status_code": 123,
"message": "<string>"
}Subscriptions
Get subscription entitlements
Use when checking what features or limits a subscription has (e.g. entitlement checks or feature gating). Optional feature_ids to filter.
GET
/
subscriptions
/
{id}
/
entitlements
cURL
curl --request GET \
--url https://us.api.flexprice.io/v1/subscriptions/{id}/entitlements \
--header 'x-api-key: <api-key>'from flexprice import Flexprice
with Flexprice(
api_key_auth="<YOUR_API_KEY_HERE>",
) as f_client:
res = f_client.subscriptions.get_subscription_entitlements(id="<id>")
# Handle response
print(res)import { Flexprice } from "@flexprice/sdk";
const flexprice = new Flexprice({
apiKeyAuth: "<YOUR_API_KEY_HERE>",
});
async function run() {
const result = await flexprice.subscriptions.getSubscriptionEntitlements("<id>");
console.log(result);
}
run();package main
import(
"context"
flexprice "github.com/flexprice/go-sdk/v2"
"log"
)
func main() {
ctx := context.Background()
s := flexprice.New(
flexprice.WithSecurity("<YOUR_API_KEY_HERE>"),
)
res, err := s.Subscriptions.GetSubscriptionEntitlements(ctx, "<id>", nil)
if err != nil {
log.Fatal(err)
}
if res.SubscriptionEntitlementsResponse != nil {
// handle response
}
}{
"features": [
{
"entitlement": {
"aggregation_mode": "additive",
"buckets": [
{
"entitlement_id": "<string>",
"grant_duration_unit": "hour",
"grant_duration_value": 123,
"grant_measure": "quantity",
"grant_quota": "<string>",
"grant_unlimited": true,
"source_entity_id": "<string>",
"usage_limit": 123
}
],
"config_values": [
{}
],
"grant_duration_unit": "hour",
"grant_duration_value": 123,
"grant_measure": "quantity",
"grant_quota": "<string>",
"grant_state": {
"allowances": [
{
"entitlement_id": "<string>",
"grant_id": "<string>",
"is_active": true,
"last_computed_at": "2023-11-07T05:31:56Z",
"measure": "quantity",
"quota": "<string>",
"quota_crossed_at": "2023-11-07T05:31:56Z",
"remaining": "<string>",
"status": "active",
"unlimited": true,
"usage": "<string>",
"valid_from": "<string>",
"valid_to": "<string>"
}
]
},
"grant_unlimited": true,
"is_enabled": true,
"is_soft_limit": true,
"static_values": [
"<string>"
],
"usage_limit": 123,
"usage_reset_period": "MONTHLY"
},
"feature": {
"alert_settings": {
"alert_enabled": true,
"alert_threshold_type": "absolute",
"critical": {
"condition": "above",
"threshold": "<string>"
},
"info": {
"condition": "above",
"threshold": "<string>"
},
"warning": {
"condition": "above",
"threshold": "<string>"
}
},
"created_at": "2023-11-07T05:31:56Z",
"created_by": "<string>",
"description": "<string>",
"environment_id": "<string>",
"group": {
"created_at": "2023-11-07T05:31:56Z",
"entity_ids": [
"<string>"
],
"entity_type": "<string>",
"id": "<string>",
"lookup_key": "<string>",
"metadata": {},
"name": "<string>",
"status": "<string>",
"updated_at": "2023-11-07T05:31:56Z"
},
"group_id": "<string>",
"id": "<string>",
"lookup_key": "<string>",
"metadata": {},
"meter": {
"aggregation": {
"bucket_size": "MINUTE",
"expression": "<string>",
"field": "<string>",
"group_by": "<string>",
"multiplier": "<string>",
"type": "COUNT"
},
"created_at": "2024-03-20T15:04:05Z",
"event_name": "api_request",
"filters": [
{
"key": "<string>",
"values": [
"<string>"
]
}
],
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "API Usage Meter",
"reset_usage": "BILLING_PERIOD",
"status": "published",
"tenant_id": "tenant123",
"updated_at": "2024-03-20T15:04:05Z"
},
"meter_id": "<string>",
"name": "<string>",
"reporting_unit": {
"conversion_rate": 123,
"unit_plural": "<string>",
"unit_singular": "<string>"
},
"status": "published",
"tenant_id": "<string>",
"type": "metered",
"unit_plural": "<string>",
"unit_singular": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"updated_by": "<string>"
},
"sources": [
{
"config_value": {},
"entitlement_id": "<string>",
"entity_id": "<string>",
"entity_name": "<string>",
"entity_type": "plan",
"is_enabled": true,
"quantity": 123,
"static_value": "<string>",
"subscription_id": "<string>",
"usage_limit": 123,
"usage_reset_period": "MONTHLY"
}
]
}
],
"plan_id": "<string>",
"subscription_id": "<string>"
}{
"code": "http_client_error",
"http_status_code": 123,
"message": "<string>"
}{
"code": "http_client_error",
"http_status_code": 123,
"message": "<string>"
}{
"code": "http_client_error",
"http_status_code": 123,
"message": "<string>"
}
