FruxonDocs
Agent NetworkGraph

Searches enrollable-operator candidates for the Add-operator picker.

A DB-paged, name-searchable page of curated directory Persons who could be enrolled as an operator here, each carrying the server's verdict: `status` (`ELIGIBLE` / `PROMOTABLE` — enrolling first classifies them as internal — / `INELIGIBLE`) and, when ineligible, a stable `ineligibleReason` code. Existing operators, external customers, disabled people, groups and ambient identities are all filtered out — nothing an admin can act on — so in practice every row is selectable. Holding a served (customer) grant in this Application is <b>not</b> a rejection: per design §3 an internal teammate may be served and an operator at once. The `servedHere` flag says so for display only. This backs the picker's server-side type-ahead so it no longer loads the whole tenant directory or the whole served set. The verdict is the same predicate the enroll path enforces, so a selectable candidate is one `POST` accepts. The literal `candidates` segment out-ranks the `{operator}` route, so there is no collision.

GET
/v1/tenants/{tenant}/networks/{network}/operators/candidates
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

Query Parameters

search?string

Case-insensitive display-name substring; null / blank returns the first page unfiltered.

PageSize?integer

The maximum number of items to return per page

Formatint32
PageToken.Skip?integer
Formatint32
PageToken.Cursor?string

Opaque cursor token from an external system (e.g. RAG API). When set, M:Fruxon.Common.Collections.PageToken.AsString returns this value directly instead of encoding Fruxon.Common.Collections.PageToken.Skip.

Response Body

curl -X GET "https://api.fruxon.com/v1/tenants/string/networks/497f6eca-6276-4993-bfeb-53cbbbba6f08/operators/candidates"
{
  "items": [
    {
      "participantId": "00000000-0000-0000-0000-000000000000",
      "displayName": "string",
      "kind": "PERSON",
      "audience": "UNKNOWN",
      "tier": "CURATED",
      "disabledAt": 0,
      "servedHere": false,
      "status": "ELIGIBLE",
      "ineligibleReason": "NOT_PERSON"
    }
  ],
  "nextPageToken": "string",
  "totalCount": 0
}
Empty
Empty
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}