FruxonDocs
Agent NetworkGraph

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.

POST
/v1/tenants/{tenant}/networks/{network}/participants
AuthorizationBearer <token>

JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.

In: header

Path Parameters

network*string

The owning Network id.

Formatuuid
tenant*string

The tenant identifier

The participant to grant plus relationship and per-customer policy.

participantId?string

The Fruxon.Model.Participants.Participant to grant access to (a Person or Group).

Formatuuid
relationshipKey?string

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.

Value in"UNSPECIFIED" | "SERVED" | "OBSERVER" | "ADVISOR"
agentMode?string

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.

Value in"UNSPECIFIED" | "ON" | "OFF_HUMAN_ONLY"
[key: string]?never

Response Body

curl -X POST "https://api.fruxon.com/v1/tenants/string/networks/497f6eca-6276-4993-bfeb-53cbbbba6f08/participants" \  -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
}
Empty
Empty
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}