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"
const docs = await fetch('/api/documents?caseId=case-uuid-1', {
headers: {
'Authorization': 'Bearer TOKEN',
'x-organization-id': 'ORG_ID'
}
}).then(r => r.json());
[
{
"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"
const doc = await fetch('/api/documents/doc-uuid-1', {
headers: {
'Authorization': 'Bearer TOKEN',
'x-organization-id': 'ORG_ID'
}
}).then(r => r.json());
{
"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
const response = await fetch('/api/documents/doc-uuid-1/file', {
headers: {
'Authorization': 'Bearer TOKEN',
'x-organization-id': 'ORG_ID'
}
});
const blob = await response.blob();
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"
}'
const doc = await fetch('/api/documents', {
method: 'POST',
headers: {
'Authorization': 'Bearer TOKEN',
'Content-Type': 'application/json',
'x-organization-id': 'ORG_ID'
},
body: JSON.stringify({
name: 'Sentencia_favorable.pdf',
url: 'https://storage.googleapis.com/plea-uploads/org-id/sentencia.pdf',
type: 'application/pdf',
size: 185600,
caseId: 'case-uuid-1'
})
}).then(r => r.json());
{
"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"
await fetch('/api/documents/doc-uuid-1', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer TOKEN',
'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}'
await fetch('/api/documents/doc-uuid-1/client-visible', {
method: 'PATCH',
headers: {
'Authorization': 'Bearer TOKEN',
'Content-Type': 'application/json',
'x-organization-id': 'ORG_ID'
},
body: JSON.stringify({ 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.
Filtrar por UUID del expediente.
Filtrar por UUID del cliente.
Máximo de resultados. Default: 50.
Desplazamiento para paginación.
GET /api/documents/:id
Obtiene los metadatos de un documento.
UUID del documento.
GET /api/documents/:id/file
Descarga el archivo del documento.
UUID del documento.
POST /api/documents
Crea un registro de documento (después de subir el archivo mediante URL firmada).
Nombre del archivo.
URL del archivo subido (obtenida de /api/uploads/request-url).
MIME type del archivo.
Tamaño en bytes.
UUID del expediente asociado.
DELETE /api/documents/:id
Elimina un documento.
UUID del documento.
PATCH /api/documents/:id/client-visible
Cambia la visibilidad de un documento para el cliente a través del portal.
UUID del documento.
true para hacer visible al cliente, false para ocultarlo.
Last updated today