Recursos principalesDocumentos
Recursos principales

Documentos

Gestión de documentos asociados a expedientes y clientes

curl "https://app.getplea.com/api/documents?caseId=case-uuid-1" \
  -H "Authorization: Bearer TOKEN" \
  -H "x-organization-id: ORG_ID"
[
  {
    "id": "doc-uuid-1",
    "name": "Demanda_Martinez_v_Construcciones.pdf",
    "type": "application/pdf",
    "size": 245760,
    "caseId": "case-uuid-1",
    "clientVisible": false,
    "uploadedBy": "user-uuid-1",
    "uploadedByName": "Ana López",
    "createdAt": "2026-02-15T10:00:00Z"
  },
  {
    "id": "doc-uuid-2",
    "name": "Contrato_Arrendamiento.docx",
    "type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
    "size": 128000,
    "caseId": "case-uuid-1",
    "clientVisible": true,
    "uploadedBy": "user-uuid-2",
    "uploadedByName": "Pedro Martín",
    "createdAt": "2026-02-20T14:30:00Z"
  }
]
curl https://app.getplea.com/api/documents/doc-uuid-1 \
  -H "Authorization: Bearer TOKEN" \
  -H "x-organization-id: ORG_ID"
{
  "id": "doc-uuid-1",
  "name": "Demanda_Martinez_v_Construcciones.pdf",
  "type": "application/pdf",
  "size": 245760,
  "url": "https://storage.googleapis.com/plea-uploads/org-id/doc-uuid-1.pdf",
  "caseId": "case-uuid-1",
  "clientVisible": false,
  "uploadedBy": "user-uuid-1",
  "createdAt": "2026-02-15T10:00:00Z"
}
curl https://app.getplea.com/api/documents/doc-uuid-1/file \
  -H "Authorization: Bearer TOKEN" \
  -H "x-organization-id: ORG_ID" \
  -o documento.pdf
Content-Type: application/pdf
Content-Disposition: attachment; filename="Demanda_Martinez_v_Construcciones.pdf"

[binary data]
curl -X POST https://app.getplea.com/api/documents \
  -H "Authorization: Bearer TOKEN" \
  -H "Content-Type: application/json" \
  -H "x-organization-id: ORG_ID" \
  -d '{
    "name": "Sentencia_favorable.pdf",
    "url": "https://storage.googleapis.com/plea-uploads/org-id/sentencia.pdf",
    "type": "application/pdf",
    "size": 185600,
    "caseId": "case-uuid-1"
  }'
{
  "id": "doc-uuid-new",
  "name": "Sentencia_favorable.pdf",
  "type": "application/pdf",
  "size": 185600,
  "caseId": "case-uuid-1",
  "clientVisible": false,
  "createdAt": "2026-03-07T12:00:00Z"
}
curl -X DELETE https://app.getplea.com/api/documents/doc-uuid-1 \
  -H "Authorization: Bearer TOKEN" \
  -H "x-organization-id: ORG_ID"
{
  "message": "Documento eliminado correctamente"
}
curl -X PATCH https://app.getplea.com/api/documents/doc-uuid-1/client-visible \
  -H "Authorization: Bearer TOKEN" \
  -H "Content-Type: application/json" \
  -H "x-organization-id: ORG_ID" \
  -d '{"clientVisible": true}'
{
  "id": "doc-uuid-1",
  "clientVisible": true,
  "updatedAt": "2026-03-07T12:30:00Z"
}

Endpoints para subir, listar, descargar y gestionar documentos. Los documentos se vinculan a expedientes y pueden hacerse visibles para los clientes a través del portal.

GET /api/documents

Lista los documentos de la organización.

query
caseIdstring

Filtrar por UUID del expediente.

query
clientIdstring

Filtrar por UUID del cliente.

query
limitnumber

Máximo de resultados. Default: 50.

query
offsetnumber

Desplazamiento para paginación.


GET /api/documents/:id

Obtiene los metadatos de un documento.

path
idstring
Required

UUID del documento.


GET /api/documents/:id/file

Descarga el archivo del documento.

path
idstring
Required

UUID del documento.


POST /api/documents

Crea un registro de documento (después de subir el archivo mediante URL firmada).

body
namestring
Required

Nombre del archivo.

body
urlstring
Required

URL del archivo subido (obtenida de /api/uploads/request-url).

body
typestring
Required

MIME type del archivo.

body
sizenumber
Required

Tamaño en bytes.

body
caseIdstring

UUID del expediente asociado.


DELETE /api/documents/:id

Elimina un documento.

path
idstring
Required

UUID del documento.


PATCH /api/documents/:id/client-visible

Cambia la visibilidad de un documento para el cliente a través del portal.

path
idstring
Required

UUID del documento.

body
clientVisibleboolean
Required

true para hacer visible al cliente, false para ocultarlo.