{"openapi": "3.1.0", "info": {"title": "Bode Intent", "version": "1.0.0", "summary": "Retrieval protocol for assistant-receivable outcomes", "description": "Not a completion API. List and fetch published outcomes. There is no generate route. Do not request drafts or a private aim. Prompts are not accepted, stored, or returned.\n\nDocs: /intent/docs. Product: /intent. Terms: /intent/terms. 60 requests/minute."}, "servers": [{"url": "https://bodecloud.com", "description": "Live"}, {"url": "https://z.bodecloud.com", "description": "Same worker"}], "tags": [{"name": "Outcomes", "description": "Published next-action objects"}], "paths": {"/intent/v1/health": {"get": {"operationId": "health", "tags": ["Outcomes"], "summary": "Liveness", "responses": {"200": {"description": "Ready", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Health"}}}}}}}, "/intent/v1/outcomes": {"get": {"operationId": "list_outcomes", "tags": ["Outcomes"], "summary": "List published outcomes", "description": "Returns published outcomes. The unpublished remainder is not listed.", "responses": {"200": {"description": "Catalog", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/OutcomeList"}}}}, "429": {"description": "Rate limited", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}}}}, "/intent/v1/outcomes/{id}": {"get": {"operationId": "get_outcome", "tags": ["Outcomes"], "summary": "Fetch one outcome", "parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string", "enum": ["walk", "gift", "check", "plan"]}}], "responses": {"200": {"description": "The outcome", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Outcome"}}}}, "404": {"description": "Unknown or unpublished", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}}}}, "/intent/v1/examples": {"get": {"operationId": "list_examples", "tags": ["Outcomes"], "summary": "Scored published outcomes", "description": "What a stranger sees after a check passes. No prompt field.", "responses": {"200": {"description": "Examples", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ExampleList"}}}}}}}, "/intent/v1/checks": {"get": {"operationId": "list_checks", "tags": ["Outcomes"], "summary": "Live host checks", "description": "Pass/fail on the published pack. Does not echo drafts.", "responses": {"200": {"description": "Checks", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CheckList"}}}}}}}}, "components": {"schemas": {"Health": {"type": "object", "properties": {"object": {"type": "string"}, "ok": {"type": "boolean"}, "status": {"type": "string"}, "ready": {"type": "boolean"}}}, "OutcomeList": {"type": "object", "required": ["object", "data"], "properties": {"object": {"type": "string", "const": "list"}, "data": {"type": "array", "items": {"$ref": "#/components/schemas/OutcomeCard"}}}}, "OutcomeCard": {"type": "object", "properties": {"id": {"type": "string"}, "object": {"type": "string", "const": "intent.outcome"}, "index": {"type": "string"}, "title": {"type": "string"}, "href": {"type": "string"}}}, "Outcome": {"type": "object", "properties": {"id": {"type": "string"}, "object": {"type": "string", "const": "intent.outcome"}, "index": {"type": "string"}, "title": {"type": "string"}, "body": {}}}, "ExampleList": {"type": "object", "properties": {"object": {"type": "string"}, "data": {"type": "array", "items": {"$ref": "#/components/schemas/Example"}}}}, "Example": {"type": "object", "properties": {"id": {"type": "string"}, "object": {"type": "string"}, "check": {"type": "string"}, "result": {"type": "string"}, "seen": {"type": "string"}}}, "CheckList": {"type": "object", "properties": {"object": {"type": "string"}, "failed": {"type": "integer"}, "data": {"type": "array"}}}, "Error": {"type": "object", "properties": {"error": {"type": "object", "properties": {"message": {"type": "string"}, "type": {"type": "string"}, "code": {"type": "string"}}}}}}}}