Desarrolladores
API de redacción
Redacta PDFs de forma programática con el mismo pipeline seguro que la app web: OCR de Azure + detección de PII + redacción irreversible por rasterización.
Jobs asíncronos
Sube uno o varios PDFs, consulta el estado y descarga las salidas redactadas.
Controles de PII
Elige categorías de PII por job y mantiene tus preferencias por defecto en el panel.
Retención
No-retention por defecto para flujos API, con modo opcional de revisión en Studio cuando lo necesites.
Conceptos
Lo esencial: auth, reintentos, retención y categorías PII soportadas.
  • Auth: envía tu clave en X-API-Key (mantén las claves en backend).
  • Idempotencia: usa X-Idempotency-Key al reintentar POST /v1/jobs.
  • Retención: ephemeral elimina originales tras procesar; studio conserva originales + máscaras para revisión en Studio.
  • Estados: uploaded → analyzing → redacted (o error).
  • Categorías PII: Person, Email, PhoneNumber, Address, Organization, Date, IBAN, CreditCard.
Authentication
Use an API key for server-to-server calls. Do not put API keys in browsers or mobile apps.
Validate your key
curl -X GET \
  'https://api.redactpdf.ai/v1/me' \
  -H 'X-API-Key: YOUR_API_KEY'
Header: X-API-Key: YOUR_API_KEY
Security checklist
  • Store keys in your server environment (not in client code).
  • Use one key per environment (dev/staging/prod) to reduce blast radius.
  • Prefer short-lived workers and job queues for large batches.
  • Log request IDs (from error responses) for support/debugging.
Quickstart
Ejemplos mínimos para empezar rápido.
Crear un job
curl -X POST \
  'https://api.redactpdf.ai/v1/jobs' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -F 'files=@contract.pdf;type=application/pdf' \
  -F 'pii_categories=["Person","Email","PhoneNumber"]' \
  -F 'retention=ephemeral'
La API devuelve un job id inmediatamente. El procesamiento es asíncrono.
Respuesta de ejemplo
{
  "job_id": "b3f2b2e0-6f30-4f3e-8a7b-2f2a20a7d91c",
  "status": "analyzing",
  "documents": [
    { "id": "7f4f4f85-6b7a-4f88-9a8a-7b9a6a2d2fd0", "status": "uploaded" }
  ]
}
Consulta el job hasta que el estado sea “redacted” y luego descarga las salidas por documento.
Error handling
Errors are JSON with a stable code. Treat quota and rate limits as actionable signals.
Common codes
  • quota_exceeded (HTTP 402): buy credits or upgrade.
  • rate_limited (HTTP 429): backoff and retry.
  • invalid_request (HTTP 400): fix parameters.
  • unauthorized (HTTP 401): key missing/invalid.
Example error response
{
  "error": "Insufficient quota",
  "code": "quota_exceeded",
  "request_id": "req_123"
}
The request_id helps correlate logs and support requests.
PII categories
Choose which PII types to redact per job. If you omit categories, your dashboard defaults apply.
CategoryWhat it targets
PersonPeople names
EmailEmail addresses
PhoneNumberPhone numbers (validated patterns)
AddressPostal addresses
OrganizationCompany / organization names
DateDates and date-times
IBANInternational bank account numbers
CreditCardCredit card numbers
Tip: if you need a term to never be redacted, set excluded terms in the dashboard preferences.
Referencia API (v1)
Ejemplos prácticos para los endpoints principales. Descarga el archivo OpenAPI para el esquema completo.
Consultar un job
curl -X GET \
  'https://api.redactpdf.ai/v1/jobs/b3f2b2e0-6f30-4f3e-8a7b-2f2a20a7d91c' \
  -H 'X-API-Key: YOUR_API_KEY'
Consulta hasta que el job llegue a un estado terminal (redacted o error).
Descargar salida
curl -L \
  -H 'X-API-Key: YOUR_API_KEY' \
  'https://api.redactpdf.ai/v1/documents/7f4f4f85-6b7a-4f88-9a8a-7b9a6a2d2fd0/output' \
  -o contract-redacted.pdf
Descarga el PDF redactado cuando el estado del documento sea redacted.
Eliminar un job
curl -X DELETE \
  -H 'X-API-Key: YOUR_API_KEY' \
  'https://api.redactpdf.ai/v1/jobs/b3f2b2e0-6f30-4f3e-8a7b-2f2a20a7d91c'
Elimina el job y los archivos asociados (según retención).
Buenas prácticas
  • Usa X-Idempotency-Key para reintentos (los timeouts de red pasan).
  • No incluyas claves API en navegadores o apps móviles. Llama desde tu backend.
  • Usa backoff exponencial al hacer polling; intervalos de 1–2s para jobs cortos.
  • Trata 402 y 429 como señales accionables (cuota / rate limit).