Límites
Solicitudes por minuto, tamaño del cuerpo y topes de cada campo.
Solicitudes por minuto
Cada llave de API admite 60 solicitudes por minuto. La ventana es fija: arranca con tu primera solicitud y se reinicia 60 segundos después. Toda respuesta autenticada trae el estado de la ventana:
| Cabecera | Significado |
|---|---|
X-RateLimit-Limit | Solicitudes permitidas por ventana (60). |
X-RateLimit-Remaining | Las que te quedan en la ventana actual. |
X-RateLimit-Reset | Segundos hasta que se reinicia. |
Pasado el límite, la respuesta es 429 rate_limited con Retry-After. Las solicitudes en modo de prueba cuentan igual que las reales; las que fallan por llave inválida (401) no traen estas cabeceras porque no llegaron a identificar una llave.
Si tu volumen legítimo pasa de 60 por minuto (una campaña grande, una importación), escríbenos antes: una importación masiva se hace mejor por otro camino.
Tamaño del cuerpo
El cuerpo completo de la solicitud no puede pasar de 64 000 bytes. Al superarlo, la respuesta es 413 payload_too_large y la conexión se cierra.
Topes por campo
| Campo | Límite |
|---|---|
nombre | 1 a 200 caracteres. Obligatorio. |
telefono | Al menos 10 dígitos. |
mensaje | Hasta 2 000 caracteres. |
propiedad | Exactamente una llave: codigo, external_code o id. |
extras | Hasta 20 entradas. Llave de hasta 60 caracteres; valor de texto de hasta 200 caracteres, o un número o booleano. |
Idempotency-Key | 1 a 200 caracteres ASCII imprimibles. |
Idempotencia
Una Idempotency-Key se recuerda 24 horas por llave de API. Después de ese tiempo, la misma llave cuenta como nueva.
Lo que no hay
- No hay CORS. La API no responde a solicitudes desde el navegador, por diseño.
- No hay paginación ni lectura. La API solo recibe leads; para consultarlos usa el dashboard.
- No hay sandbox separado. El modo de prueba (
X-Zevra-Dry-Run: true) cumple ese papel contra tus datos reales sin escribir nada.