Skip to content

Update a person

Request

This endpoint allows you to partially update a person in Calamari. You can send any number of fields in the request body. Only the fields included in the request will be updated. If a field is set to null, its value will be removed (if removal is allowed). Fields that are not included in the request will remain unchanged, even if they exist in the system. This means you can send both updated and unchanged fields, but only those explicitly provided in the request will be processed.

Security
basicAuth
Path
idstring(person-identifier-param-schema)required
Any of:

UUID without prefix (default)

string (uuid)
Bodyapplication/jsonrequired
emailstring, (email), [ 1 .. 255 ] characters

Valid email address.

Example:"john.doe@example.com"
firstNamestring, [ 1 .. 255 ] characters

Person's first name.

Example:"John"
middleNamestring or null
Any of:

Person's middle name (Core HR module required).

[ 1 .. 255 ] characters
string
lastNamestring, [ 1 .. 255 ] characters

Person's last name.

Example:"Doe"
approvalProcessstring or integer
Any of:

Approval process name or identifier.

[ 1 .. 255 ] characters
string
workSchedulestring or integer
Any of:

Work schedule name or identifier.

[ 1 .. 255 ] characters
string
holidaysCalendarstring or integer
Any of:

Holidays calendar name or identifier.

[ 1 .. 255 ] characters
string
contractTypestring or null
Any of:

Contract type name or identifier.

[ 1 .. 255 ] characters
string
hireDatestring or null
Any of:

Hire date in ISO 8601 format.

string (date)
birthdatestring or null
Any of:

Birthdate in ISO 8601 format (Core HR module required).

string (date)
sexstring or null(sex-schema)

Person's sex.

Enum:"MALE""FEMALE""OTHER"null
Example:"MALE"
positionstring or integer or null
Any of:

Job position/title name or identifier.

[ 1 .. 255 ] characters
string
teamsArray of any or null
Example:
[ "Accountants", 3 ]
Any of:

List of team names or identifiers the person belongs to.

maritalStatusstring or null(martial-status-schema)

Describes a person's relationship with a significant other.

Enum:"SINGLE""MARRIED""WIDOWED""SEPARATED""DIVORCED""DOMESTIC_PARTNERSHIP""COMMON_LAW""OTHER"null
Example:"MARRIED"
terminationDatestring or null
Any of:
string (date)
directManagerstring or null
Any of:

Identifier of the direct manager.

[ 1 .. 255 ] characters
string (uuid)
probationEndDatestring or null
Any of:

End date of probation period (ISO 8601 format).

string (date)
externalNumberstring or null
Any of:

External reference number for the person.

[ 1 .. 255 ] characters
string
symfoniaGuidstring or null
Any of:

GUID from Symfonia system.

string (uuid)
customNotestring or null
Any of:

Custom note or additional information

[ 1 .. 1024 ] characters
string
businessContactobject or null
Any of:

Business contact information (Core HR module required).

personalContactobject or null
Any of:

Personal contact information (Core HR module required).

seniorityBeforeHireinteger or null
Any of:

Seniority in months before the hire date.

<= 1200 characters
integer (int64)
addressobject or null
Any of:

Person's home address (Core HR module required).

emergencyContactobject or null
Any of:

Emergency contact details (Core HR module required).

bankAccountNumberstring or null
Any of:

Person's bank account number (Core HR module required).

[ 1 .. 255 ] characters
string
contractorDetailsobject or null
Any of:

Contractor-related details (Core HR module required).

shirtSizestring or null
Any of:

Shirt size (Core HR module required).

string
Enum:"XS""S""M""L""XL""2XL""3XL""4XL"
childrenArray of objects

List of persons' children (Core HR module required).

Note: Include all active children. The excluded item will be removed.

customFieldsArray of objects

Custom attributes assigned to the person (Core HR module required).

curl -i -X PATCH \
  -u '<username>:<password>' \
  'https://awesome-company.calamari.io/api/people/v2/{id}' \
  -H 'Content-Type: application/json' \
  -d '{
    "email": "john.doe@example.com",
    "firstName": "John",
    "middleName": "Paul",
    "lastName": "Doe",
    "approvalProcess": "name:Basic Approval Flow",
    "workSchedule": "name:Full-time - 40h",
    "holidaysCalendar": "name:Default",
    "contractType": "name:B2B",
    "hireDate": "2025-01-15",
    "birthdate": "1990-06-25",
    "sex": "MALE",
    "position": "Senior Accountant",
    "teams": [
      "Accountants",
      3
    ],
    "maritalStatus": "SINGLE",
    "terminationDate": "2026-12-31",
    "directManager": "38715bd3-7ad5-4372-bcff-41a3c933af68",
    "probationEndDate": "2025-07-01",
    "externalNumber": "EMP-98765",
    "symfoniaGuid": "52601c08-b7e5-4c60-a57f-2b1d74942543",
    "customNote": "Works remotely on Fridays.",
    "businessContact": {
      "phone": "+1-555-1234"
    },
    "personalContact": {
      "phone": "+1-555-5678",
      "email": "john.doe.personal@example.com"
    },
    "seniorityBeforeHire": 24,
    "address": {
      "street": "Main Street",
      "number": "123",
      "city": "New York",
      "provinceState": "NY",
      "postalCode": "10001",
      "country": "USA"
    },
    "emergencyContact": {
      "name": "Jane Doe",
      "relationship": "Spouse",
      "phone": "+1-555-9999"
    },
    "bankAccountNumber": "US12345678901234567890",
    "contractorDetails": {
      "taxNumber": "123-45-6789",
      "companyName": "Tech Solutions Inc.",
      "companyAddress": "456 Business St, San Francisco, CA, USA"
    },
    "shirtSize": "M",
    "children": [
      {
        "firstName": "Emily",
        "lastName": "Doe",
        "birthdate": "2015-09-10",
        "sex": "MALE",
        "parent": "Kathryn Doe"
      }
    ],
    "customFields": [
      {
        "name": "a0eae510-1fe5-46d4-a46d-b98a20bb5ae1",
        "value": "English"
      }
    ]
  }'

Responses

Person updated successfully.

Response
No content