FruxonDocs
Agent NetworkGraph

Connects a NEW channel to this Application in one step — mints the doorway and claims its address.

The app-owned-channels creation path — a channel is born inside an Application, never in an unbound state. Mints the inbound doorway (a MANUAL inbound channel binding, or the agent's messaging endpoint for endpoint-owned providers such as Telegram, whose config is both credential and address) and materializes its messaging entry point here. The agent must already be a member of this Application. Rejects (409) an address already in use by another Application — re-home a claimed address with `:move` instead. Returns the one-time webhook URL when a new channel binding was minted.

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

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

In: header

Path Parameters

network*string

The target Network id.

Formatuuid
tenant*string

The tenant identifier

The integration config, channel address parameters, and target member agent.

integrationConfigId?string

The tenant integration config carrying the channel (the connection's credentials).

Formatuuid
agentId?string

The member agent the channel routes to. It must already be a member of this Network.

name?string|null

Operator-facing channel name; defaults to the config's display name.

parameters?|null

Provider-specific address parameters selecting the channel on the connection (Slack channel id, phone number, …). Ignored for endpoint-owned providers, whose config IS the address (a Telegram bot token).

replaceExistingEndpoint?boolean

Endpoint-owned providers only: when the agent already fronts a different config's bot for this provider (one active bot per agent per provider), deactivate that bot and connect this one in its place. Without it such a connect is rejected 409 so a bot swap is always an explicit choice. The displaced bot keeps its endpoint record (reactivatable later); its doorway rows are removed.

[key: string]?never

Response Body

curl -X POST "https://api.fruxon.com/v1/tenants/string/networks/497f6eca-6276-4993-bfeb-53cbbbba6f08/entryPoints/connect" \  -H "Content-Type: application/json" \  -d '{}'
{
  "entryPoint": {
    "id": "00000000-0000-0000-0000-000000000000",
    "networkId": "00000000-0000-0000-0000-000000000000",
    "networkIntegrationBindingId": "00000000-0000-0000-0000-000000000000",
    "kind": "MESSAGING",
    "provider": "string",
    "externalAddress": "string",
    "displayName": "string",
    "integrationConfigId": "00000000-0000-0000-0000-000000000000",
    "integrationConfigName": "string",
    "agentId": "string",
    "agentMembershipId": "00000000-0000-0000-0000-000000000000",
    "unknownSenderAdmission": "REQUEST_ACCESS",
    "knownUnenrolledAdmission": "REQUEST_ACCESS",
    "routingPolicyKey": "string",
    "sourceKind": "CHANNEL_BINDING",
    "sourceId": "00000000-0000-0000-0000-000000000000",
    "operationalStatus": "ACTIVE",
    "createdAt": 0,
    "modifiedAt": 0
  },
  "webhookUrl": "string",
  "replacedMessagingEndpointId": "00000000-0000-0000-0000-000000000000"
}
{
  "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
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}