Light and Pro plans
Which routes each plan answers, how to read an organization's plan, and what to do with a 403 PLAN_LIMIT.
Here you will see what each plan reaches through the API, how to read an
organization's plan before you call, and what PLAN_LIMIT means.
The rule
The API gives each organization what its plan gives it in the dashboard. An
API token works on Plan Light and on Plan Pro. On Light, the report routes
answer 403 PLAN_LIMIT, just as those reports are locked in the dashboard.
The plan belongs to the organization, not to the token. If your token reaches a Pro organization and a Light one, each answers according to its own plan.
What each plan answers
Routes sit under /v1/external/organizations/{organizationId}, except the
account ones. The "Key" column is the field of features that decides the
group.
| Group | Routes | Key | Light | Pro |
|---|---|---|---|---|
| Account | /me, /me/usage, /organizations | — | Yes | Yes |
| Organization | the organization, /access, /plan, /settings, /categories | — | Yes | Yes |
| Plant | /floor, /modules, /modules/{moduleId}, …/rest-times, …/stations, /stations, /stations/{stationId}, /operators, /operators/presence, /operators/{operatorId} | — | Yes | Yes |
| Live board | /board | — | Yes | Yes |
| «Programa» and catalogue | /modules/{moduleId}/program, /references…, /catalogue…, with their writes | — | Yes | Yes |
| Activity | /activity | — | Yes | Yes |
| General reports | /analytics/day-report, /analytics/leaderboard, /analytics/efficiency, /analytics/efficiency/modules, /analytics/month, /stations/{stationId}/days/{day}/report | reports | Version 1 only | Yes |
| Module reports | /modules/{moduleId}/days/{day}/board, …/days/{day}/history, /modules/{moduleId}/analytics/efficiency, /analytics/production, and writing the day's goals (PUT and DELETE …/goal) | moduleReports | No | Yes |
| Operator reports | /analytics/operators/{operatorId}, /operators/{operatorId}/analytics/efficiency | operatorReports | No | Yes |
| Billing («Facturación») | /analytics/billing, /analytics/billing/modules | billingAnalytics | No | Yes |
| «Analítica» (the per-tap log views) | /analytics/activity, /analytics/hourly, /analytics/operators, /analytics/consistency, /stations/{stationId}/analytics/events | analytics | No | Yes |
| Pauses («Pausas») | /analytics/pauses | pauses | No | Yes |
On Light:
- Plan version. A version 1 Light keeps the general reports; a version 2
Light has none.
planVersionsays which, and it never changes. - «Programa». A module's «Programa» (its production queue) holds up to 3
«referencias» (order lots):
features.maxReferencesPerModule. On Pro it isnull, no limit. - Rate limit. A token makes 60 requests a minute in a Light organization and 120 in a Pro one: see Rate limits.
Read the plan before you call
GET …/plan answers on every plan:
curl https://api.fluenta.io/v1/external/organizations/42/plan \
-H 'Authorization: Bearer fluenta_live_xxxxxxxxxxxxxxxx'{
"tier": "light",
"planVersion": 2,
"features": {
"reports": false,
"billingAnalytics": false,
"moduleReports": false,
"operatorReports": false,
"analytics": false,
"pace": false,
"rework": false,
"pauses": false,
"operatorPicksReference": false,
"referenceColor": false,
"aiConnector": false,
"maxReferencesPerModule": 3,
"publicApi": true
},
"rateLimits": {
"windowSeconds": 60,
"organization": 60,
"heavy": 20,
"credential": 300,
"account": 60
}
}When a group's key is true, its routes answer. When it is false, they
answer 403 PLAN_LIMIT.
PLAN_LIMIT
{
"statusCode": 403,
"code": "PLAN_LIMIT",
"feature": "reports",
"message": "Tu plan no incluye esta función"
}feature names the missing key. It is not a problem with the token or with
your permissions: retrying does not change it. Leave that figure out, or read
a route the plan does include: /board carries the day's efficiency on every
plan.
Trial and exempt
- Trial. An organization in its trial month answers as the plan it is
trying:
tieris that plan. A trial of Pro reaches every route. - Exempt («exenta»). An exempt organization is never billed. Through the API it answers as Pro.
- Paused subscription. A blocked organization answers 402
ORG_BLOCKEDon all of its routes.
«Conectar con IA» is separate
«Conectar con IA» (Connect with AI) is a Plan Pro feature: it lets an AI app,
such as Claude or ChatGPT, reach the organization through a connection. It has
nothing to do with API tokens. In a Light organization, a connection answers
403 PLAN_LIMIT with feature: "aiConnector" on every route; an API token
keeps working. See AI and
Authentication.
Organizations and resources
How calls chain together, from your user to your organizations and from an organization to its modules, stations and operators.
Conventions
The rules that hold for every route: lists and pages, ids, days and hours on the plant's clock, ranges, efficiency, money and compatible changes.