openapi: 3.2.0 info: title: strands-decider System One Systemone API description: Typed, calibrated answers. Choice, Score and Noul over one state. version: 0.1.0 x-generated-from: source x-derived-from: - https://github.com/strands-labs/strands-decider/blob/0ac22a97e584f3ccf87cc9b8cc5fdbad57cdf534/src/strands_decider/server.py - https://github.com/strands-labs/strands-decider/blob/0ac22a97e584f3ccf87cc9b8cc5fdbad57cdf534/src/strands_decider/schema.py x-ae-authored: by: API Evangelist date: '2026-10-12' source_commit: 0ac22a97e584f3ccf87cc9b8cc5fdbad57cdf534 method: The repo commits no openapi.json. Generated by FastAPI 0.143.0 / pydantic 2.14.1 app.openapi() over the unmodified schema.py models, with route stubs reproducing server.py create_app() (same title, version, description, GET /health, POST /v1/systemone response_model=SystemOneResponse). Not run against the real engine. notes: - Self-hosted open-source server; no AWS-hosted endpoint. Default bind http://127.0.0.1:8000 (server.py serve()). - The real handler adds latency_ms to the response payload and returns 422 on ValueError; FastAPI does not reflect latency_ms in the emitted schema. - 'Filed under amazon-web-services: no strands / strands-agents repo exists in all/.' servers: - url: http://127.0.0.1:8000 description: Default local bind (self-hosted). tags: - name: Systemone paths: /v1/systemone: post: summary: Systemone operationId: systemone_v1_systemone_post requestBody: content: application/json: schema: $ref: '#/components/schemas/SystemOneRequest' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/SystemOneResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Systemone components: schemas: ChoiceAnswer: properties: type: type: string const: choice title: Type default: choice choice: type: string title: Choice probabilities: additionalProperties: type: number type: object title: Probabilities confidence: type: number title: Confidence type: object required: - choice - probabilities - confidence title: ChoiceAnswer ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError ScoreAnswer: properties: type: type: string const: score title: Type default: score score: type: number title: Score legend: additionalProperties: type: string type: object title: Legend probabilities: additionalProperties: type: number type: object title: Probabilities confidence: type: number title: Confidence type: object required: - score - legend - probabilities - confidence title: ScoreAnswer SystemOneResponse: properties: model: type: string title: Model answers: additionalProperties: anyOf: - $ref: '#/components/schemas/NoulAnswer' - $ref: '#/components/schemas/ChoiceAnswer' - $ref: '#/components/schemas/ScoreAnswer' type: object title: Answers usage: $ref: '#/components/schemas/Usage' type: object required: - model - answers - usage title: SystemOneResponse NoulQuestion: properties: type: type: string const: noul title: Type default: noul instructions: anyOf: - type: string - additionalProperties: true type: object - items: {} type: array title: Instructions criteria: anyOf: - additionalProperties: anyOf: - type: string - additionalProperties: true type: object - items: {} type: array - type: 'null' type: object - type: 'null' title: Criteria type: object required: - instructions title: NoulQuestion description: 'Yes/no. Returns the probability the statement is true. No confidence field: with two outcomes the probability *is* the uncertainty, and the derived-confidence formula would just be |2p - 1|, telling you nothing new.' Usage: properties: input_tokens: type: integer title: Input Tokens default: 0 output_tokens: type: integer title: Output Tokens default: 0 type: object title: Usage HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError ChoiceQuestion: properties: type: type: string const: choice title: Type default: choice instructions: anyOf: - type: string - additionalProperties: true type: object - items: {} type: array title: Instructions criteria: additionalProperties: anyOf: - type: string - additionalProperties: true type: object - items: {} type: array - type: 'null' type: object title: Criteria type: object required: - instructions - criteria title: ChoiceQuestion description: 'Pick one of N named options. `criteria` maps option name -> description. A description may be structured data (a chess move, a palette), rendered like `state`, or null for a bare label.' NoulAnswer: properties: type: type: string const: noul title: Type default: noul noul: type: number title: Noul type: object required: - noul title: NoulAnswer ScoreQuestion: properties: type: type: string const: score title: Type default: score instructions: anyOf: - type: string - additionalProperties: true type: object - items: {} type: array title: Instructions criteria: items: type: string type: array title: Criteria type: object required: - instructions - criteria title: ScoreQuestion description: 'Rate against an ordered rubric. `criteria` is ascending: index 0 is the low end.' SystemOneRequest: properties: state: anyOf: - type: string - additionalProperties: true type: object - items: {} type: array title: State questions: additionalProperties: anyOf: - $ref: '#/components/schemas/NoulQuestion' - $ref: '#/components/schemas/ChoiceQuestion' - $ref: '#/components/schemas/ScoreQuestion' type: object minProperties: 1 title: Questions model: type: string title: Model default: strands-decider-latest images: items: type: string type: array title: Images type: object required: - state - questions title: SystemOneRequest