Développeurs
API de caviardage
Caviardez des PDFs de manière programmatique avec le même pipeline sécurisé que l’application: OCR Azure + détection PII + caviardage irréversible par rasterisation.
Jobs asynchrones
Téléversez un ou plusieurs PDFs, suivez le statut, puis téléchargez les sorties caviardées.
Contrôles PII
Choisissez les catégories PII par job et gardez vos préférences par défaut dans le tableau de bord.
Modes de rétention
No-retention par défaut pour l’API, avec un mode “ouvrir dans le Studio” quand une relecture est nécessaire.
Concepts
L’essentiel: auth, retries, rétention et catégories PII supportées.
  • Auth: envoyez votre clé dans X-API-Key (gardez les clés côté serveur).
  • Idempotence: utilisez X-Idempotency-Key lors des retries de POST /v1/jobs.
  • Rétention: ephemeral supprime les originaux après traitement; studio conserve originaux + masques pour relecture Studio.
  • Statuts: uploaded → analyzing → redacted (ou error).
  • Catégories 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.
Démarrage rapide
Exemples minimaux pour démarrer rapidement.
Créer 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'
L’API renvoie immédiatement un identifiant de job. Le traitement est asynchrone.
Exemple de réponse
{
  "job_id": "b3f2b2e0-6f30-4f3e-8a7b-2f2a20a7d91c",
  "status": "analyzing",
  "documents": [
    { "id": "7f4f4f85-6b7a-4f88-9a8a-7b9a6a2d2fd0", "status": "uploaded" }
  ]
}
Sondez le job jusqu’au statut “redacted”, puis téléchargez les sorties par document.
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.
Référence API (v1)
Exemples pratiques pour les endpoints principaux. Téléchargez le fichier OpenAPI pour le schéma complet.
Sonder un job
curl -X GET \
  'https://api.redactpdf.ai/v1/jobs/b3f2b2e0-6f30-4f3e-8a7b-2f2a20a7d91c' \
  -H 'X-API-Key: YOUR_API_KEY'
Sondez jusqu’à ce que le job atteigne un état terminal (redacted ou error).
Télécharger la sortie
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
Téléchargez le PDF caviardé une fois que le statut du document est redacted.
Supprimer un job
curl -X DELETE \
  -H 'X-API-Key: YOUR_API_KEY' \
  'https://api.redactpdf.ai/v1/jobs/b3f2b2e0-6f30-4f3e-8a7b-2f2a20a7d91c'
Supprime le job et les fichiers associés (selon la rétention).
Bonnes pratiques
  • Utilisez X-Idempotency-Key pour les retries (les timeouts réseau arrivent).
  • N’intégrez pas de clés API dans un navigateur ou une app mobile. Appelez depuis votre backend.
  • Utilisez un backoff exponentiel pour le polling; 1–2s convient pour les jobs courts.
  • Traitez 402 et 429 comme des signaux actionnables (quota / rate limit).