Creates a participant and optionally binds it to a set of agents atomically.
Creates the participant together with its channels and any initial agent bindings supplied in the request — all in one transaction, so a participant is never persisted half-bound. `Kind` is fixed at creation: switching a participant between Person, Group, and AI Agent requires recreating it.
Authorization
Bearer JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.
In: header
Path Parameters
The tenant identifier
What sort of entity a Fruxon.Model.Participants.Participant represents. The Agent Network treats all three uniformly — they're the "things that talk to agents" — but the kind disambiguates UX and downstream routing rules.
"UNSPECIFIED" | "PERSON" | "GROUP" | "AI_AGENT"1 <= length <= 150length <= 4000Operator-uploaded avatar file id (in platform storage). Optional; AI-agent participants without one fall back to the backing agent's avatar at projection time.
Agents to bind to this participant on creation. May be empty.
Response Body
curl -X POST "https://api.fruxon.com/v1/tenants/string/participants" \ -H "Content-Type: application/json" \ -d '{ "displayName": "string" }'{
"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
}