Partially updates a served-participant grant's relationship, status, and/or §17.8 policy.
Set the status to `REVOKED` to withdraw access (soft — the row and its audit survive), retag the relationship, or flip the per-customer agent-mode policy. Omitted fields stay unchanged; no field may carry the UNSPECIFIED sentinel. Applies immediately.
Authorization
Bearer JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.
In: header
Path Parameters
The owning Network id.
uuidThe participant id.
uuidThe tenant identifier
The relationship / status / policy changes.
In what capacity a Fruxon.Model.Participants.Participant may interact in a
Fruxon.Model.AgentNetwork.Network — the coarse Layer-1 authorization verb (design
network-scoped-agent-platform.md §5.2, §17.7). This is per-(Participant, Network); the
fine per-member response behaviour lives on Fruxon.Model.AgentNetwork.NetworkMemberParticipantRelation instead.
Note the invariant (§5.2): Audience = External never self-authorizes — a served relationship is
always an explicit grant, never derived from the participant's audience alone.
"UNSPECIFIED" | "SERVED" | "OBSERVER" | "ADVISOR"Lifecycle of a Layer-1 Fruxon.Model.AgentNetwork.NetworkParticipantAccess grant (design §5.2). Revoking is a soft state so the grant — and its audit trail — survives without a hard delete, mirroring the participant directory's soft-disable posture.
"UNSPECIFIED" | "ACTIVE" | "REVOKED"Per-customer agent switch (design §17.8 NetworkCustomerPolicy.AgentMode): whether the network's
AI agents may answer this served participant, or whether the customer is handled by humans only. Lives
on the Layer-1 Fruxon.Model.AgentNetwork.NetworkParticipantAccess relationship so an operator can turn the agent off
for one customer without touching the customer's human/escalation path or the agent's other customers.
"UNSPECIFIED" | "ON" | "OFF_HUMAN_ONLY"Response Body
curl -X PATCH "https://api.fruxon.com/v1/tenants/string/networks/497f6eca-6276-4993-bfeb-53cbbbba6f08/participants/497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "00000000-0000-0000-0000-000000000000",
"networkId": "00000000-0000-0000-0000-000000000000",
"participantId": "00000000-0000-0000-0000-000000000000",
"relationshipKey": "SERVED",
"status": "ACTIVE",
"source": "MANUAL",
"agentMode": "ON",
"escalationOverride": {
"tiers": [
{
"operatorParticipantIds": [],
"strategy": "UNSPECIFIED"
}
],
"mode": "PREFERRED",
"allOperatorParticipantIds": []
},
"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
}Sets (full replace) the participant's dedicated-operator escalation override.
The participant must already be a served participant of the Network (a customer is granted access before they get dedicated operators) — otherwise `404 Not Found`. Every operator must be an active operator of the Network (enroll them via the operators directory first); an unknown or non-operator participant yields `400 Bad Request`. Resolved ahead of the network pool at escalation time. Applies immediately. Returns the updated served-participant row, whose `escalationOverride` echoes the set override.
Grants a participant access to the Network.
The participant must exist and be a Person or Group; an AI agent is a member/peer and yields `400 Bad Request`. Idempotent: re-granting an existing participant re-applies its relationship and §17.8 policy and re-activates a revoked grant. Applies immediately.