FluentaAPI

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.

GroupRoutesKeyLightPro
Account/me, /me/usage, /organizations—YesYes
Organizationthe organization, /access, /plan, /settings, /categories—YesYes
Plant/floor, /modules, /modules/{moduleId}, …/rest-times, …/stations, /stations, /stations/{stationId}, /operators, /operators/presence, /operators/{operatorId}—YesYes
Live board/board—YesYes
«Programa» and catalogue/modules/{moduleId}/program, /references…, /catalogue…, with their writes—YesYes
Activity/activity—YesYes
General reports/analytics/day-report, /analytics/leaderboard, /analytics/efficiency, /analytics/efficiency/modules, /analytics/month, /stations/{stationId}/days/{day}/reportreportsVersion 1 onlyYes
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)moduleReportsNoYes
Operator reports/analytics/operators/{operatorId}, /operators/{operatorId}/analytics/efficiencyoperatorReportsNoYes
Billing («Facturación»)/analytics/billing, /analytics/billing/modulesbillingAnalyticsNoYes
«Analítica» (the per-tap log views)/analytics/activity, /analytics/hourly, /analytics/operators, /analytics/consistency, /stations/{stationId}/analytics/eventsanalyticsNoYes
Pauses («Pausas»)/analytics/pausespausesNoYes

On Light:

  • Plan version. A version 1 Light keeps the general reports; a version 2 Light has none. planVersion says 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 is null, 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: tier is 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_BLOCKED on 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.

On this page