Documentación API

Integra análisis de contratos en tu aplicación

Introducción

La API de Valida Documento te permite automatizar el análisis de contratos en tu propia aplicación. Puedes enviar documentos PDF y recibir un análisis completo con red flags, recomendaciones y puntuación de riesgo.

Base URL: https://api.validadocumento.com/v1

La API está disponible para planes Professional y Enterprise.

Autenticación

Usa tu API Key para autenticarte. Incluye tu clave en el header Authorization:

Authorization: Bearer YOUR_API_KEY

Puedes generar y revocar claves API en tu dashboard de cuenta.

Endpoints Principales

POST /documents/upload

Sube un documento PDF para análisis.

Request:

Content-Type: multipart/form-data

{
  "file": <archivo PDF>
}

Response:

{
  "document_id": "doc_abc123",
  "status": "processing",
  "created_at": "2026-05-15T10:30:00Z"
}

GET /documents/:id/analysis

Obtén el análisis completado de un documento.

Request:

GET /documents/doc_abc123/analysis
Authorization: Bearer YOUR_API_KEY

Response:

{
  "document_id": "doc_abc123",
  "status": "completed",
  "risk_score": 72,
  "risk_level": "high",
  "red_flags": [...],
  "yellow_flags": [...],
  "green_flags": [...],
  "recommendations": [...]
}

Ejemplos

JavaScript/Node.js

const fetch = require('node-fetch');
const fs = require('fs');
const FormData = require('form-data');

async function analyzeContract(filePath) {
  const form = new FormData();
  form.append('file', fs.createReadStream(filePath));

  const response = await fetch(
    'https://api.validadocumento.com/v1/documents/upload',
    {
      method: 'POST',
      headers: {
        'Authorization': 'Bearer YOUR_API_KEY'
      },
      body: form
    }
  );

  const data = await response.json();
  console.log('Document ID:', data.document_id);

  // Poll for results
  let analysis = null;
  while (!analysis) {
    await new Promise(r => setTimeout(r, 2000));
    const res = await fetch(
      `https://api.validadocumento.com/v1/documents/${data.document_id}/analysis`,
      {
        headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
      }
    );
    const result = await res.json();
    if (result.status === 'completed') {
      analysis = result;
    }
  }

  console.log('Risk Score:', analysis.risk_score);
  return analysis;
}

analyzeContract('./contract.pdf');

Manejo de Errores

400

Bad Request - Parámetros inválidos

401

Unauthorized - API Key inválida

403

Forbidden - No tienes permisos

404

Not Found - Documento no encontrado

429

Too Many Requests - Has excedido el rate limit

500

Server Error - Error interno del servidor

Rate Limits

Los rate limits dependen de tu plan:

Professional

100 requests/minuto, 10,000 requests/día

Enterprise

Límites personalizados según contrato

Si alcanzas el límite, recibirás una respuesta 429. Espera antes de reintentar.

¿Necesitas Ayuda?

Para soporte técnico, contacta a nuestro equipo:

support@vust.me