Bind vendor HTTP operations and optional MCP operation contracts to normalized capability keys on each Business Entity.
Prerequisites
- Vendor OpenAPI or MCP spec imported or authored
- Configure data flow operation keys defined
- System-level hints optional — Configure AI interfaces
Where it lives
| Layer | Location |
|---|---|
| OpenAPI ops | <datasourceKey>.json → openapi.operations |
| MCP ops | mcp block on same file (when entity exposes MCP) |
| Authoritative vendor spec | externalSpec / imported document key |
| UI | Business Entity Operations tab (?tab=openapi) |
Manifest sections: datasource.openapiOperations, datasource.mcpOperations.
Builder MCP
| Manifest sections | datasource.openapiOperations, datasource.mcpOperations |
| UI tab | Operations (?tab=openapi) |
| Help topics | section, schemaCatalog, dependencyGraph |
| Repair hooks | expose, rbac |
Operation keys must match ^[a-z][a-zA-Z0-9]*$ and align with CIP openapiRef values. Concept depth: OpenAPI and MCP contracts.
How to set
- Enable OpenAPI band and declare operations:
{
"openapi": {
"enabled": true,
"operations": {
"list": {
"operationId": "listCustomers",
"method": "GET",
"path": "/customers",
"permissions": ["external-system:read"]
}
},
"documentKey": "example-customers"
}
}
- Keep keys aligned —
list,get,create,update,deleteor custom keys used in CIP and capabilities. - Repair exposure after operation changes:
aifabrix repair <systemKey> --expose
aifabrix validate <systemKey>
Validate
aifabrix validate <systemKey> catches broken operation references before runtime. Live proof: test-integration and E2E per CLI workflow.
Common mistakes
| Mistake | Fix |
|---|---|
| System OpenAPI as only contract | Entity openapi.operations is authoritative for CIP |
| Operation id mismatch with CIP | Align openapiRef and operation keys |
| MCP ops without AI contract | Configure AI contract |