Plan
The plan resource.
Basehttps://rest.carbon.ms/plan
GET
/planList plans
Retrieve a paginated list of plans. Filter, order, and select columns with PostgREST query parameters.
Query parameters
selectstringComma-separated columns to return. Defaults to all.
orderstringColumn to sort by, e.g. `createdAt.desc`.
limitintegerMaximum rows to return.
offsetintegerRows to skip, for pagination.
GEThttps://rest.carbon.ms/plan
curl --request GET \
--url 'https://rest.carbon.ms/plan?select=*&limit=10' \
--header 'Authorization: Bearer <api-key>'Response
[
{
"id": "abc123def456",
"name": "Example",
"userBasedPricing": true,
"stripePriceId": "xyz789",
"tasksLimit": 0,
"aiTokensLimit": 0,
"stripeTrialPeriodDays": 0,
"public": true
}
]GET
/planRetrieve a plan
Fetch a single plan by filtering on `id`.
Query parameters
idstringMatch on the plan's `id`, e.g. `eq.{id}`.
GEThttps://rest.carbon.ms/plan
curl --request GET \
--url 'https://rest.carbon.ms/plan?id=eq.%7Bid%7D' \
--header 'Authorization: Bearer <api-key>'Response
{
"id": "abc123def456",
"name": "Example",
"userBasedPricing": true,
"stripePriceId": "xyz789",
"tasksLimit": 0,
"aiTokensLimit": 0,
"stripeTrialPeriodDays": 0,
"public": true
}POST
/planCreate a plan
Create a new plan.
Body parameters
namestringrequireduserBasedPricingbooleanrequiredstripePriceIdstringrequiredtasksLimitnumberrequiredaiTokensLimitnumberrequiredstripeTrialPeriodDaysnumberrequiredpublicbooleanrequiredPOSThttps://rest.carbon.ms/plan
curl --request POST \
--url https://rest.carbon.ms/plan \
--header 'Authorization: Bearer <api-key>' \
--header 'Content-Type: application/json' \
--header 'Prefer: return=representation' \
--data '{"name":"Example","userBasedPricing":true,"stripePriceId":"xyz789","tasksLimit":0,"aiTokensLimit":0,"stripeTrialPeriodDays":0,"public":true}'Response
{
"id": "abc123def456",
"name": "Example",
"userBasedPricing": true,
"stripePriceId": "xyz789",
"tasksLimit": 0,
"aiTokensLimit": 0,
"stripeTrialPeriodDays": 0,
"public": true
}PATCH
/planUpdate a plan
Update an existing plan, matched on `id`.
Body parameters
namestringrequireduserBasedPricingbooleanrequiredstripePriceIdstringrequiredtasksLimitnumberrequiredaiTokensLimitnumberrequiredstripeTrialPeriodDaysnumberrequiredpublicbooleanrequiredPATCHhttps://rest.carbon.ms/plan
curl --request PATCH \
--url 'https://rest.carbon.ms/plan?id=eq.%7Bid%7D' \
--header 'Authorization: Bearer <api-key>' \
--header 'Content-Type: application/json' \
--header 'Prefer: return=representation' \
--data '{"name":"Example"}'Response
{
"id": "abc123def456",
"name": "Example",
"userBasedPricing": true,
"stripePriceId": "xyz789",
"tasksLimit": 0,
"aiTokensLimit": 0,
"stripeTrialPeriodDays": 0,
"public": true
}DELETE
/planDelete a plan
Delete a plan, matched on `id`. Returns 204 No Content.
Query parameters
idstringThe `id` of the plan to delete, e.g. `eq.{id}`.
DELETEhttps://rest.carbon.ms/plan
curl --request DELETE \
--url 'https://rest.carbon.ms/plan?id=eq.%7Bid%7D' \
--header 'Authorization: Bearer <api-key>'204 No Content