Saltar al contenido principal

Usuarios y roles

Cada tenant tiene su propia tabla de usuarios, aislada de otros tenants.

MCP Tool: create_user

Perfil: core

Crea un usuario dentro del tenant.

Parametros

ParametroTipoRequeridoDescripcion
tenantSlugstringSiSlug del tenant
emailstringSiEmail (unico en el tenant)
passwordstringSiPassword (min 8 caracteres, se hashea)
namestringSiNombre completo
rolestringNoRol: owner, admin, member, viewer. Default: member
permissionsobjectNoPermisos por entidad
metadataobjectNoDatos adicionales (telefono, departamento, posicion, avatar)

Roles

RolDescripcion
ownerControl total. Puede gestionar todo
adminPuede gestionar usuarios y configuraciones
memberPuede crear y editar registros
viewerSolo lectura

Permisos por entidad

{
"entities": {
"productos": ["create", "read", "update", "delete"],
"facturas": ["read", "create"],
"reportes": ["read"]
},
"canManageUsers": false,
"canManageSettings": false
}

Ejemplo

create_user({
tenantSlug: "mi-empresa",
email: "vendedor@empresa.com",
password: "password123",
name: "Carlos Vendedor",
role: "member",
permissions: {
entities: {
clientes: ["create", "read", "update"],
productos: ["read"]
}
}
})

Login despues de crear

El usuario puede autenticarse via REST:

curl -X POST "https://api.fyso.dev/api/auth/tenant/login" \
-H "Content-Type: application/json" \
-H "X-Tenant-ID: mi-empresa" \
-d '{"email":"vendedor@empresa.com","password":"password123"}'

O via MCP:

tenant_login({
tenantSlug: "mi-empresa",
email: "vendedor@empresa.com",
password: "password123"
})

MCP Tool: list_users

Perfil: core

Parametros

ParametroTipoRequeridoDescripcion
tenantSlugstringNoSlug del tenant. Default: tenant seleccionado

Ejemplo

list_users({ tenantSlug: "mi-empresa" })

Respuesta

{
"success": true,
"users": [
{
"id": "uuid",
"email": "admin@empresa.com",
"name": "Admin Principal",
"role": "owner",
"isActive": true,
"lastLogin": "2026-02-18T10:00:00Z"
}
],
"total": 2
}

Las passwords nunca se retornan.

MCP Tool: tenant_login

Perfil: advanced

Login como usuario del tenant. Retorna un JWT para usar con la REST API.

Parametros

ParametroTipoRequeridoDescripcion
tenantSlugstringSiSlug del tenant
emailstringSiEmail del usuario
passwordstringSiPassword

Respuesta

{
"success": true,
"token": "eyJhbGci...",
"user": {
"id": "uuid",
"email": "user@example.com",
"name": "Nombre",
"role": "member"
},
"usage": {
"header": "Authorization",
"value": "Bearer eyJhbGci...",
"note": "Use this token in the Authorization header for REST API calls"
}
}
Creado con Fyso