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.