{"openapi":"3.0.3","info":{"title":"Ocelloids Execution Node","version":"4.0.7-dev.0"},"components":{"securitySchemes":{"BearerAuth":{"description":"Ed25519 JWT signed by private key, with account subject and token id in payload","type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{}},"paths":{"/ingress/networks":{"get":{"tags":["ingress"],"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}}}},"/submit/{agentId}":{"post":{"tags":["agents"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":100,"pattern":"[A-Za-z0-9.\\-_]+"},"in":"path","name":"agentId","required":true}],"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}}}}}}}}},"/query/{agentId}":{"post":{"tags":["agents"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"pagination":{"type":"object","properties":{"cursor":{"type":"string"},"limit":{"type":"number"}}},"args":{"type":"object","additionalProperties":true}}}}}},"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":100,"pattern":"[A-Za-z0-9.\\-_]+"},"in":"path","name":"agentId","required":true}],"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}}}},"/agents":{"get":{"tags":["agents"],"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/agents/{agentId}/inputs":{"get":{"tags":["agents"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":100,"pattern":"[A-Za-z0-9.\\-_]+"},"in":"path","name":"agentId","required":true}],"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/agents/{agentId}/queries":{"get":{"tags":["agents"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":100,"pattern":"[A-Za-z0-9.\\-_]+"},"in":"path","name":"agentId","required":true}],"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/sse/{agentId}/{streamName}":{"get":{"tags":["agents"],"parameters":[{"schema":"object","in":"query","name":"type"},{"schema":true,"in":"query","name":"additionalProperties"},{"schema":{"type":"string","minLength":1,"maxLength":100,"pattern":"[A-Za-z0-9.\\-_]+"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"path","name":"streamName","required":true}],"responses":{"200":{"description":"SSE stream","content":{"text/event-stream":{"schema":{"type":"string","description":"SSE event stream"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/subs/{agentId}":{"get":{"tags":["subscriptions"],"description":"List all readable subscriptions for the given agent; i.e. those that are public or owned by the current account.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":100,"pattern":"[A-Za-z0-9.\\-_]+"},"in":"path","name":"agentId","required":true}],"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100,"pattern":"[A-Za-z0-9.\\-_]+"},"agent":{"type":"string","minLength":1,"maxLength":100,"pattern":"[A-Za-z0-9.\\-_]+"},"args":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"owner":{"type":"string"},"public":{"type":"boolean"},"ephemeral":{"type":"boolean"},"channels":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["telegram"]},"chatId":{"type":"string","minLength":5,"maxLength":1000},"parseMode":{"type":"string","enum":["HTML","Markdown","MarkdownV2"]},"token":{"type":"string","minLength":5,"maxLength":1000},"events":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string","enum":["*"]}]},"template":{"type":"string","minLength":5,"maxLength":32000}},"required":["type","chatId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["webhook"]},"url":{"type":"string","minLength":5,"maxLength":2000,"pattern":"https?:\\/\\/.*"},"contentType":{"type":"string","maxLength":250,"pattern":"(?:application|text)\\/[a-z0-9-+.]+"},"events":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string","enum":["*"]}]},"template":{"type":"string","minLength":5,"maxLength":32000},"bearer":{"type":"string","minLength":1,"maxLength":1000},"secret":{"type":"string","minLength":1,"maxLength":1000},"limit":{"type":"number","minimum":0,"maximum":9007199254740991}},"required":["type","url"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["log"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["websocket"]}},"required":["type"],"additionalProperties":false}]}}},"required":["id","agent","args","channels"],"additionalProperties":false}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/subs/{agentId}/{subscriptionId}":{"get":{"tags":["subscriptions"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":100,"pattern":"[A-Za-z0-9.\\-_]+"},"in":"path","name":"subscriptionId","required":true},{"schema":{"type":"string","minLength":1,"maxLength":100,"pattern":"[A-Za-z0-9.\\-_]+"},"in":"path","name":"agentId","required":true}],"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100,"pattern":"[A-Za-z0-9.\\-_]+"},"agent":{"type":"string","minLength":1,"maxLength":100,"pattern":"[A-Za-z0-9.\\-_]+"},"args":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"owner":{"type":"string"},"public":{"type":"boolean"},"ephemeral":{"type":"boolean"},"channels":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["telegram"]},"chatId":{"type":"string","minLength":5,"maxLength":1000},"parseMode":{"type":"string","enum":["HTML","Markdown","MarkdownV2"]},"token":{"type":"string","minLength":5,"maxLength":1000},"events":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string","enum":["*"]}]},"template":{"type":"string","minLength":5,"maxLength":32000}},"required":["type","chatId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["webhook"]},"url":{"type":"string","minLength":5,"maxLength":2000,"pattern":"https?:\\/\\/.*"},"contentType":{"type":"string","maxLength":250,"pattern":"(?:application|text)\\/[a-z0-9-+.]+"},"events":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string","enum":["*"]}]},"template":{"type":"string","minLength":5,"maxLength":32000},"bearer":{"type":"string","minLength":1,"maxLength":1000},"secret":{"type":"string","minLength":1,"maxLength":1000},"limit":{"type":"number","minimum":0,"maximum":9007199254740991}},"required":["type","url"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["log"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["websocket"]}},"required":["type"],"additionalProperties":false}]}}},"required":["id","agent","args","channels"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"patch":{"tags":["subscriptions"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"title":"JSON Patch","description":"A JSON Schema describing a JSON Patch","type":"array","items":{"description":"one JSON Patch operation","allOf":[{"description":"Members common to all operations","type":"object","required":["op","path"],"properties":{"path":{"$ref":"#/components/schemas/jsonPointer"}}},{"$ref":"#/components/schemas/oneOperation"}]}}}},"description":"A JSON Schema describing a JSON Patch"},"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":100,"pattern":"[A-Za-z0-9.\\-_]+"},"in":"path","name":"subscriptionId","required":true},{"schema":{"type":"string","minLength":1,"maxLength":100,"pattern":"[A-Za-z0-9.\\-_]+"},"in":"path","name":"agentId","required":true}],"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100,"pattern":"[A-Za-z0-9.\\-_]+"},"agent":{"type":"string","minLength":1,"maxLength":100,"pattern":"[A-Za-z0-9.\\-_]+"},"args":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"owner":{"type":"string"},"public":{"type":"boolean"},"ephemeral":{"type":"boolean"},"channels":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["telegram"]},"chatId":{"type":"string","minLength":5,"maxLength":1000},"parseMode":{"type":"string","enum":["HTML","Markdown","MarkdownV2"]},"token":{"type":"string","minLength":5,"maxLength":1000},"events":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string","enum":["*"]}]},"template":{"type":"string","minLength":5,"maxLength":32000}},"required":["type","chatId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["webhook"]},"url":{"type":"string","minLength":5,"maxLength":2000,"pattern":"https?:\\/\\/.*"},"contentType":{"type":"string","maxLength":250,"pattern":"(?:application|text)\\/[a-z0-9-+.]+"},"events":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string","enum":["*"]}]},"template":{"type":"string","minLength":5,"maxLength":32000},"bearer":{"type":"string","minLength":1,"maxLength":1000},"secret":{"type":"string","minLength":1,"maxLength":1000},"limit":{"type":"number","minimum":0,"maximum":9007199254740991}},"required":["type","url"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["log"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["websocket"]}},"required":["type"],"additionalProperties":false}]}}},"required":["id","agent","args","channels"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"delete":{"tags":["subscriptions"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":100,"pattern":"[A-Za-z0-9.\\-_]+"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string","minLength":1,"maxLength":100,"pattern":"[A-Za-z0-9.\\-_]+"},"in":"path","name":"subscriptionId","required":true}],"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Accepted"}}}},"/subs":{"post":{"tags":["subscriptions"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100,"pattern":"[A-Za-z0-9.\\-_]+"},"agent":{"type":"string","minLength":1,"maxLength":100,"pattern":"[A-Za-z0-9.\\-_]+"},"args":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"owner":{"type":"string"},"public":{"type":"boolean"},"ephemeral":{"type":"boolean"},"channels":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["telegram"]},"chatId":{"type":"string","minLength":5,"maxLength":1000},"parseMode":{"type":"string","enum":["HTML","Markdown","MarkdownV2"]},"token":{"type":"string","minLength":5,"maxLength":1000},"events":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string","enum":["*"]}]},"template":{"type":"string","minLength":5,"maxLength":32000}},"required":["type","chatId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["webhook"]},"url":{"type":"string","minLength":5,"maxLength":2000,"pattern":"https?:\\/\\/.*"},"contentType":{"type":"string","maxLength":250,"pattern":"(?:application|text)\\/[a-z0-9-+.]+"},"events":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string","enum":["*"]}]},"template":{"type":"string","minLength":5,"maxLength":32000},"bearer":{"type":"string","minLength":1,"maxLength":1000},"secret":{"type":"string","minLength":1,"maxLength":1000},"limit":{"type":"number","minimum":0,"maximum":9007199254740991}},"required":["type","url"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["log"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["websocket"]}},"required":["type"],"additionalProperties":false}]}}},"required":["id","agent","args","channels"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100,"pattern":"[A-Za-z0-9.\\-_]+"},"agent":{"type":"string","minLength":1,"maxLength":100,"pattern":"[A-Za-z0-9.\\-_]+"},"args":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"owner":{"type":"string"},"public":{"type":"boolean"},"ephemeral":{"type":"boolean"},"channels":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["telegram"]},"chatId":{"type":"string","minLength":5,"maxLength":1000},"parseMode":{"type":"string","enum":["HTML","Markdown","MarkdownV2"]},"token":{"type":"string","minLength":5,"maxLength":1000},"events":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string","enum":["*"]}]},"template":{"type":"string","minLength":5,"maxLength":32000}},"required":["type","chatId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["webhook"]},"url":{"type":"string","minLength":5,"maxLength":2000,"pattern":"https?:\\/\\/.*"},"contentType":{"type":"string","maxLength":250,"pattern":"(?:application|text)\\/[a-z0-9-+.]+"},"events":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string","enum":["*"]}]},"template":{"type":"string","minLength":5,"maxLength":32000},"bearer":{"type":"string","minLength":1,"maxLength":1000},"secret":{"type":"string","minLength":1,"maxLength":1000},"limit":{"type":"number","minimum":0,"maximum":9007199254740991}},"required":["type","url"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["log"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["websocket"]}},"required":["type"],"additionalProperties":false}]}}},"required":["id","agent","args","channels"],"additionalProperties":false}}]}}}},"security":[{"BearerAuth":[]}],"responses":{"201":{"description":"Accepted"}}}},"/myself":{"get":{"tags":["accounts"],"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Default Response"}}}},"/myself/tokens":{"get":{"tags":["accounts"],"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Default Response"}}},"post":{"tags":["accounts"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"scope":{"type":"object","properties":{"read":{"type":"boolean"},"write":{"type":"boolean"}}}},"required":["scope"]}}}},"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Default Response"}}}}},"tags":[{"name":"accounts","description":"Account-related endpoints"},{"name":"subscriptions","description":"Subscription-related endpoints"},{"name":"agents","description":"Agent-related endpoints"},{"name":"ingress","description":"Ingress-related endpoints"}],"externalDocs":{"url":"https://ocelloids.net","description":"Ocelloids Website"}}