POST /api/nomina/empleado/
POST /api/nomina/empleado/
CRUD de trabajadores. Se crean una vez y cada nómina los referencia.
operationId: nomina_empleado_create
Autenticación
Sección titulada «Autenticación»Cualquiera de estas credenciales:
- LlaveApi — Llave de API de una integración. El valor completo es
Api-Key <prefijo>.<secreto>, tal como lo imprimemanage.py crear_llave_api. La llave alcanza exactamente los mismos emisores que la persona a cuyo nombre se creó.
Cuerpo de la petición
Sección titulada «Cuerpo de la petición»Tipo de contenido: application/json · obligatorio.
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
emisor | integer | sí | |
tipo_identificacion | integer (int64) | sí | Valor del catálogo tipo-identificacion: se envía el id. |
numero_documento | string | sí | Sin puntos, sin guiones y sin dígito de verificación. |
primer_apellido | string | sí | |
segundo_apellido | string | no | |
primer_nombre | string | sí | |
otros_nombres | string | no | |
codigo_trabajador | string | no | Código interno del empleador; viaja en el XML. |
tipo_trabajador | integer (int64) | sí | Valor del catálogo tipo-trabajador: se envía el id. |
subtipo_trabajador | integer (int64) | sí | Valor del catálogo subtipo-trabajador: se envía el id. |
tipo_contrato | integer (int64) | sí | Valor del catálogo tipo-contrato: se envía el id. |
alto_riesgo_pension | boolean | no | |
salario_integral | boolean | no | |
sueldo | string (decimal) | sí | |
fecha_ingreso | string (date) | sí | |
pais | integer (int64) | sí | Valor del catálogo pais: se envía el id. |
departamento | integer (int64) | sí | Valor del catálogo departamento: se envía el id. |
municipio | integer (int64) | sí | Valor del catálogo municipio: se envía el id. |
direccion | string | sí | |
forma_pago | integer (int64) | sí | Valor del catálogo forma-pago: se envía el id. |
medio_pago | integer (int64) | sí | Valor del catálogo medio-pago: se envía el id. |
banco | string | no | |
tipo_cuenta | any | no | |
numero_cuenta | string | no |
Ejemplo
Sección titulada «Ejemplo»curl -X POST "https://api.rededoc.uk/api/nomina/empleado/" \ -H "Authorization: <llaveapi>" \ -H "Content-Type: application/json" \ -d '{ "emisor": 1, "tipo_identificacion": -9223372036854776000, "numero_documento": "texto", "primer_apellido": "texto", "segundo_apellido": "texto", "primer_nombre": "texto", "otros_nombres": "texto", "codigo_trabajador": "texto", "tipo_trabajador": -9223372036854776000, "subtipo_trabajador": -9223372036854776000, "tipo_contrato": -9223372036854776000, "alto_riesgo_pension": true, "salario_integral": true, "sueldo": "0.00", "fecha_ingreso": "2026-01-31", "pais": -9223372036854776000, "departamento": -9223372036854776000, "municipio": -9223372036854776000, "direccion": "texto", "forma_pago": -9223372036854776000, "medio_pago": -9223372036854776000, "banco": "texto", "tipo_cuenta": null, "numero_cuenta": "texto" }'Respuestas
Sección titulada «Respuestas»| Código | Descripción |
|---|---|
201 | |
400 | Error |
401 | Error |
429 | Error |
201 — cuerpo
Sección titulada «201 — cuerpo»| Campo | Tipo | Descripción |
|---|---|---|
id | integer | Solo lectura. |
emisor | integer | |
tipo_identificacion | integer (int64) | Valor del catálogo tipo-identificacion: se envía el id. |
tipo_identificacion_codigo | string | Solo lectura. |
numero_documento | string | Sin puntos, sin guiones y sin dígito de verificación. |
primer_apellido | string | |
segundo_apellido | string | |
primer_nombre | string | |
otros_nombres | string | |
nombre_completo | string | Solo lectura. |
codigo_trabajador | string | Código interno del empleador; viaja en el XML. |
tipo_trabajador | integer (int64) | Valor del catálogo tipo-trabajador: se envía el id. |
subtipo_trabajador | integer (int64) | Valor del catálogo subtipo-trabajador: se envía el id. |
tipo_contrato | integer (int64) | Valor del catálogo tipo-contrato: se envía el id. |
alto_riesgo_pension | boolean | |
salario_integral | boolean | |
sueldo | string (decimal) | |
fecha_ingreso | string (date) | |
pais | integer (int64) | Valor del catálogo pais: se envía el id. |
departamento | integer (int64) | Valor del catálogo departamento: se envía el id. |
municipio | integer (int64) | Valor del catálogo municipio: se envía el id. |
direccion | string | |
forma_pago | integer (int64) | Valor del catálogo forma-pago: se envía el id. |
medio_pago | integer (int64) | Valor del catálogo medio-pago: se envía el id. |
banco | string | |
tipo_cuenta | any | |
numero_cuenta | string | |
activo | boolean | Solo lectura. |
creado_en | string (date-time) | Solo lectura. |
actualizado_en | string (date-time) | Solo lectura. |
{ "id": 1, "emisor": 1, "tipo_identificacion": -9223372036854776000, "tipo_identificacion_codigo": "texto", "numero_documento": "texto", "primer_apellido": "texto", "segundo_apellido": "texto", "primer_nombre": "texto", "otros_nombres": "texto", "nombre_completo": "texto", "codigo_trabajador": "texto", "tipo_trabajador": -9223372036854776000, "subtipo_trabajador": -9223372036854776000, "tipo_contrato": -9223372036854776000, "alto_riesgo_pension": true, "salario_integral": true, "sueldo": "0.00", "fecha_ingreso": "2026-01-31", "pais": -9223372036854776000, "departamento": -9223372036854776000, "municipio": -9223372036854776000, "direccion": "texto", "forma_pago": -9223372036854776000, "medio_pago": -9223372036854776000, "banco": "texto", "tipo_cuenta": null, "numero_cuenta": "texto", "activo": true, "creado_en": "2026-01-31T10:00:00-05:00", "actualizado_en": "2026-01-31T10:00:00-05:00"}400 — cuerpo
Sección titulada «400 — cuerpo»| Campo | Tipo | Descripción |
|---|---|---|
detail | string | Mensaje para mostrar a la persona. |
errores | array<object> | Nunca vacía. Cada error trae codigo, que es lo que el cliente mapea —los de DRF tal cual (required, invalid, does_not_exist, not_found…) y los propios en español (campo_desconocido, solicitud_invalida…)—, y mensaje, para la persona. Si el error es de un campo, su ruta va delante del mensaje: detalles[0].impuestos[0].tributo: Este campo es obligatorio. |
{ "detail": "texto", "errores": [ { "codigo": "texto", "mensaje": "texto" } ]}401 — cuerpo
Sección titulada «401 — cuerpo»| Campo | Tipo | Descripción |
|---|---|---|
detail | string | Mensaje para mostrar a la persona. |
errores | array<object> | Nunca vacía. Cada error trae codigo, que es lo que el cliente mapea —los de DRF tal cual (required, invalid, does_not_exist, not_found…) y los propios en español (campo_desconocido, solicitud_invalida…)—, y mensaje, para la persona. Si el error es de un campo, su ruta va delante del mensaje: detalles[0].impuestos[0].tributo: Este campo es obligatorio. |
{ "detail": "texto", "errores": [ { "codigo": "texto", "mensaje": "texto" } ]}429 — cuerpo
Sección titulada «429 — cuerpo»| Campo | Tipo | Descripción |
|---|---|---|
detail | string | Mensaje para mostrar a la persona. |
errores | array<object> | Nunca vacía. Cada error trae codigo, que es lo que el cliente mapea —los de DRF tal cual (required, invalid, does_not_exist, not_found…) y los propios en español (campo_desconocido, solicitud_invalida…)—, y mensaje, para la persona. Si el error es de un campo, su ruta va delante del mensaje: detalles[0].impuestos[0].tributo: Este campo es obligatorio. |
{ "detail": "texto", "errores": [ { "codigo": "texto", "mensaje": "texto" } ]}RedEDoc es un servicio de Semántica Digital S.A.S.