> For the complete documentation index, see [llms.txt](https://mobile-calendar.gitbook.io/v1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mobile-calendar.gitbook.io/v1/rest-api/clients.md).

# Clients

Create, read, update, and delete operations for clients.

## GET /clients

> List clients (paginated)

```json
{"openapi":"3.0.0","info":{"title":"Public REST API v1 – mobile-calendar.com","version":"1.0.0"},"tags":[{"name":"clients","description":"Create, read, update, and delete operations for clients."}],"servers":[{"url":"https://api.mobile-calendar.com/v1/public","description":"Production"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","description":"Pass the token in header: Authorization: Bearer <JWT>","bearerFormat":"JWT","scheme":"bearer"}},"parameters":{"PageParam":{"name":"page","in":"query","description":"Page number (>=1)","required":false,"schema":{"type":"integer","default":1,"minimum":1}},"LimitParam":{"name":"limit","in":"query","description":"Page size (1–200)","required":false,"schema":{"type":"integer","default":25,"maximum":200,"minimum":1}}},"schemas":{"ClientListResponse":{"description":"List of clients","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Client"}},"meta":{"$ref":"#/components/schemas/MetaWithPagination"}},"type":"object"},"Client":{"description":"Client information","required":["clientId","name"],"properties":{"clientId":{"type":"integer"},"forename":{"description":"First name (given name). Optional.","type":"string"},"name":{"description":"SURNAME (family name) — NOT the full name. Required: a client cannot be saved without it. Put the first name in `forename`.","type":"string"},"phone":{"type":"string"},"email":{"type":"string","format":"email"},"companyName":{"type":"string","nullable":true},"taxId":{"type":"string","nullable":true},"personalId":{"type":"string","nullable":true},"idCard":{"type":"string","nullable":true},"clientType":{"type":"string","enum":["NONE","REGULAR","UNWANTED"]},"address":{"type":"string","nullable":true},"comments":{"type":"string","nullable":true},"vehicleRegistrationNumber":{"type":"string","nullable":true},"countryId":{"type":"integer","nullable":true},"lang":{"description":"Language preference (ISO 639-1)","type":"string"},"addDate":{"description":"Client creation date with timezone","type":"string","format":"date-time"},"editDate":{"description":"Last modification date with timezone","type":"string","format":"date-time","nullable":true}},"type":"object"},"MetaWithPagination":{"description":"Pagination parameters with request tracking in list responses.","required":["totalItems","currentPage","totalPages","itemsPerPage","ruid"],"properties":{"totalItems":{"type":"integer","minimum":0},"currentPage":{"type":"integer","minimum":1},"totalPages":{"type":"integer","minimum":0},"itemsPerPage":{"type":"integer","minimum":1},"ruid":{"description":"Request Unique ID","type":"string","format":"uuid"}},"type":"object"},"ApiProblem401":{"description":"Missing authentication or invalid credentials.","allOf":[{"$ref":"#/components/schemas/ApiProblemBase"},{"properties":{"type":{"description":"401 Unauthorized","type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"instance":{"type":"string"}},"type":"object"}]},"ApiProblemBase":{"description":"RFC 7807 Problem Details (base schema).","required":["type","title","status","detail","instance"],"properties":{"type":{"description":"RFC 7807 base — DO NOT use directly in endpoints.\nIn endpoints reference ApiProblem400/401/403/409/422/429/500.","type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"instance":{"type":"string"}},"type":"object"},"ApiProblem422":{"description":"Input data validation error.","allOf":[{"$ref":"#/components/schemas/ApiProblemBase"},{"properties":{"type":{"description":"422 Unprocessable Entity (validation)","type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"instance":{"type":"string"},"errors":{"description":"Map: field name → error message(s)","type":"object","additionalProperties":{"$ref":"#/components/schemas/ErrorValue"}}},"type":"object"}]},"ErrorValue":{"description":"Single error message or list of messages.","oneOf":[{"description":"Error value in error map can be:\n- single string, or\n- array of strings (multiple messages for one field).","type":"string"},{"type":"array","items":{"type":"string"}}]}}},"paths":{"/clients":{"get":{"tags":["clients"],"summary":"List clients (paginated)","operationId":"listClients","parameters":[{"$ref":"#/components/parameters/PageParam"},{"$ref":"#/components/parameters/LimitParam"},{"name":"search","in":"query","description":"One-box search: matches a substring of the full name (`forename surname` or `surname forename`), the e-mail or the phone. Case-insensitive. Use it when you do not know which field holds the value; use the per-field filters below when you do. `%` and `_` are matched literally.","required":false,"schema":{"type":"string"}},{"name":"email","in":"query","description":"Substring match on the e-mail.","required":false,"schema":{"type":"string"}},{"name":"phone","in":"query","description":"Substring match on the phone number — works with a fragment, so a number stored with spaces or a prefix is still found.","required":false,"schema":{"type":"string"}},{"name":"companyName","in":"query","description":"Substring match on the company name.","required":false,"schema":{"type":"string"}},{"name":"taxId","in":"query","description":"EXACT match on the tax id (NIP).","required":false,"schema":{"type":"string"}},{"name":"personalId","in":"query","description":"EXACT match on the national identification number (PESEL).","required":false,"schema":{"type":"string"}},{"name":"idCard","in":"query","description":"EXACT match on the identity document number.","required":false,"schema":{"type":"string"}},{"name":"address","in":"query","description":"Substring match on the address.","required":false,"schema":{"type":"string"}},{"name":"vehicleRegistrationNumber","in":"query","description":"Substring match on the vehicle registration number.","required":false,"schema":{"type":"string"}},{"name":"comments","in":"query","description":"Substring match on the internal notes.","required":false,"schema":{"type":"string"}},{"name":"addDate","in":"query","description":"Clients added on this day (Y-m-d).","required":false,"schema":{"type":"string","format":"date"}},{"name":"editDate","in":"query","description":"Clients last edited on this day (Y-m-d).","required":false,"schema":{"type":"string","format":"date"}},{"name":"lastEdit","in":"query","description":"Unix timestamp — clients edited at or after this moment. For incremental sync.","required":false,"schema":{"type":"integer"}},{"name":"lang","in":"query","description":"Filter by language preference (ISO 639-1)","required":false,"schema":{"type":"string"}},{"name":"countryId","in":"query","description":"Filter by country ID","required":false,"schema":{"type":"integer"}},{"name":"clientType","in":"query","description":"Filter by client type","required":false,"schema":{"type":"string","enum":["INDIVIDUAL","COMPANY"]}},{"name":"orderBy","in":"query","description":"Sort field","required":false,"schema":{"type":"string","default":"clientId","enum":["clientId","name","forename","addDate","editDate"]}},{"name":"orderType","in":"query","description":"Sort direction","required":false,"schema":{"type":"string","default":"ASC","enum":["ASC","DESC"]}}],"responses":{"200":{"description":"List of clients","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiProblem401"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiProblem422"}}}}}}}}}
```

## POST /clients

> Create client

```json
{"openapi":"3.0.0","info":{"title":"Public REST API v1 – mobile-calendar.com","version":"1.0.0"},"tags":[{"name":"clients","description":"Create, read, update, and delete operations for clients."}],"servers":[{"url":"https://api.mobile-calendar.com/v1/public","description":"Production"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","description":"Pass the token in header: Authorization: Bearer <JWT>","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"ClientCreateRequest":{"description":"Create client request","required":["name"],"properties":{"forename":{"description":"First name (given name). Optional.","type":"string"},"name":{"description":"SURNAME (family name) — NOT the full name. Required: a client cannot be saved without it. Put the first name in `forename`.","type":"string"},"phone":{"type":"string"},"email":{"type":"string","format":"email"},"companyName":{"type":"string","nullable":true},"taxId":{"type":"string","nullable":true},"personalId":{"type":"string","nullable":true},"idCard":{"type":"string","nullable":true},"clientType":{"type":"string","enum":["NONE","REGULAR","UNWANTED"]},"address":{"type":"string","nullable":true},"comments":{"type":"string","nullable":true},"vehicleRegistrationNumber":{"type":"string","nullable":true},"countryId":{"type":"integer","nullable":true},"lang":{"description":"Language preference (ISO 639-1)","type":"string"}},"type":"object"},"ClientCreateResponse":{"description":"Created client response with metadata","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/Client"},"meta":{"$ref":"#/components/schemas/MetaWithRuid"}},"type":"object"},"Client":{"description":"Client information","required":["clientId","name"],"properties":{"clientId":{"type":"integer"},"forename":{"description":"First name (given name). Optional.","type":"string"},"name":{"description":"SURNAME (family name) — NOT the full name. Required: a client cannot be saved without it. Put the first name in `forename`.","type":"string"},"phone":{"type":"string"},"email":{"type":"string","format":"email"},"companyName":{"type":"string","nullable":true},"taxId":{"type":"string","nullable":true},"personalId":{"type":"string","nullable":true},"idCard":{"type":"string","nullable":true},"clientType":{"type":"string","enum":["NONE","REGULAR","UNWANTED"]},"address":{"type":"string","nullable":true},"comments":{"type":"string","nullable":true},"vehicleRegistrationNumber":{"type":"string","nullable":true},"countryId":{"type":"integer","nullable":true},"lang":{"description":"Language preference (ISO 639-1)","type":"string"},"addDate":{"description":"Client creation date with timezone","type":"string","format":"date-time"},"editDate":{"description":"Last modification date with timezone","type":"string","format":"date-time","nullable":true}},"type":"object"},"MetaWithRuid":{"description":"Metadata with request tracking.","required":["ruid"],"properties":{"ruid":{"description":"Request Unique ID","type":"string","format":"uuid"}},"type":"object"},"ApiProblem400":{"description":"Request syntax/format error.","allOf":[{"$ref":"#/components/schemas/ApiProblemBase"},{"properties":{"type":{"description":"400 Bad Request","type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"instance":{"type":"string"}},"type":"object"}]},"ApiProblemBase":{"description":"RFC 7807 Problem Details (base schema).","required":["type","title","status","detail","instance"],"properties":{"type":{"description":"RFC 7807 base — DO NOT use directly in endpoints.\nIn endpoints reference ApiProblem400/401/403/409/422/429/500.","type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"instance":{"type":"string"}},"type":"object"},"ApiProblem401":{"description":"Missing authentication or invalid credentials.","allOf":[{"$ref":"#/components/schemas/ApiProblemBase"},{"properties":{"type":{"description":"401 Unauthorized","type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"instance":{"type":"string"}},"type":"object"}]},"ApiProblem422":{"description":"Input data validation error.","allOf":[{"$ref":"#/components/schemas/ApiProblemBase"},{"properties":{"type":{"description":"422 Unprocessable Entity (validation)","type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"instance":{"type":"string"},"errors":{"description":"Map: field name → error message(s)","type":"object","additionalProperties":{"$ref":"#/components/schemas/ErrorValue"}}},"type":"object"}]},"ErrorValue":{"description":"Single error message or list of messages.","oneOf":[{"description":"Error value in error map can be:\n- single string, or\n- array of strings (multiple messages for one field).","type":"string"},{"type":"array","items":{"type":"string"}}]}}},"paths":{"/clients":{"post":{"tags":["clients"],"summary":"Create client","operationId":"createClient","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientCreateRequest"}}}},"responses":{"201":{"description":"Created","headers":{"Location":{"description":"URL of the new resource","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientCreateResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiProblem400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiProblem401"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiProblem422"}}}}}}}}}
```

## GET /clients/{id}

> Get client by ID

```json
{"openapi":"3.0.0","info":{"title":"Public REST API v1 – mobile-calendar.com","version":"1.0.0"},"tags":[{"name":"clients","description":"Create, read, update, and delete operations for clients."}],"servers":[{"url":"https://api.mobile-calendar.com/v1/public","description":"Production"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","description":"Pass the token in header: Authorization: Bearer <JWT>","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"ClientResponse":{"description":"Single client response with metadata","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/Client"},"meta":{"$ref":"#/components/schemas/MetaWithRuid"}},"type":"object"},"Client":{"description":"Client information","required":["clientId","name"],"properties":{"clientId":{"type":"integer"},"forename":{"description":"First name (given name). Optional.","type":"string"},"name":{"description":"SURNAME (family name) — NOT the full name. Required: a client cannot be saved without it. Put the first name in `forename`.","type":"string"},"phone":{"type":"string"},"email":{"type":"string","format":"email"},"companyName":{"type":"string","nullable":true},"taxId":{"type":"string","nullable":true},"personalId":{"type":"string","nullable":true},"idCard":{"type":"string","nullable":true},"clientType":{"type":"string","enum":["NONE","REGULAR","UNWANTED"]},"address":{"type":"string","nullable":true},"comments":{"type":"string","nullable":true},"vehicleRegistrationNumber":{"type":"string","nullable":true},"countryId":{"type":"integer","nullable":true},"lang":{"description":"Language preference (ISO 639-1)","type":"string"},"addDate":{"description":"Client creation date with timezone","type":"string","format":"date-time"},"editDate":{"description":"Last modification date with timezone","type":"string","format":"date-time","nullable":true}},"type":"object"},"MetaWithRuid":{"description":"Metadata with request tracking.","required":["ruid"],"properties":{"ruid":{"description":"Request Unique ID","type":"string","format":"uuid"}},"type":"object"},"ApiProblem401":{"description":"Missing authentication or invalid credentials.","allOf":[{"$ref":"#/components/schemas/ApiProblemBase"},{"properties":{"type":{"description":"401 Unauthorized","type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"instance":{"type":"string"}},"type":"object"}]},"ApiProblemBase":{"description":"RFC 7807 Problem Details (base schema).","required":["type","title","status","detail","instance"],"properties":{"type":{"description":"RFC 7807 base — DO NOT use directly in endpoints.\nIn endpoints reference ApiProblem400/401/403/409/422/429/500.","type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"instance":{"type":"string"}},"type":"object"},"ApiProblem404":{"description":"Resource specified in the request was not found.","allOf":[{"$ref":"#/components/schemas/ApiProblemBase"},{"properties":{"type":{"description":"404 Not Found","type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"instance":{"type":"string"}},"type":"object"}]}}},"paths":{"/clients/{id}":{"get":{"tags":["clients"],"summary":"Get client by ID","operationId":"getClient","parameters":[{"name":"id","in":"path","description":"Client ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiProblem401"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiProblem404"}}}}}}}}}
```

## DELETE /clients/{id}

> Delete client

```json
{"openapi":"3.0.0","info":{"title":"Public REST API v1 – mobile-calendar.com","version":"1.0.0"},"tags":[{"name":"clients","description":"Create, read, update, and delete operations for clients."}],"servers":[{"url":"https://api.mobile-calendar.com/v1/public","description":"Production"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","description":"Pass the token in header: Authorization: Bearer <JWT>","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"ApiProblem401":{"description":"Missing authentication or invalid credentials.","allOf":[{"$ref":"#/components/schemas/ApiProblemBase"},{"properties":{"type":{"description":"401 Unauthorized","type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"instance":{"type":"string"}},"type":"object"}]},"ApiProblemBase":{"description":"RFC 7807 Problem Details (base schema).","required":["type","title","status","detail","instance"],"properties":{"type":{"description":"RFC 7807 base — DO NOT use directly in endpoints.\nIn endpoints reference ApiProblem400/401/403/409/422/429/500.","type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"instance":{"type":"string"}},"type":"object"},"ApiProblem404":{"description":"Resource specified in the request was not found.","allOf":[{"$ref":"#/components/schemas/ApiProblemBase"},{"properties":{"type":{"description":"404 Not Found","type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"instance":{"type":"string"}},"type":"object"}]}}},"paths":{"/clients/{id}":{"delete":{"tags":["clients"],"summary":"Delete client","operationId":"deleteClient","parameters":[{"name":"id","in":"path","description":"Client ID","required":true,"schema":{"type":"integer"}}],"responses":{"204":{"description":"Deleted successfully","headers":{"RUID":{"description":"Request unique identifier","schema":{"type":"string"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiProblem401"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiProblem404"}}}}}}}}}
```

## Update client (partial update)

> Update one or more fields of a client. Only the fields provided in the request body will be updated.

```json
{"openapi":"3.0.0","info":{"title":"Public REST API v1 – mobile-calendar.com","version":"1.0.0"},"tags":[{"name":"clients","description":"Create, read, update, and delete operations for clients."}],"servers":[{"url":"https://api.mobile-calendar.com/v1/public","description":"Production"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","description":"Pass the token in header: Authorization: Bearer <JWT>","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"ClientUpdateRequest":{"description":"Partial update — send only the fields you want to change. A field that IS sent must be valid and non-empty; fields left out keep their current value. The client is identified by the path parameter, so there is no clientId in the body.","properties":{"forename":{"description":"First name (given name).","type":"string"},"name":{"description":"SURNAME (family name) — NOT the full name. Optional here, but if sent it must be non-empty.","type":"string"},"phone":{"type":"string"},"email":{"type":"string","format":"email"},"companyName":{"type":"string","nullable":true},"taxId":{"type":"string","nullable":true},"personalId":{"type":"string","nullable":true},"idCard":{"type":"string","nullable":true},"clientType":{"type":"string","enum":["NONE","REGULAR","UNWANTED"]},"address":{"type":"string","nullable":true},"comments":{"type":"string","nullable":true},"vehicleRegistrationNumber":{"type":"string","nullable":true},"countryId":{"type":"integer","nullable":true},"lang":{"description":"Language preference (ISO 639-1)","type":"string"}},"type":"object"},"ClientResponse":{"description":"Single client response with metadata","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/Client"},"meta":{"$ref":"#/components/schemas/MetaWithRuid"}},"type":"object"},"Client":{"description":"Client information","required":["clientId","name"],"properties":{"clientId":{"type":"integer"},"forename":{"description":"First name (given name). Optional.","type":"string"},"name":{"description":"SURNAME (family name) — NOT the full name. Required: a client cannot be saved without it. Put the first name in `forename`.","type":"string"},"phone":{"type":"string"},"email":{"type":"string","format":"email"},"companyName":{"type":"string","nullable":true},"taxId":{"type":"string","nullable":true},"personalId":{"type":"string","nullable":true},"idCard":{"type":"string","nullable":true},"clientType":{"type":"string","enum":["NONE","REGULAR","UNWANTED"]},"address":{"type":"string","nullable":true},"comments":{"type":"string","nullable":true},"vehicleRegistrationNumber":{"type":"string","nullable":true},"countryId":{"type":"integer","nullable":true},"lang":{"description":"Language preference (ISO 639-1)","type":"string"},"addDate":{"description":"Client creation date with timezone","type":"string","format":"date-time"},"editDate":{"description":"Last modification date with timezone","type":"string","format":"date-time","nullable":true}},"type":"object"},"MetaWithRuid":{"description":"Metadata with request tracking.","required":["ruid"],"properties":{"ruid":{"description":"Request Unique ID","type":"string","format":"uuid"}},"type":"object"},"ApiProblem400":{"description":"Request syntax/format error.","allOf":[{"$ref":"#/components/schemas/ApiProblemBase"},{"properties":{"type":{"description":"400 Bad Request","type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"instance":{"type":"string"}},"type":"object"}]},"ApiProblemBase":{"description":"RFC 7807 Problem Details (base schema).","required":["type","title","status","detail","instance"],"properties":{"type":{"description":"RFC 7807 base — DO NOT use directly in endpoints.\nIn endpoints reference ApiProblem400/401/403/409/422/429/500.","type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"instance":{"type":"string"}},"type":"object"},"ApiProblem401":{"description":"Missing authentication or invalid credentials.","allOf":[{"$ref":"#/components/schemas/ApiProblemBase"},{"properties":{"type":{"description":"401 Unauthorized","type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"instance":{"type":"string"}},"type":"object"}]},"ApiProblem404":{"description":"Resource specified in the request was not found.","allOf":[{"$ref":"#/components/schemas/ApiProblemBase"},{"properties":{"type":{"description":"404 Not Found","type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"instance":{"type":"string"}},"type":"object"}]},"ApiProblem422":{"description":"Input data validation error.","allOf":[{"$ref":"#/components/schemas/ApiProblemBase"},{"properties":{"type":{"description":"422 Unprocessable Entity (validation)","type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"instance":{"type":"string"},"errors":{"description":"Map: field name → error message(s)","type":"object","additionalProperties":{"$ref":"#/components/schemas/ErrorValue"}}},"type":"object"}]},"ErrorValue":{"description":"Single error message or list of messages.","oneOf":[{"description":"Error value in error map can be:\n- single string, or\n- array of strings (multiple messages for one field).","type":"string"},{"type":"array","items":{"type":"string"}}]}}},"paths":{"/clients/{id}":{"patch":{"tags":["clients"],"summary":"Update client (partial update)","description":"Update one or more fields of a client. Only the fields provided in the request body will be updated.","operationId":"updateClient","parameters":[{"name":"id","in":"path","description":"Client ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientUpdateRequest"}}}},"responses":{"200":{"description":"Updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiProblem400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiProblem401"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiProblem404"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiProblem422"}}}}}}}}}
```
