Valida si la cuenta puede usar el chat con IA en este momento: si el plan está activo y si tiene tokens disponibles en el período de facturación actual. Pensado para chequear el estado antes de invocar POST /chat o POST /chat/stream, por ejemplo para deshabilitar el input del chat en tu UI cuando allowed es false.
Esta consulta no consume tokens de IA.
| Información del recurso | |
|---|---|
| Autenticación | Requerida (Token de API, Bearer) |
| Scope | mapaprop-chat-ai |
| HTTP Method | GET |
| Response | JSON |
| Version | 1 |
URL del recurso
https://mapaprop.app/api/action/mapaprop-chat-ai-v1/validate
Parámetros
Sin parámetros. El customerId se deriva del token de autenticación.
Código de ejemplo
GET /api/action/mapaprop-chat-ai-v1/validate HTTP/1.1
Host: mapaprop.app
Authorization: Bearer {access_token}
Respuesta
| Objeto | Campo | Tipo | Requerido | Descripción |
|---|---|---|---|---|
| Response | allowed | boolean | sí | true si en este momento se puede mandar un mensaje al chat (plan activo y tokens disponibles). |
| enabled | boolean | sí | true si el cliente tiene el chat con IA activo/contratado, independientemente de si le quedan tokens. | |
| tokensUsed | int | sí | Tokens consumidos en el período de facturación actual. | |
| tokenLimit | int | sí | Tope de tokens del período actual. | |
| tokensRemaining | int | sí | Tokens disponibles restantes (nunca negativo). | |
| resetDate | string o null | no | Fecha en la que se reinicia el contador de tokens del período. null si no aplica. | |
| message | string | no | Solo presente cuando no hay una suscripción de IA activa en la cuenta (enabled: false). |
Si el cliente tiene configurada su propia API key de IA ("Bring Your Own Key" / BYO) y esa configuración está activa, allowed puede ser true aunque tokensRemaining sea 0 — en ese caso el consumo no sale del pool de tokens de Mapaprop.
Ejemplo de respuesta
{
"allowed": true,
"enabled": true,
"tokensUsed": 12450,
"tokenLimit": 100000,
"tokensRemaining": 87550,
"resetDate": "2026-09-01"
}
Ejemplo cuando no hay una suscripción de IA activa:
{
"allowed": false,
"enabled": false,
"tokensUsed": 0,
"tokenLimit": 0,
"tokensRemaining": 0,
"resetDate": null,
"message": "No active AI subscription"
}