IntroducciónGuía de inicio
Introducción

Introducción a la API

Guía de autenticación, headers requeridos y convenciones de la API REST de Plea

curl -X POST https://app.getplea.com/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email": "usuario@ejemplo.com", "password": "tu-contraseña"}'
{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "user": {
    "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
    "email": "usuario@ejemplo.com",
    "fullName": "María García López"
  }
}
curl -X POST https://app.getplea.com/api/uploads/request-url \
  -H "Authorization: Bearer TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"filename": "contrato.pdf", "contentType": "application/pdf"}'
{
  "uploadUrl": "https://storage.googleapis.com/plea-uploads/signed-url...",
  "fileUrl": "https://storage.googleapis.com/plea-uploads/org-id/contrato.pdf"
}

La API REST de Plea permite integrar tu despacho con aplicaciones externas, automatizar procesos y acceder a todos los datos de tu organización de forma programática.

Base URL

Todas las peticiones se realizan contra:

https://app.getplea.com/api

Autenticación

Plea utiliza autenticación basada en Bearer Token (JWT). Para obtener un token, realiza una petición al endpoint de login.

Headers requeridos

Incluye estos headers en todas las peticiones autenticadas:

HeaderValorDescripción
AuthorizationBearer <token>Token JWT obtenido en el login
Content-Typeapplication/jsonTipo de contenido para peticiones con body
x-organization-id<uuid>Identificador de la organización activa

El header x-organization-id es necesario en la mayoría de endpoints. Un usuario puede pertenecer a varias organizaciones, y este header indica cuál está activa.

Paginación

Los endpoints de lista aceptan parámetros de paginación:

ParámetroTipoDefaultDescripción
limitnumber50Número máximo de resultados
offsetnumber0Desplazamiento desde el inicio

Filtros de fecha

Para filtrar por rango de fechas, usa:

ParámetroFormatoEjemplo
dateFromISO 86012026-01-01
dateToISO 86012026-12-31

Códigos de respuesta

CódigoSignificado
200OK — Petición exitosa
201Created — Recurso creado correctamente
400Bad Request — Parámetros inválidos o faltantes
401Unauthorized — Token inválido o expirado
403Forbidden — Sin permisos para esta acción
404Not Found — Recurso no encontrado
409Conflict — El recurso ya existe
500Internal Server Error — Error del servidor

Streaming (SSE)

Los endpoints de IA que terminan en -stream devuelven Server-Sent Events. Mantén la conexión abierta y procesa los eventos conforme llegan:

const eventSource = new EventSource('/api/ai/case-assistant-stream', {
  headers: { 'Authorization': 'Bearer TOKEN' }
});

eventSource.onmessage = (event) => {
  const data = JSON.parse(event.data);
  console.log(data.content);
};

Subida de archivos

Para subir archivos, primero solicita una URL firmada: