{"name":"CSA Loom","description":"CSA Loom exposes its governed data agents, agent flows, and WS-6 ontology objects/actions (OSDK) as delegable A2A tasks. Delegate a task in and receive a result governed by the caller's Loom permissions, PDP policy, and audit — Azure-native, sovereign, no Microsoft Fabric dependency.","supportedInterfaces":[{"url":"https://0.0.0.0:3000/api/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"}],"version":"1.0.0","capabilities":{"streaming":false,"pushNotifications":false,"extendedAgentCard":false},"defaultInputModes":["text/plain","application/json"],"defaultOutputModes":["text/plain","application/json"],"skills":[{"id":"query-data-agent","name":"Query a Loom data agent","description":"Delegate a natural-language question to a published Loom data agent. Send a text part with the question and a data part { \"agentId\": \"<data-agent item id>\" }. Returns the agent's grounded answer, governed by the caller's Loom permissions.","tags":["data-agent","nl-query","rag","grounded"],"examples":["{ \"agentId\": \"da-123\" } + \"What were Q2 sales by region?\""],"inputModes":["text/plain","application/json"],"outputModes":["text/plain"]},{"id":"run-agent-flow","name":"Run a Loom agent flow","description":"Delegate a task to a published Loom agent flow (multi-agent orchestration with tools, ontology-object nodes, sub-agent handoffs, and guardrails). Send a text part with the request and a data part { \"flowId\": \"<agent-flow item id>\" }. Returns the flow's final answer, governed.","tags":["agent-flow","orchestration","multi-agent"],"examples":["{ \"flowId\": \"af-9\" } + \"Investigate the anomaly in the payments stream\""],"inputModes":["text/plain","application/json"],"outputModes":["text/plain"]},{"id":"query-ontology-object","name":"Query ontology object instances (OSDK)","description":"Read typed instances of a WS-6 ontology object type through the Loom OSDK data-plane. Send a data part { \"ontologyId\": \"<ontology item id>\", \"objectType\": \"<declared object type>\", \"top\": 50 }. Returns the object rows the caller is cleared to see (object-level security enforced server-side).","tags":["ontology","osdk","objects","weave"],"examples":["{ \"ontologyId\": \"onto-1\", \"objectType\": \"Customer\", \"top\": 25 }"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"run-ontology-action","name":"Run an ontology action (OSDK write-back)","description":"Invoke a declared WS-6 ontology action type (create/update/delete write-back) through the Loom OSDK data-plane. Send a data part { \"ontologyId\": \"<id>\", \"action\": \"<declared action>\", \"params\": {…}, \"reason\": \"…\" }. Enforces object/action security, submission criteria, justification + approval gates, and emits lineage — exactly as the in-product action runner does.","tags":["ontology","osdk","actions","write-back","governed"],"examples":["{ \"ontologyId\": \"onto-1\", \"action\": \"promoteCustomer\", \"params\": { \"id\": \"c-42\", \"tier\": \"gold\" } }"],"inputModes":["application/json"],"outputModes":["application/json"]}],"provider":{"organization":"CSA Loom","url":"https://csa-loom.limitlessdata.ai"},"documentationUrl":"https://0.0.0.0:3000/learn","securitySchemes":{"loomBearer":{"httpAuthSecurityScheme":{"scheme":"Bearer","bearerFormat":"loom_pat","description":"A scoped Loom API token (Authorization: Bearer loom_pat_…) or a Console session cookie."}}},"securityRequirements":[{"schemes":{"loomBearer":{"list":[]}}}],"protocolVersion":"0.3","url":"https://0.0.0.0:3000/api/a2a","preferredTransport":"JSONRPC","security":[{"loomBearer":[]}],"supportsAuthenticatedExtendedCard":false}