Partial update
Applies a partial update: only the non-null fields of the request are written, so callers can patch a single property without resending the whole resource. Supplying `Channels` replaces the channel list wholesale. `Kind` cannot be changed here. Agent bindings are managed through the nested `bindings` sub-resource, not this endpoint.
Authorization
Bearer JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.
In: header
Path Parameters
The participant identifier.
uuidThe tenant identifier
The patch payload — null fields are left unchanged.
length <= 150length <= 4000Operator-uploaded avatar. Patch semantics: null leaves the
existing value alone; an empty string clears it (e.g. when the
operator removes the upload). To match this, the service treats the
empty string as "explicit clear" rather than coalescing it.
When provided, replaces the participant's channel list entirely. Pass null to leave unchanged; pass an empty list to clear.
When provided, reconciles agent bindings to exactly this set in the same call as the rest of the patch — additions and removals are computed against the current bindings. Pass null to leave bindings unchanged; pass an empty list to unbind every agent.
Closes the partial-commit window the FE used to fall into: when the
participant dialog used to write the participant PATCH and then
fan-out individual PUT/DELETE /bindings/{agent} calls in
parallel, a single failing binding op left the operator with a
half-applied state. With this field, both the entity update and
the binding reconciliation run inside one service call — the
granular per-binding endpoints stay for callers that prefer them.
Response Body
curl -X PATCH "https://api.fruxon.com/v1/tenants/string/participants/497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "00000000-0000-0000-0000-000000000000",
"kind": "PERSON",
"displayName": "string",
"email": "string",
"relatedAgentId": "string",
"channels": [
{
"integrationConfigId": "00000000-0000-0000-0000-000000000000",
"address": "string",
"priority": 0,
"label": "string",
"disabled": false
}
],
"agentIds": [
"string"
],
"disabledAt": 0,
"health": {
"reachable": false,
"channels": [
{
"address": "string",
"reason": null,
"keyStatus": "UNSPECIFIED",
"keyPrefix": "string",
"lastMessageAt": null
}
],
"reason": "INVALID_FORMAT"
},
"channelActivations": [
{
"agentId": "string",
"bindingId": "00000000-0000-0000-0000-000000000000",
"integrationConfigId": "00000000-0000-0000-0000-000000000000",
"provider": "string",
"address": "string",
"webhookUrl": "string",
"webhookUrlTemplate": "string",
"webhookKeyPrefix": "string",
"scope": "PER_BINDING"
}
],
"avatarFileId": "string",
"createdAt": 0,
"modifiedAt": 0
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}