Manage Plans
Plans establish service quality guarantees and enable differentiated access tiers for API Products. Each plan defines consumption limits — specifically, the maximum number of requests permitted (quota) and the rate at which consumers can invoke APIs (rate limit).
You can create as many plans as needed and assign them to API Products. When consumers subscribe to a product, they select a plan that matches their usage requirements. This enables flexible access management, from free tiers with strict limits to premium tiers with generous quotas.
Plans must be deployed to environments along with the API Products they belong to. When a plan is updated, it may require redeployment to propagate changes to the gateways.
List plans
curl -X GET "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/plans?page=1&size=10" \
-H "Authorization: Bearer <your-token>"
Create a plan
curl -X POST "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/plans" \
-H "Authorization: Bearer <your-token>" \
-H "Content-Type: application/json" \
-d '{
"displayName": "Free Tier",
"description": "Basic access with rate limiting",
"quotaHits": 1000,
"quotaInterval": "DAY",
"rateLimit": 10,
"rateInterval": "SECOND"
}'
Required fields
| Field | Type | Description |
|---|---|---|
displayName | string | Human-readable name |
quotaHits | integer | Maximum number of hits per quota interval |
quotaInterval | enum | SECOND, MINUTE, HOUR, DAY, WEEK, MONTH |
rateLimit | integer | Maximum requests per rate interval |
rateInterval | enum | SECOND, MINUTE, HOUR |
Optional fields
| Field | Type | Description |
|---|---|---|
description | string | Plan description (max 1000 chars) |
Get a plan
curl -X GET "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/plans/<plan-id>" \
-H "Authorization: Bearer <your-token>"
Update a plan
curl -X PUT "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/plans/<plan-id>" \
-H "Authorization: Bearer <your-token>" \
-H "Content-Type: application/json" \
-d '{
"displayName": "Free Tier (Updated)",
"description": "Updated rate limits",
"quotaHits": 5000,
"quotaInterval": "DAY",
"rateLimit": 20,
"rateInterval": "SECOND"
}'
Delete a plan
curl -X DELETE "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/plans/<plan-id>" \
-H "Authorization: Bearer <your-token>"
Manage plan scopes
Plans can have scopes that define specific access permissions.
Add a scope to a plan
curl -X PUT "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/plans/<plan-id>/scopes/<scope-id>" \
-H "Authorization: Bearer <your-token>"
Remove a scope from a plan
curl -X DELETE "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/plans/<plan-id>/scopes/<scope-id>" \
-H "Authorization: Bearer <your-token>"
Deploy a plan
Deploy a plan to an environment:
curl -X PUT "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/environments/<environment-id>/plans/<plan-id>" \
-H "Authorization: Bearer <your-token>"
Undeploy a plan
curl -X DELETE "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/environments/<environment-id>/plans/<plan-id>" \
-H "Authorization: Bearer <your-token>"