Skip to content

5.6.2.1 Agents

The Agents domain of moochat. The configuration of the agents: definitions, the model profiles the AI gateway calls, the tools published by the systems' MCP servers and which tools each agent may use. Managed by staff in the Console; every change is a PlatformAuditEvent. Organization users read the agents they may use. It is one API, with its own contract and its own version.

5.6.2.1.1 Versions

Version Status Prod URL Contract
v1 Proposed https://moochat.moonitoring.com/agents/v1 agents/v1/openapi.yaml

The resources follow the data model. Follows the entities. Connectors are future work and their operations are marked so; moochat.connectors.manage is proposed.

5.6.2.1.2 Operations

Every operation names who calls it and the capability it checks (x-moonitoring-audience, x-moonitoring-capability in the contract); every capability is in the catalog of the data model (req 1002, 1006). Lists are paged by cursor, writes that create something carry an Idempotency-Key, errors are Problem Details.

Operation Request Who Capability
List agents GET /agents Organization users, staff or clients none: any member of the Organization
Create an agent POST /agents Staff moochat.agents.manage
Read an agent GET /agents/{agent_id} Organization users, staff or clients none: any member of the Organization
Update an agent PATCH /agents/{agent_id} Staff moochat.agents.manage
Pause, resume or archive an agent POST /agents/{agent_id}/status Staff moochat.agents.manage
List an agent's tool bindings GET /agents/{agent_id}/tools Organization users, staff or clients none: any member of the Organization
Bind a tool to an agent POST /agents/{agent_id}/tools Staff moochat.agents.manage
Change a binding PATCH /agents/{agent_id}/tools/{binding_id} Staff moochat.agents.manage
Unbind a tool DELETE /agents/{agent_id}/tools/{binding_id} Staff moochat.agents.manage
List tools GET /tools Staff moochat.agents.manage
Register a tool POST /tools Staff moochat.agents.manage
Update a tool PATCH /tools/{tool_id} Staff moochat.agents.manage
List model profiles GET /model-profiles Organization users, staff or clients none: any member of the Organization
Create a model profile POST /model-profiles Staff moochat.agent_models.manage
Update a model profile PATCH /model-profiles/{profile_id} Staff moochat.agent_models.manage
Retire a model profile POST /model-profiles/{profile_id}/retire Staff moochat.agent_models.manage
List connectors GET /connectors Staff moochat.agents.manage
List an Organization's connections GET /organizations/{organization_id}/connector-instances Organization users moochat.moochat.access
Connect an external system POST /organizations/{organization_id}/connector-instances Organization users moochat.connectors.manage
Revoke a connection POST /connector-instances/{instance_id}/revoke Organization users moochat.connectors.manage

5.6.2.1.3 Contract v1

Proposed version

v1 is a proposal for review: its endpoints, errors and capabilities were designed from the requirements and the flows and are not confirmed. It leaves proposal with its first release; from then on it changes only as described in Every API Is Versioned.