La pagina de API Management (/settings/api-management) permite a administradores del tenant crear y gestionar definiciones de APIs de plataforma, incluyendo las API keys asociadas a cada una.
Requiere: rol
owneroadminen el tenant.
Una Platform API es una definicion de superficie de acceso programatico. Agrupa:
- Un nombre y slug identificador.
- Los roles del tenant que pueden usar esa API (ej:
admin,member,viewer). - Una matriz de permisos: que operaciones (
read,create,update,delete) puede ejecutar cada rol sobre cada entidad.
Las API keys se emiten por rol dentro de una Platform API. Una key hereda los permisos definidos en la matriz para ese rol.
- Ir a Settings en la barra lateral.
- Bajo la seccion Develop, hacer clic en API Management.
- URL directa:
/settings/api-management
La pagina muestra una tabla con todas las APIs del tenant:
| Columna | Descripcion |
|---|---|
| Name | Nombre de la API |
| Slug | Identificador unico (URL-safe) |
| Roles | Roles habilitados para esta API |
| Entities | Cantidad de entidades en la matriz de permisos |
| Status | Activa / Inactiva |
| Actions | Editar / Eliminar |
Cada fila es expandible: al hacer clic muestra las API keys emitidas para esa API (ver seccion Keys mas abajo).
- Hacer clic en Create API (boton superior derecho).
- Completar el formulario:
| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
| Name | texto | Si | Nombre descriptivo (ej: "Mobile App API") |
| Slug | texto | Si | Auto-generado desde el nombre. Editable. Solo letras, numeros y guiones. |
| Roles | multi-select | Si | Roles del tenant que pueden usar esta API |
| Permission Matrix | tabla | No | Entidades y operaciones permitidas por rol |
- En la Permission Matrix:
- Hacer clic en Add entity para agregar una entidad especifica.
- Seleccionar
*(wildcard) para dar acceso a todas las entidades. - Marcar los checkboxes: R (read), C (create), U (update), D (delete) por cada rol y entidad.
- Hacer clic en Create.
El slug se genera automaticamente a partir del nombre (minusculas, espacios reemplazados por guiones). Se puede editar manualmente antes de crear. Una vez creada la API, el slug no se puede modificar.
- En la tabla, hacer clic en el icono de edicion (lapiz) de la API.
- Se abre el mismo formulario de creacion, pre-llenado.
- Se puede modificar: nombre, roles habilitados y la matriz de permisos.
- El slug no es editable despues de la creacion.
- Hacer clic en Save.
- Hacer clic en el icono de eliminacion (papelera) de la API.
- Se muestra un dialogo de confirmacion.
- Advertencia: eliminar una API elimina en cascada todas sus API keys. Las integraciones que usen esas keys dejaran de funcionar inmediatamente.
- Confirmar para proceder.
Las keys se emiten por API y por rol. Cada key tiene los permisos del rol en esa API.
- Expandir la fila de una API haciendo clic en ella.
- Hacer clic en Issue Key.
- Completar el dialogo:
| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
| Role | select | Si | Rol dentro de la API. Determina los permisos de la key. |
| Label | texto | No | Etiqueta descriptiva (ej: "produccion", "ci-pipeline") |
| TTL | select | No | Tiempo de vida: sin expiracion, 30 dias, 90 dias, 1 año |
- Hacer clic en Issue.
Inmediatamente despues de emitir, se muestra el valor completo de la key en formato:
fyso_pkey_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Esta es la unica vez que el valor completo es visible. Copiar la key con el boton Copy antes de cerrar el dialogo. Despues de cerrar, solo se muestra el prefijo (primeros 8 caracteres).
Al expandir una fila de API, se muestra la tabla de keys emitidas:
| Columna | Descripcion |
|---|---|
| Prefix | Primeros 8 caracteres de la key |
| Label | Etiqueta opcional asignada al emitir |
| Role | Rol con el que fue emitida |
| Status | Active / Revoked |
| Last Used | Ultima vez que fue usada en una request |
| Expires | Fecha de expiracion o "Never" |
| Actions | Revocar |
- En la tabla de keys de una API, hacer clic en Revoke junto a la key.
- La key se desactiva inmediatamente. El estado cambia a Revoked en la tabla sin recargar la pagina.
- Las requests que usen esa key comenzaran a recibir
401 Unauthorized.
No es posible re-activar una key revocada. Si se necesita acceso nuevamente, emitir una nueva key.
Las keys se usan como Bearer token en el header Authorization o como X-API-Key:
# Opcion 1: Authorization header
curl -H "Authorization: Bearer fyso_pkey_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
"https://api.fyso.dev/api/entities/clientes/records"
# Opcion 2: X-API-Key header
curl -H "X-API-Key: fyso_pkey_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
"https://api.fyso.dev/api/entities/clientes/records"Los permisos efectivos de la request seran los definidos en la matriz de la API para el rol de la key.
Para mas detalles sobre la REST API, ver REST API.
La UI consume los siguientes endpoints, disponibles tambien directamente:
| Metodo | Endpoint | Descripcion |
|---|---|---|
GET |
/api/apis |
Listar APIs del tenant |
POST |
/api/apis |
Crear nueva API |
GET |
/api/apis/:id |
Obtener API por ID |
PUT |
/api/apis/:id |
Actualizar API |
DELETE |
/api/apis/:id |
Eliminar API (cascades keys) |
GET |
/api/apis/:id/keys |
Listar keys de una API |
POST |
/api/apis/:id/keys |
Emitir nueva key |
DELETE |
/api/apis/:id/keys/:keyId |
Revocar key |
Estos endpoints requieren autenticacion con un token de usuario con rol
owneroadmin.
La UI esta disponible en ingles y espanol. El idioma se selecciona automaticamente segun la configuracion del navegador o el selector de idioma del panel.
- Los valores completos de las keys nunca se almacenan en texto plano — solo un hash seguro y el prefijo.
- Las keys solo son visibles en el momento de emision. No hay forma de recuperar el valor original.
- Revocar una key tiene efecto inmediato: no hay periodo de gracia.
- Eliminar una API revoca y elimina todas sus keys de forma irrecuperable.