Skip to content

Update User — Proposed Guide

Planned API — Reference Only

Update User: A partial profile update would change named attributes while preserving fields omitted from the request. An explicit null value needs a…

Overview

A partial profile update would change named attributes while preserving fields omitted from the request. An explicit null value needs a defined meaning for optional relationships.

Key concepts

Use a version precondition to detect competing edits. Validate that any new department or manager belongs to the permitted organization.

Implementation considerations

Prevent a general profile edit from changing administrator roles. Employment synchronization and access-grant changes should have distinct review paths.

Proposed API behavior

PATCH /v1/users/{user_id} is an illustrative design for this topic. Path and field names may change before implementation. Access would require an authorized organization context and operation-specific permission; no public API or authorization grant is available here.

Proposed path parameters
NameTypeDescription
user_idrequiredstringStable fictional user reference; not a secret and not evidence that a resource exists.
Illustrative request fields
NameTypeDescription
display_namestringSynthetic display label, not a stable identifier or permission assignment.
department_idstringStable fictional department reference; not a secret and not evidence that a resource exists.
manager_idstringStable fictional manager reference; not a secret and not evidence that a resource exists.
versionintegerIllustrative resource revision for detecting stale updates; no live concurrency contract is published.

Static example requests

Proposed, non-executing request examples
# Proposed request text only; this reserved host is not a live API.
curl -X PATCH 'https://api.remizen.example/v1/users/usr_example_123' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{
  "display_name": "Taylor Example",
  "department_id": "dept_example_123",
  "manager_id": "usr_example_123",
  "version": 1
}'

Fictional response example

200 (proposed example)Static response fixture

Fictional documentation data only. No request was sent, record created, review performed, payment initiated or provider connection activated.

JSON
{
  "data": {
    "display_name": "Taylor Example",
    "manager_id": "usr_example_123",
    "version": 1,
    "id": "usr_example_123",
    "organization_id": "org_example_123",
    "email": "taylor@example.com",
    "status": "active"
  },
  "meta": {
    "request_id": "req_example_123",
    "reference_only": true
  }
}

Illustrative error case

Review this failure case in context: Prevent a general profile edit from changing administrator roles. Employment synchronization and access-grant changes should have distinct review paths.

422 (illustrative; final error contracts are undecided)Proposed error fixture

Synthetic diagnostic example. Human-readable messages must not be used as stable programmatic contracts.

JSON
{
  "error": {
    "code": "validation_error",
    "message": "The proposed update user operation requires review of its input or authorization.",
    "request_id": "req_example_123"
  }
}

Proposed data types

Illustrative field dictionary
NameTypeDescription
user_idstringStable fictional user reference; not a secret and not evidence that a resource exists.
display_namestringSynthetic display label, not a stable identifier or permission assignment.
department_idstringStable fictional department reference; not a secret and not evidence that a resource exists.
manager_idstringStable fictional manager reference; not a secret and not evidence that a resource exists.
versionintegerIllustrative resource revision for detecting stale updates; no live concurrency contract is published.