Operations
Employees and worksites
People in the company, their worksites and invitations.
List employees
GET /v1/employees
Requires the employees:read scope.
Parameters
email optional | string (email) | Exact email address. |
employeeCode optional | string | The code the company gave the employee. |
worksiteId optional | string | |
status optional | ACTIVE | ENDED | |
limit optional | integer | |
cursor optional | string | The nextCursor of the previous page. |
Response 200
Each item in data:
id | string | |
displayName | string | The full name as written in MiJornada. |
firstName | string | First word of the name. An estimate. |
lastName | string | The rest of the name. An estimate. |
email | string (email) | null | |
employeeCode | string | null | |
worksiteId | string | null | |
status | ACTIVE | ENDED | |
employmentStartDate | string (date) | null | |
createdAt | string (date-time) | null | |
updatedAt | string (date-time) |
Possible errors: 401, 403, 422, 429.
Example
curl "https://api.mijornada.app/v1/employees" \
-H "Authorization: Bearer mj_live_…" Example response
{
"data": [
{
"id": "abc123",
"displayName": "Ana García López",
"firstName": "Ana",
"lastName": "García López",
"email": "ana@example.com",
"employeeCode": "E014",
"worksiteId": "centro-1",
"status": "ACTIVE",
"employmentStartDate": "2026-10-15",
"createdAt": "2026-10-15T07:02:11Z",
"updatedAt": "2026-10-15T07:02:11Z"
}
],
"nextCursor": null
} Get an employee
GET /v1/employees/{id}
Requires the employees:read scope.
Parameters
id required | string |
Response 200
id | string | |
displayName | string | The full name as written in MiJornada. |
firstName | string | First word of the name. An estimate. |
lastName | string | The rest of the name. An estimate. |
email | string (email) | null | |
employeeCode | string | null | |
worksiteId | string | null | |
status | ACTIVE | ENDED | |
employmentStartDate | string (date) | null | |
createdAt | string (date-time) | null | |
updatedAt | string (date-time) |
Possible errors: 401, 403, 404, 429.
Example
curl "https://api.mijornada.app/v1/employees/abc123" \
-H "Authorization: Bearer mj_live_…" Example response
{
"id": "abc123",
"displayName": "Ana García López",
"firstName": "Ana",
"lastName": "García López",
"email": "ana@example.com",
"employeeCode": "E014",
"worksiteId": "centro-1",
"status": "ACTIVE",
"employmentStartDate": "2026-10-15",
"createdAt": "2026-10-15T07:02:11Z",
"updatedAt": "2026-10-15T07:02:11Z"
} List worksites
GET /v1/worksites
Requires the employees:read scope.
Response 200
Each item in data:
id | string | |
name | string | |
address | string | |
legalName | string | null | |
taxId | string | null |
Possible errors: 401, 403, 429.
Example
curl "https://api.mijornada.app/v1/worksites" \
-H "Authorization: Bearer mj_live_…" Example response
{
"data": [
{
"id": "abc123",
"name": "Obrador",
"address": "Calle Mayor 1, Sevilla",
"legalName": "Pastelería Ejemplo SL",
"taxId": "B00000000"
}
],
"nextCursor": null
} Invite an employee
POST /v1/invitations
Emails the person a code to join the company. The code is never returned
here: it is what lets someone in. Seats, duplicates and the plan limit
work as in MiJornada. At most 60 invitations per hour and key. Requires
the invitations:write scope.
Parameters
Idempotency-Key optional | string | Repeat a request with the same value and it runs once. Kept for 24 hours. |
Body
fullName required | string | |
email required | string (email) | |
employmentStartDate required | string (date) | Cannot be in the future. |
locale optional | es | en | |
worksiteId optional | string |
Response 201
id | string | |
displayName | string | |
email | string (email) | |
locale | string | |
worksiteId | string | null | |
employmentStartDate | string (date) | |
expiresAt | string (date-time) | |
deliveryStatus | PENDING |
Possible errors: 401, 403, 409, 422, 429.
Example
curl -X POST "https://api.mijornada.app/v1/invitations" \
-H "Authorization: Bearer mj_live_…" \
-H "Content-Type: application/json" \
-d '{"fullName":"…","email":"ana@example.com","employmentStartDate":"2026-10-15"}' Example response
{
"id": "abc123",
"displayName": "Ana García López",
"email": "ana@example.com",
"locale": "es",
"worksiteId": "centro-1",
"employmentStartDate": "2026-10-15",
"expiresAt": "2026-10-15T07:02:11Z",
"deliveryStatus": "PENDING"
} Last updated: .