Skip to Content
API RESTAutenticación

Autenticación

Toda llamada a la API REST requiere dos cabeceras:

Authorization: Bearer <token> X-Tenant: <tenant-key>

tenant-key es el slug de la iglesia (ej. la-roca). Sin esa cabecera la API responde 400 Bad Request: Missing X-Tenant.

Tipos de token

TipoCasoVigencia
Personal Access Token (PAT)Scripts personales, Postman90 días
Service TokenBackends, integraciones de larga duración1 año
OAuth Access TokenApps de terceros (Zapier, partners)1 hora (con refresh)
API Key del kioskoSolo para el dispositivo, scope minimalPermanente, rotable

Crear un PAT

  1. Configuración → Mi cuenta → Tokens → Nuevo.
  2. Nombre descriptivo (“Postman local”).
  3. Selecciona scopes (lista abajo).
  4. Crear → copia el token (sólo se muestra una vez).
curl https://api.ministrium.com/v1/members/mem_123 \ -H "Authorization: Bearer ms_pat_AbCdEf123..." \ -H "X-Tenant: la-roca"

Crear un Service Token

Configuración → Iglesia → Service Tokens → Nuevo. Sólo org_admin puede crearlos. El service token no está atado a un usuario humano — sobrevive a la salida del staff que lo creó.

Trate los tokens como contraseñas

Cualquiera con el token actúa como su iglesia. Nunca los meta en código en repositorios públicos. Use variables de entorno o un secret manager (1Password, Vault).

Scopes

Los scopes limitan qué puede hacer el token. Granularidad por recurso × acción:

read:members write:members read:donations write:donations read:attendance write:attendance read:events write:events read:groups write:groups read:reports (no write) read:campuses write:campuses admin:* (todo, sólo para org_admin)

Si pide un scope que no tiene en su rol, la creación del token falla.

Rotación

PATs caducan a 90 días. Service tokens a 1 año. 2 semanas antes del vencimiento, Ministrium notifica al dueño por email + push. Para rotar:

  1. Generar nuevo token.
  2. Actualizar en su sistema.
  3. Revocar el antiguo (Configuración → Tokens → Revocar).

Si un token se revoca, las llamadas siguientes responden 401 Unauthorized: Token revoked instantáneamente.

Compromiso

Si sospecha que un token fue expuesto:

  1. Revoque inmediatamente desde la UI o vía DELETE /v1/auth/tokens/<id>.
  2. Revise el log de auditoría: cualquier acción del token aparece con su nombre.
  3. Genere un nuevo token con scopes mínimos necesarios.

OAuth (apps de terceros)

Para apps que actúan en nombre de un usuario (Zapier, partners), Ministrium expone OAuth 2.0:

GET /v1/oauth/authorize? client_id=app_xyz& redirect_uri=https://app.partner.com/cb& scope=read:members+write:donations& state=<csrf>

Flujo PKCE estándar. Refresh tokens válidos 30 días.

OpenAPI spec

Disponible en /v1/openapi.json (público) y /v1/openapi.yaml. Compatible con Swagger UI, Postman, Insomnia.

Last updated on