Personnel
Endpoints for uploading or updating employee records and changing their active status.
Upload Personnel
POST https://api.mitrabajo.uy/personnel
Creates or updates a personnel record. If an employee with the same documento and pais_documento already exists, their record is updated; otherwise a new one is created. Hyphens, dots and spaces in documento are stripped automatically.
Request Headers
| Header | Value | Required |
|---|---|---|
X-Api-Key |
Your access token | Yes |
Content-Type |
application/json |
Yes |
Request Body
| Field | Type | Required | Constraints |
|---|---|---|---|
documento |
string | Yes | Length 5–100 |
pais_documento |
string | Yes | 2-character country code (e.g. UY) |
nombre |
string | Yes | Max 100 characters |
apellido |
string | Yes | Max 100 characters |
genero |
string | Yes | M or F |
f_ingreso |
string | Yes | Date — format YYYY-MM-DD |
pais_domicilio |
string | Yes | 2-character country code |
ciudad |
string | Yes | Max 150 characters |
estado |
string | Yes | Activo or Inactivo |
categoria |
string | Yes | Length 2–250. Must match an existing category in your account |
horas |
integer | Yes | Shift hours, range 0–23 |
minutos |
integer | Yes | Shift minutes, range 0–59 |
nacionalidad |
string | No | 2-character nationality code |
f_nacimiento |
string | No | Date — format YYYY-MM-DD |
vence_ficha_medica |
string | No | Date — format YYYY-MM-DD |
nro_emp |
string | No | Employee number, max 20 characters |
f_baja |
string | No | Termination date — format YYYY-MM-DD |
turno |
string | No | Shift name, length 2–25. Must match an existing shift |
barrio |
string | No | Neighborhood, max 100 characters |
calle |
string | No | Street name, max 100 characters |
nro_puerta |
string | No | Door number, max 50 characters |
piso |
integer | No | Floor number |
apartamento |
string | No | Max 6 characters |
c_postal |
string | No | Postal code, max 20 characters |
telefono |
string | No | Phone number, max 50 characters |
mail |
string | No | Must be a valid e-mail address |
tipo_remuneracion |
string | No | One of: Mensual, Jornalero, Mixto, A la parte |
horario_libre |
integer | No | 1 = flexible schedule, 0 = fixed schedule |
fin_contrato |
string | No | Contract end date — format YYYY-MM-DD |
dias_planificados |
integer | No | Planned working days per year, range 0–365 |
es_cliente |
integer | No | 1 if the person is also a client, 0 otherwise |
id_externo |
integer | No | External system reference ID |
proveedor |
string | No | Provider/supplier name, max 50 characters |
Example
curl -X POST https://api.mitrabajo.uy/personnel \
-H "X-Api-Key: EPZoeOHHDPz-ucc5HweJYt6xehe_1bV-" \
-H "Content-Type: application/json" \
-d '{
"documento": "12345678",
"pais_documento": "UY",
"nombre": "Juan",
"apellido": "García",
"genero": "M",
"f_nacimiento": "1985-06-15",
"f_ingreso": "2024-01-15",
"pais_domicilio": "UY",
"ciudad": "Montevideo",
"barrio": "Pocitos",
"calle": "Calle Principal",
"nro_puerta": "100",
"telefono": "+598 9 123 4567",
"mail": "juan.garcia@example.com",
"nro_emp": "EMP001",
"turno": "Mañana",
"horas": 8,
"minutos": 0,
"tipo_remuneracion": "Mensual",
"horario_libre": 0,
"dias_planificados": 240,
"estado": "Activo",
"categoria": "Administrativo",
"id_externo": 100
}'
Response
{
"success": true,
"model": {
"documento": "12345678",
"pais_documento": "UY",
"nombre": "Juan",
"apellido": "García",
"genero": "M",
"f_nacimiento": "1985-06-15",
"f_ingreso": "2024-01-15",
"estado": "Activo",
"categoria": "Administrativo"
}
}
On validation failure:
{
"success": false,
"errors": {
"genero": ["Genero is invalid."],
"estado": ["Estado cannot be blank."]
}
}
Update Personnel Status
GET https://api.mitrabajo.uy/personnel/status
Changes the active/inactive status of an employee without re-uploading the full record.
Request Headers
| Header | Value | Required |
|---|---|---|
X-Api-Key |
Your access token | Yes |
Request Body
Parameters are passed as query string.
| Parameter | Type | Required | Description |
|---|---|---|---|
country |
string | Yes | 2-character country code of the employee's document |
document |
string | Yes | Employee document number |
state |
integer | Yes | 1 = Active, 0 = Inactive |
date |
string | Yes | Effective date — format YYYY-MM-DD |
externalId |
integer | No | If provided, updates the employee's external reference ID |
Example
curl "https://api.mitrabajo.uy/personnel/status?country=UY&document=12345678&state=0&date=2026-07-29" \
-H "X-Api-Key: EPZoeOHHDPz-ucc5HweJYt6xehe_1bV-"
Response
true