Documentación de la API de Fileverity
Límites de frecuencia y encabezados
Límites de frecuencia de las solicitudes por clave de API, encabezados de respuesta del límite de frecuencia, retry-after en 429 y 503 y los demás encabezados que establece la API de Fileverity.
Cada clave de API puede hacer 120 solicitudes por minuto. El límite se cuenta en ventanas de un minuto y abarca todos los endpoints, incluidas las solicitudes que devuelven un error. Cuando se agota una ventana, las solicitudes posteriores reciben 429 con el código rate_limited hasta que la ventana se reinicia.
¿Necesita límites más altos o precios por volumen? Hable con ventas.
Encabezados del límite de frecuencia
Toda respuesta a una solicitud autenticada incluye el estado de su ventana:
| Encabezado | Significado |
|---|---|
x-ratelimit-limit-requests | Solicitudes permitidas por ventana. |
x-ratelimit-remaining-requests | Solicitudes restantes en la ventana actual. |
x-ratelimit-reset-requests | Segundos hasta que se reinicia la ventana. |
retry-after | Solo en 429 con el código rate_limited y en 503 con el código service_unavailable. Segundos que hay que esperar antes de la siguiente solicitud. pending_files_limit (también 429) no lo incluye. |
Las solicitudes rechazadas por una clave ausente o no válida (401) no incluyen estos encabezados.
async function call(url, init) { for (let attempt = 0; attempt < 5; attempt++) { const response = await fetch(url, init); if (response.status !== 429) return response; const wait = Number(response.headers.get("retry-after")) || 1; await new Promise((resolve) => setTimeout(resolve, wait * 1000)); } throw new Error("Rate limited");}import time def call(method, url, **kwargs): for attempt in range(5): response = requests.request(method, url, **kwargs) if response.status_code != 429: return response time.sleep(int(response.headers.get("retry-after", 1))) raise RuntimeError("Rate limited")Distribuya las ráfagas en el tiempo, prefiera los webhooks a los bucles de consultas frecuentes y use Prefer: wait en los análisis en lugar de consultar periódicamente. Cuando la capacidad está ocupada, POST /analyses devuelve 503 service_unavailable con retry-after; consulte Cuando el servicio está ocupado.
Otros encabezados de respuesta
| Encabezado | Dónde | Significado |
|---|---|---|
x-request-id | Todas las respuestas | El ID de la solicitud, también en los cuerpos de error. |
cache-control: no-store | Todas las respuestas | Las respuestas de la API nunca se almacenan en caché. |
preference-applied | POST /analyses | wait=N cuando se aplicó su encabezado Prefer. |
idempotent-replayed | Endpoints POST | true cuando la respuesta es una respuesta guardada que se reutiliza. Consulte Idempotencia. |
x-evidence-included | GET /analyses/{id}/report.pdf | false cuando las evidencias del documento ya han caducado y el PDF las omite. |
Encabezados que usted envía
Authorization: Bearer <key>: obligatorio. Consulte Autenticación y claves.Content-Type: application/jsonpara los cuerpos JSON;multipart/form-datapara las subidas conPOST /files.Idempotency-Key: opcional, en las solicitudes POST.Prefer: wait=N: opcional, enPOST /analyses.
Ejemplo: curl -i https://api.fileverity.com/v1/models -H "Authorization: Bearer $FILEVERITY_API_KEY" muestra todos los encabezados de la respuesta.