Alladdin

Work in progress

Site en construction

الموقع قيد الإنشاء

Alladdin
PUT

Update active contract

Scope: team:employees.write https://api.alladdin.com/api/v2/employees/{employeeId}/contract

Updates the active contract of an employee. This is a full-replacement operation — ALL fields must be provided. Workflow: (1) Call GET /api/v2/employees/{employeeId}/contract to get current contract data. (2) Send ALL fields from that response back here, modifying only the ones you want to change. Use when the user asks to update "puesto", "cargo", "salario", "jornada", or any contract field. Does not modify salary history — use the salary-increase endpoints for that.

Parameters

Path parameters

employeeId string required

Employee ID

Request body

object employee string | null optional

Employee full name

nif string | null optional

Tax identification number (NIF/NIE)

contractType integer required

Regulatory contract type code (tipo de contrato SEPE)

contributionType string | null optional

Social Security contribution type (e.g. "general")

royalDecree string | null optional

Royal Decree code (Real Decreto)

startDate string<date-time> required

Contract start date in ISO 8601 format

seniorityDate string<date-time> | null optional

Employee real seniority (antigüedad) date in ISO 8601 format; must be on or before startDate. When omitted or null, the stored seniority date of the contract is kept, so moving startDate before it requires sending seniorityDate as well. To correct startDate, send seniorityDate as well: it is not moved along. Contracts without a stored seniority date read it as startDate

endDate string<date-time> | null optional

Contract end date; null for open-ended contracts

educationalLevel string | null optional

Educational level code

jobTitle string | null optional

Job title (puesto/cargo)

professionalCategory string | null optional

Professional category

scheduleHours number | null optional

Weekly scheduled hours

scheduleMode string | null optional

Schedule mode string (e.g. "week", "fixed")

workingDays[] string[] | null optional

Working days of the week

probationPeriodDays integer | null optional

Probation period in days

vacationDays number | null optional

Vacation days per year

isManuallyActivated boolean | null optional

Whether the contract was manually activated

workModality string | null optional

Work modality (e.g. "office", "remote", "hybrid")

salary number optional

Gross salary amount

salaryInterval string optional

Salary interval string (e.g. "yearly", "monthly")

salaryPayments number | null optional

Number of salary payments per year

Request

python
import requests

url = "https://api.alladdin.com/api/v2/employees/{employeeId}/contract"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}

payload = {
    "employee": "string",
    "nif": "string",
    "contractType": 421,
    "contributionType": "string",
    "royalDecree": "string",
    "startDate": "2024-01-15T10:30:00Z",
    "seniorityDate": "2024-01-15T10:30:00Z",
    "endDate": "2024-01-15T10:30:00Z",
    "educationalLevel": "string",
    "jobTitle": "string",
    "professionalCategory": "string",
    "scheduleHours": 0,
    "scheduleMode": "string",
    "workingDays": [
        "string"
    ],
    "probationPeriodDays": 0,
    "vacationDays": 0,
    "isManuallyActivated": false,
    "workModality": "string",
    "salary": 20000,
    "salaryInterval": "string",
    "salaryPayments": 0
}
response = requests.put(url, headers=headers, json=payload)
print(response.json())

Responses

Success responses

204 Resource deleted

Error responses

400 Validation error application/json 401 Invalid or missing API key application/json 403 Insufficient permissions application/json 404 Employee or active contract not found application/json 429 Rate limit exceeded application/json

← PreviousUpdate an employee →

Next →List all employees →