BETA

Valida se a conta pode usar o chat com IA neste momento: se o plano está ativo e se há tokens disponíveis no período de faturamento atual. Pensado para checar o estado antes de chamar POST /chat ou POST /chat/stream, por exemplo para desabilitar o input do chat na sua UI quando allowed for false.

Esta consulta não consome tokens de IA.

Informação do recurso
AutenticaçãoObrigatória (Token de API, Bearer)
Scopemapaprop-chat-ai
HTTP MethodGET
ResponseJSON
Version1

URL do recurso

https://mapaprop.app/api/action/mapaprop-chat-ai-v1/validate

Parâmetros

Sem parâmetros. O customerId é derivado do token de autenticação.

Código de exemplo

GET /api/action/mapaprop-chat-ai-v1/validate HTTP/1.1
Host: mapaprop.app
Authorization: Bearer {access_token}

Resposta

ObjetoCampoTipoObrigatórioDescrição
Responseallowedbooleansimtrue se neste momento é possível enviar uma mensagem ao chat (plano ativo e tokens disponíveis).
enabledbooleansimtrue se o cliente tem o chat com IA ativo/contratado, independentemente de ter tokens restantes.
tokensUsedintsimTokens consumidos no período de faturamento atual.
tokenLimitintsimTeto de tokens do período atual.
tokensRemainingintsimTokens disponíveis restantes (nunca negativo).
resetDatestring ou nullnãoData em que o contador de tokens do período é reiniciado. null se não se aplica.
messagestringnãoPresente apenas quando não há uma assinatura de IA ativa na conta (enabled: false).

Se o cliente tiver configurada sua própria API key de IA ("Bring Your Own Key" / BYO) e essa configuração estiver ativa, allowed pode ser true mesmo que tokensRemaining seja 0 — nesse caso o consumo não sai do pool de tokens da Mapaprop.

Exemplo de resposta

{
    "allowed": true,
    "enabled": true,
    "tokensUsed": 12450,
    "tokenLimit": 100000,
    "tokensRemaining": 87550,
    "resetDate": "2026-09-01"
}

Exemplo quando não há uma assinatura de IA ativa:

{
    "allowed": false,
    "enabled": false,
    "tokensUsed": 0,
    "tokenLimit": 0,
    "tokensRemaining": 0,
    "resetDate": null,
    "message": "No active AI subscription"
}