curl --request POST \
--url https://api.example.com/api/contracts/download-zip \
--header 'Content-Type: application/json' \
--data '
{
"employees": [
{
"name": "<string>",
"lastNameFather": "<string>",
"lastNameMother": "<string>",
"birthDate": "<string>",
"sex": "<string>",
"dni": "<string>",
"email": "<string>",
"address": "<string>",
"province": "<string>",
"district": "<string>",
"department": "<string>",
"salary": 123,
"salaryInWords": "<string>",
"position": "<string>",
"entryDate": "<string>",
"endDate": "<string>",
"subDivisionOrParking": "<string>",
"contractType": "<string>",
"replacementFor": "<string>",
"reasonForSubstitution": "<string>",
"timeForCompany": "<string>",
"workingCondition": "<string>",
"probationaryPeriod": "<string>"
}
]
}
'{
"Content-Type": "<string>",
"Content-Disposition": "<string>",
"Body": {}
}Generate and download multiple employee contracts as a ZIP file
curl --request POST \
--url https://api.example.com/api/contracts/download-zip \
--header 'Content-Type: application/json' \
--data '
{
"employees": [
{
"name": "<string>",
"lastNameFather": "<string>",
"lastNameMother": "<string>",
"birthDate": "<string>",
"sex": "<string>",
"dni": "<string>",
"email": "<string>",
"address": "<string>",
"province": "<string>",
"district": "<string>",
"department": "<string>",
"salary": 123,
"salaryInWords": "<string>",
"position": "<string>",
"entryDate": "<string>",
"endDate": "<string>",
"subDivisionOrParking": "<string>",
"contractType": "<string>",
"replacementFor": "<string>",
"reasonForSubstitution": "<string>",
"timeForCompany": "<string>",
"workingCondition": "<string>",
"probationaryPeriod": "<string>"
}
]
}
'{
"Content-Type": "<string>",
"Content-Disposition": "<string>",
"Body": {}
}Documentation Index
Fetch the complete documentation index at: https://mintlify.com/RaulQD/kontrak-backend/llms.txt
Use this file to discover all available pages before exploring further.
planilla/, parttime/, subsidio/).
Show Employee Object Properties
DD/MM/YYYYDD/MM/YYYYDD/MM/YYYYPlanilla, Part Time, Subsidioapplication/zipattachment; filename="contratos-DD-MM-YYYY.zip"The filename includes the current date when the ZIP was generated.contratos-05-03-2026.zip
├── planilla/
│ ├── {dni}-{position}.pdf (Main contract)
│ ├── Tratamiento de datos/
│ │ └── {dni}.pdf (Data processing agreement)
│ └── Anexos/
│ └── {dni}.pdf (Contract annexes)
├── parttime/
│ └── (same structure)
└── subsidio/
└── (same structure)
{
"success": false,
"message": "La solicitud no se pudo procesar",
"errors": [
{
"field": "body.0.dni",
"message": "DNI debe tener exactamente 8 dígitos numéricos."
},
{
"field": "body.1.contractType",
"message": "El tipo de contrato debe ser: Planilla, Subsidio, Part Time"
}
]
}
{
"success": false,
"message": "La solicitud no se pudo procesar",
"errors": [
{
"field": "body",
"message": "Debes seleccionar al menos un empleado para generar el ZIP."
}
]
}
{
"success": false,
"message": "La solicitud no se pudo procesar",
"errors": [
{
"field": "body",
"message": "Máximo 80 empleados por lote"
}
]
}
curl -X POST https://api.example.com/api/contracts/download-zip \
-H "Content-Type: application/json" \
-d '[
{
"name": "Juan",
"lastNameFather": "García",
"lastNameMother": "López",
"birthDate": "15/06/1990",
"sex": "Masculino",
"dni": "12345678",
"email": "juan.garcia@example.com",
"address": "Av. Principal 123",
"province": "Lima",
"district": "Miraflores",
"department": "Lima",
"salary": 3500,
"salaryInWords": "tres mil quinientos soles",
"position": "Desarrollador",
"entryDate": "01/03/2026",
"endDate": "31/12/2026",
"subDivisionOrParking": "Tecnología",
"contractType": "Planilla"
}
]' \
--output contratos.zip
curl -X POST https://api.example.com/api/contracts/download-zip \
-H "Content-Type: application/json" \
-d '[
{
"name": "María",
"lastNameFather": "Pérez",
"lastNameMother": "Silva",
"birthDate": "20/03/1992",
"sex": "Femenino",
"dni": "87654321",
"email": "maria.perez@example.com",
"address": "Calle Los Olivos 456",
"province": "Lima",
"district": "San Isidro",
"department": "Lima",
"salary": 2500,
"salaryInWords": "dos mil quinientos soles",
"position": "Asistente",
"entryDate": "15/03/2026",
"endDate": "15/09/2026",
"subDivisionOrParking": "Administración",
"contractType": "Part Time"
},
{
"name": "Carlos",
"lastNameFather": "Rodríguez",
"lastNameMother": "Torres",
"birthDate": "10/08/1988",
"sex": "Masculino",
"dni": "45678912",
"email": "carlos.rodriguez@example.com",
"address": "Jr. Las Flores 789",
"province": "Lima",
"district": "Surco",
"department": "Lima",
"salary": 4000,
"salaryInWords": "cuatro mil soles",
"position": "Analista Senior",
"entryDate": "01/04/2026",
"endDate": "30/06/2026",
"subDivisionOrParking": "Finanzas",
"contractType": "Subsidio",
"replacementFor": "Ana Martínez",
"reasonForSubstitution": "Licencia por maternidad",
"timeForCompany": "3 meses",
"workingCondition": "Tiempo completo",
"probationaryPeriod": "30 días"
}
]' \
--output contratos.zip
DD-MM-YYYY format{contractType}/{filename} for contracts and {contractType}/Tratamiento de datos/{dni}.pdf for data processing documents