Update person

PUT /data/persons/{instance_id}

Update a person with data provided in the request body. JSON format is expected. Users can only update themselves unless they have admin permissions. Non-admins cannot change certain protected fields. Validates role, contract_type, two_factor_authentication, email, and expiration_date. Checks user limit when activating non-bot users. Protected accounts have restrictions.

Path parameters

  • instance_id string(uuid) Required
application/json

Body Required

  • first_name string
  • last_name string
  • email string(email)
  • password string
  • role string

    Admin only

  • active boolean

    Admin only

  • contract_type string
  • two_factor_authentication string
  • expiration_date string(date)

    Person or admin only

Responses

  • 200 application/json

    Person updated successfully

    Hide response attributes Show response attributes object
    • id string(uuid)
    • first_name string
    • last_name string
    • email string(email)
    • role string
    • active boolean
    • contract_type string
    • two_factor_authentication string
    • departments array[string(uuid)]
    • access_token string
    • created_at string(date-time)
    • updated_at string(date-time)
  • 400

    Invalid data format or validation error or user limit reached or protected account restriction

PUT /data/persons/{instance_id}
curl \
 --request PUT 'http://api.example.com/data/persons/a24a6ea4-ce75-4665-a070-57453082c25' \
 --header "Authorization: $API_KEY" \
 --header "Content-Type: application/json" \
 --data '{"first_name":"Jane","last_name":"Smith","email":"jane.smith@example.com","password":"newsecurepassword123","role":"manager","active":true,"contract_type":"freelance","two_factor_authentication":"totp","expiration_date":"2025-12-31"}'
Request examples
{
  "first_name": "Jane",
  "last_name": "Smith",
  "email": "jane.smith@example.com",
  "password": "newsecurepassword123",
  "role": "manager",
  "active": true,
  "contract_type": "freelance",
  "two_factor_authentication": "totp",
  "expiration_date": "2025-12-31"
}
Response examples (200)
{
  "id": "a24a6ea4-ce75-4665-a070-57453082c25",
  "first_name": "Jane",
  "last_name": "Smith",
  "email": "jane.smith@example.com",
  "role": "manager",
  "active": true,
  "contract_type": "freelance",
  "two_factor_authentication": "totp",
  "departments": [
    "string"
  ],
  "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9",
  "created_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-01-15T11:00:00Z"
}