Folders
Los endpoints de Folders te permiten organizar documentos en una estructura jerárquica de carpetas. Puedes crear, listar, renombrar, mover y eliminar carpetas.
List folders
Obtén todas las carpetas del usuario en estructura de árbol (tree).
La visibilidad de carpetas se resuelve automáticamente por la membresía de tenant del usuario, no por scope:
- Tenant member (owner/admin): ve TODAS las carpetas de su tenant.
- Tenant member (member/developer/viewer): ve carpetas del tenant que contienen documentos a los que tiene acceso.
- Sin membresía de tenant: ve sus carpetas personales (
ownerId = usuario).
El parámetro scope solo valida pertenencia: devuelve 400 Bad Request si pides org/tenant sin pertenecer a una organización/tenant. No filtra el conjunto de carpetas, así que owner y accessible devuelven exactamente lo mismo.
Query parameters
- Name
scope- Type
- string
- Description
Guard de pertenencia:
owner(default),org,tenant,accessible. Pedirorg/tenantsin pertenecer a uno devuelve400. No cambia qué carpetas se devuelven (eso lo resuelve la membresía de tenant — ver nota arriba).
Request
curl "https://api.allsign.io/v2/folders" \
-H "Authorization: Bearer ALLSIGN_LIVE_SK"
Response (200)
{
"success": true,
"message": "Folders retrieved successfully",
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Documentos",
"ownerId": "550e8400-e29b-41d4-a716-446655440001",
"tenantId": "550e8400-e29b-41d4-a716-446655440099",
"parentId": null,
"createdAt": "2024-11-23T10:00:00Z",
"updatedAt": "2024-11-23T10:00:00Z",
"hasDocs": true,
"isMain": true,
"subfolders": [
{
"id": "550e8400-e29b-41d4-a716-446655440002",
"name": "Contratos",
"ownerId": "550e8400-e29b-41d4-a716-446655440001",
"tenantId": "550e8400-e29b-41d4-a716-446655440099",
"parentId": "550e8400-e29b-41d4-a716-446655440000",
"createdAt": "2024-11-23T10:00:00Z",
"updatedAt": "2024-11-23T10:00:00Z",
"hasDocs": false,
"isMain": false,
"subfolders": []
}
]
}
]
}
Create folder
Crea una nueva carpeta.
Request body
- Name
name- Type
- string
- Description
Nombre de la carpeta (1-255 caracteres).
- Name
parentId- Type
- string
- Description
ID de la carpeta padre.
null= nivel raíz.
Request
curl -X POST "https://api.allsign.io/v2/folders" \
-H "Authorization: Bearer ALLSIGN_LIVE_SK" \
-H "Content-Type: application/json" \
-d '{"name": "Facturas 2025", "parentId": null}'
Response (201)
{
"id": "550e8400-e29b-41d4-a716-446655440003",
"name": "Facturas 2025",
"ownerId": "550e8400-e29b-41d4-a716-446655440001",
"tenantId": "550e8400-e29b-41d4-a716-446655440099",
"parentId": null,
"createdAt": "2025-01-15T10:00:00Z",
"updatedAt": "2025-01-15T10:00:00Z",
"hasDocs": false,
"isMain": false
}
Get folder
Obtén los detalles de una carpeta específica. Retorna 404 si la carpeta no existe o no pertenece al tenant del API key.
Path parameters
- Name
folder_id- Type
- string
- Description
ID de la carpeta (UUID).
Request
curl "https://api.allsign.io/v2/folders/550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer ALLSIGN_LIVE_SK"
Response (200)
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Contratos",
"ownerId": "550e8400-e29b-41d4-a716-446655440001",
"tenantId": "550e8400-e29b-41d4-a716-446655440099",
"parentId": "550e8400-e29b-41d4-a716-446655440002",
"createdAt": "2024-11-23T10:00:00Z",
"updatedAt": "2024-11-23T10:00:00Z",
"hasDocs": true,
"isMain": false
}
Update folder
Renombra o mueve una carpeta.
Request body
- Name
name- Type
- string
- Description
Nuevo nombre de la carpeta.
- Name
parentId- Type
- string
- Description
Nuevo ID de carpeta padre (para mover la carpeta).
Request
curl -X PATCH "https://api.allsign.io/v2/folders/FOLDER_UUID" \
-H "Authorization: Bearer ALLSIGN_LIVE_SK" \
-H "Content-Type: application/json" \
-d '{"name": "Contratos 2025"}'
No puedes mover una carpeta dentro de sí misma ni dentro de sus subcarpetas. Si se detecta una referencia circular, la API devuelve 400 Bad Request.
Delete folder
Elimina una carpeta. Falla si contiene documentos o subcarpetas.
Path parameters
- Name
folder_id- Type
- string
- Description
ID de la carpeta (UUID).
curl -X DELETE "https://api.allsign.io/v2/folders/FOLDER_UUID" \
-H "Authorization: Bearer ALLSIGN_LIVE_SK"
Responde con 204 No Content si se elimina exitosamente.
Get documents in folder
Obtén los documentos dentro de una carpeta. Devuelve la misma shape que GET /v2/documents (data[] + meta). Acepta limit para un vistazo rápido a la carpeta. Para paginar más allá de la primera página (y filtrar), usa GET /v2/documents?folderId={folder_id}, que soporta paginación por cursor completa.
Query parameters
- Name
limit- Type
- integer
- Description
Resultados por página (1-100, default: 10).
curl "https://api.allsign.io/v2/folders/FOLDER_UUID/documents?limit=20" \
-H "Authorization: Bearer ALLSIGN_LIVE_SK"
Response (200)
{
"success": true,
"message": "Documents retrieved successfully",
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440010",
"name": "Contrato de arrendamiento.pdf",
"documentType": "EDITABLE",
"ownerId": "550e8400-e29b-41d4-a716-446655440001",
"environment": "live",
"livemode": true,
"signersData": {
"id": "cdc27f13-4d05-47d0-9690-fb69d005e7f8",
"status": "TODOS_FIRMARON"
},
"createdAt": "2025-01-15T10:00:00Z",
"updatedAt": "2025-01-15T10:00:00Z"
}
],
"meta": {
"limit": 20,
"total": null,
"hasNext": true,
"nextCursor": "550e8400-e29b-41d4-a716-446655440010",
"prevCursor": null
}
}
Este endpoint devuelve la primera página (hasta limit). meta.total llega como null (el conteo no se calcula aquí). Para paginar por cursor y filtrar, usa GET /v2/documents?folderId={folder_id} — repitiendo con ?cursor={meta.nextCursor} mientras meta.hasNext sea true.

