2026-05-15 — Beta pública de la API v1
Entrada histórica en inglés sobre el lanzamiento de la API v1 y suscriptores.
Historial en inglés correspondiente al 2026-05-15. Se conserva el texto publicado y su contexto temporal; para implementar una integración, consulta la referencia actual.
API version: 2026-05-15
Beta
This is the first public version of the Fluyio API and it is in beta. It exposes one resource,
Subscribers. Everything else is in development: see the
hoja de ruta de la API. Send Fluyio-Version: 2026-05-15 on
every request to pin your integration; it is also the default when the header is omitted.
Added
Subscribers resource
Seven endpoints under /v1/subscribers:
GET /v1/subscribers— cursor-paginated list withlimit,sortand exact-match filters (filter[email],filter[external_id],filter[created_at_gte],filter[created_at_lte],filter[has_consent]).GET /v1/subscribers/:id— retrieve.POST /v1/subscribers— create withemailand/orphone, names,external_id,propertiesand initialconsent.PATCH /v1/subscribers/:id— partial update;propertiesmerged key by key.DELETE /v1/subscribers/:id— delete.POST /v1/subscribers/:id/subscribeandPOST /v1/subscribers/:id/unsubscribe— consent per channel (email,sms,whatsapp, plusallfor unsubscribe).
Ids are sub_ followed by 32 hexadecimal characters. Consent has three states per channel: subscribed, unsubscribed, never_subscribed. See the Subscribers reference.
API keys
Keys are created from the dashboard (API keys), with a name, a mode (live or test), scopes and an optional expiry. Only a SHA-256 hash is stored; the plaintext (fly_live_… or fly_test_…) is shown once. Requests authenticate with Authorization: Bearer <key>. See authentication.
Error envelope
Every error returns { "error": { "type", "code", "message", "param?", "request_id" } }, and every response carries a Fluyio-Request-Id header. See errors.
Cursor pagination
List responses return { "object": "list", "data": [...], "has_more", "next_cursor" }. Pass next_cursor back as cursor. See pagination.
Idempotency keys
POST and PATCH requests accept an Idempotency-Key header (8–128 characters). The response is cached for 24 hours per account, key, method and path; replays carry Idempotency-Replayed: true, and reusing a key with a different body returns 409 idempotency_key_reuse. See idempotency.
Date-based versioning
The Fluyio-Version header pins the schema. Malformed values return 400 invalid_version_header; unknown dates return 400 unknown_version with the list of supported_versions. See versioning.
Known limitations
- Test mode is not isolated.
fly_test_keys are labelled as test (Fluyio-Mode: test) but operate on the same data as live keys. - Scopes are recorded but not enforced yet. Any valid key of the account can call every subscriber endpoint.
- No lookup by email or external id in the path. Use
filter[email]orfilter[external_id]withlimit=1. - No bulk endpoints, no SDKs, no OpenAPI document. Call the API over HTTP from your language; see HTTP & cURL.
- Outgoing webhooks are not delivered yet, although endpoints can be registered from the dashboard. See webhooks.
Feedback
Public beta means we are listening. Write to [email protected] with the request_id of any surprising response, or with the resource you need next.