openapi: 3.2.0 info: title: Game Theory Layer for AI Agents Vend API description: 'Start with ONE tool: POST /v1/negotiate/turn — plain-dollar price negotiation (your walk-away + the other side''s offers in dollars -> the counter to send, a ready-to-send message, accept/walk advice).' version: 0.1.0 tags: - name: vend paths: /v1/vend/machine: get: tags: - vend summary: Machine Board operationId: machine_board_v1_vend_machine_get responses: '200': description: Successful Response content: application/json: schema: {} /v1/vend/quote: post: tags: - vend summary: Quote operationId: quote_v1_vend_quote_post requestBody: content: application/json: schema: $ref: '#/components/schemas/QuoteReq' required: true responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/vend/settle/{quote_id}: post: tags: - vend summary: Settle operationId: settle_v1_vend_settle__quote_id__post parameters: - name: quote_id in: path required: true schema: type: string title: Quote Id responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' components: schemas: BuyerBlock: properties: disclosure: additionalProperties: true type: object title: Disclosure description: '{''utilities'': {sku: $}, ''walk_cost'': $}' peer_proof: anyOf: - additionalProperties: true type: object - type: 'null' title: Peer Proof type: object required: - disclosure title: BuyerBlock QuoteReq: properties: protocol: type: string title: Protocol default: snhp-price/1 machine_id: type: string title: Machine Id default: demo-01 intent: $ref: '#/components/schemas/Intent' type: object required: - intent title: QuoteReq HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError 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 Intent: properties: sku: type: string title: Sku quantity: type: integer maximum: 3.0 minimum: 1.0 title: Quantity default: 1 substitutes_ok: type: boolean title: Substitutes Ok default: true buyer: anyOf: - $ref: '#/components/schemas/BuyerBlock' - type: 'null' type: object required: - sku title: Intent