FruxonDocs
Agent NetworkGraph

The Application's agents, connections and LLM configs now, and the environments it served in a window.

Agents are the Application's members other than removed ones, each with its role — a knowledge base's or reply style's helper by who built it, otherwise answering for a chat agent and other for anything else — its live revision, its most recent deploy attempt, its agent-wide production cost caps with the current period's spend, and whether a reviewer reads its conversations. Integrations are the connections the members' live revisions reference or the Application is granted through an active binding, with credential health as the agent overview reports it. LLM configs are the ones those revisions run on. `activeEnvironments` counts the customer environments with a production run of this Application in `[from, to)` (Unix ms, defaulting to the last 30 days; all time is `from=0`). Channels are listed by `networks/{network}/entryPoints`.

GET
/v1/tenants/{tenant}/networks/{network}/setupInventory
AuthorizationBearer <token>

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

In: header

Path Parameters

network*string

The Application (Network) id.

Formatuuid
tenant*string

The tenant identifier

Query Parameters

from?integer

Window start, Unix ms inclusive. Defaults to 30 days before to; 0 for all time.

Formatint64
to?integer

Window end, Unix ms exclusive. Defaults to now.

Formatint64

Response Body

curl -X GET "https://api.fruxon.com/v1/tenants/string/networks/497f6eca-6276-4993-bfeb-53cbbbba6f08/setupInventory"
{
  "networkId": "00000000-0000-0000-0000-000000000000",
  "window": {
    "fromMs": 0,
    "toMs": 0
  },
  "agents": [
    {
      "agentId": "string",
      "displayName": "string",
      "type": "SUMMARIZATION",
      "runnableType": "AGENT",
      "role": "ANSWERING",
      "managedBy": {
        "ownerKind": "UNSPECIFIED",
        "ownerId": null,
        "roles": [],
        "ownership": "UNSPECIFIED",
        "ownerDisplayName": "string",
        "ownerContainerId": null,
        "ownerContainerDisplayName": "string",
        "linkedOwnerCount": 0
      },
      "enabled": false,
      "membershipStatus": "ACTIVE",
      "liveRevision": 0,
      "lastDeploy": {
        "revision": 0,
        "previousRevision": 0,
        "status": "UNSPECIFIED",
        "at": 0,
        "createdBy": "string",
        "actor": "string",
        "reason": "string"
      },
      "budgets": [],
      "reviewerEnabled": false
    }
  ],
  "integrations": [
    {
      "configId": "00000000-0000-0000-0000-000000000000",
      "integrationId": "string",
      "displayName": "string",
      "health": "HEALTHY",
      "source": "AGENT"
    }
  ],
  "llmConfigs": [
    {
      "configId": "00000000-0000-0000-0000-000000000000",
      "providerId": "string",
      "displayName": "string",
      "health": "HEALTHY"
    }
  ],
  "activeEnvironments": 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
}

Projects the Network's roster roles with holders and referencing agent contacts.

Inverts the People surface: instead of listing participants and the roles each one carries, this lists every roster role in the Network and, for each, who holds it and which agent contacts defer to it. A holder is reported with every tier that grants the role — `EXPERTISE` for a tenant-level expertise tag that applies everywhere, `EDGE_ROLE` for a tag on a member edge in this Network — and an edge-granted holder names the agents whose edge grants it, since that is the only place the tag can be removed. `consultable` reports whether a consult-allowed member edge exists: a holder without one is still reachable for delivery through a role-bound contact but is refused for `consult_for_role`. A role with references and no holders is the actionable gap this surface exists to expose — deliveries and consults to it refuse at runtime. Roles group case-insensitively and are reported using the tenant capability catalog's casing; `inCatalog` distinguishes a catalog role from one that exists only as an ad-hoc tag. Read-only and fully derived from existing expertise, member-edge, and contact-slot state — it adds no storage of its own, so nothing here can drift from the People surface. The whole role vocabulary is projected in memory before paging — it is tens of names, not thousands (participants are paged on the People surface, not here) — so a page is a slice of the complete, fully ordered result and omitting `pageSize` returns everything.

The Application's production spend over an optional window, split by component, agent and model.

`totalCostUsd` and `creditsCharged` are the support KPIs' own figures. The split is read from the Application's run records: components are conversations, relevance checks, automations (any run a trigger fired), knowledge upkeep, review and other; `conversationCostUsd` and `conversationCredits` are the conversational components alone, for a cost per conversation without knowledge upkeep, reviews or automations. `creditsRefunded` counts credits handed back for superseded turns. A window reaching past the workspace's run history is split from `countedFromMs`. `from`/`to` are Unix ms (half-open), defaulting to the last 30 days; all time is `from=0`.