openapi: 3.1.0
info:
  title: Larkfield pricing
  version: 1.0.0
paths:
  /v1/quotes:
    get:
      operationId: listQuotes
      summary: List the first 100 quotes issued
      responses:
        "200": { description: Quotes returned }
  /v1/quote:
    post:
      operationId: quote
      summary: Quote a SKU at a discount and record the quote
      x-chio-side-effects: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                sku: { type: string }
                percent: { type: number, minimum: 0, maximum: 100 }
              required: [sku, percent]
      responses:
        "201": { description: Quote issued }
  /v1/quotes/{quoteId}:
    parameters:
      - name: quoteId
        in: path
        required: true
        schema: { type: integer, minimum: 1 }
    get:
      operationId: readQuote
      summary: Read one issued quote
      responses:
        "200": { description: Quote returned }
    delete:
      operationId: withdrawQuote
      summary: Withdraw one issued quote
      responses:
        "200": { description: Quote withdrawn }
