FluentaAPI

Changelog

How the Fluenta API changes under /v1, what counts as a breaking change, and the list of changes by date.

This page is where changes to the API are announced.

How the API changes

  • The version is in the path. Every route lives under /v1/external.
  • Compatible changes ship without notice. They are new routes, new optional parameters and new fields in answers. They are noted here. Your program must ignore the fields it does not know.
  • Published names are kept. An error code keeps its name once published. The permissions read and program are never renamed. The list of actions of listActivity gains values; none is renamed.
  • A breaking change is removing or renaming a route, a parameter, a field or a code; changing the type or the meaning of a field; or making an optional parameter required.
  • Breaking changes are announced on this page before they ship.

Handle a code your program does not know by its HTTP status. See Errors.

2026-11-12

API tokens

  • A user creates API tokens in «Configuración» (Settings) → «Tokens de API» (API tokens). The token is shown once.
  • It is personal: it acts as its user, in all their organizations, with the role they have in each.
  • It carries «Leer» (Read) always, and «Gestionar el Programa» (Manage the Programa) if ticked when it is created.
  • Its «Vencimiento» (expiry) is «Nunca» (never), 30 days, 90 days or 1 year. Each user can hold up to 10 live tokens.
  • getMe now answers credential (kind, name, prefix, expiresAt) and rateLimit (limit, remaining, reset).

See Authentication.

Access for Light

  • An API token reaches organizations on Light and on Pro.
  • The API gives each organization what its plan gives it in the dashboard. Report routes answer 403 PLAN_LIMIT when the plan does not include them.
  • «Conectar con IA» (Connect with AI) stays on the Pro plan.

See Plans.

23 new read routes

The API goes from 22 to 45 reads. With the 15 writes of the «Programa» (each module's production queue) and the 2 delete previews, that is 62 operations.

  • The eleven of Account, Organization and Plant answer on Light and on Pro.
  • The twelve of Analytics are report routes: they answer by the organization's plan.
  • These routes have no tool in «Conectar con IA». An AI reaches them with an API token. See Using the API from an AI.

Filters on the ranges

getEfficiency, getProduction and getBilling take one optional filter: moduleId, operatorId or operationId. Without a filter they answer what they answered before. A filter the figure does not have answers 400 FILTER_UNSUPPORTED.

Rate limit with headers

  • Each credential has a limit per minute: 60 requests per organization on Light and 120 on Pro.
  • Every answer carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset.
  • Past the limit, the API answers 429 RATE_LIMITED with Retry-After.

See Rate limits.

INVALID_REQUEST

A query or a body that fails its validation answers 400 INVALID_REQUEST, with details: one { field, message } row per failure. Before, that 400 carried message as a list and no code.

See Errors.

OpenAPI document

Operations are grouped by area: Account, Organization, Plant, Board, Program, Catalogue, Analytics and Activity. The document is at /openapi.json.

On this page