Skip to content
Last updated

The good

  • We like Spot 😍

What to improve

  • It would be good to have starting guide from scratch

  • It's not obvious from the docs on what level to apply some properties (x-expect). The structure in the Spot spec can be improved.

  • There's an error in the documentation examples (content-type should be contentType): https://redocly.com/docs/realm/spot/spot-specification#json-object

  • VS Code autocomplete doesn't work(validation works).

  • Add base security schemas support

  • I would recommend not to use assert as default.

  • successCriteria is very confusing. x-except much better

buy-event-ticket.yaml
arazzo: 1.0.0
info:
  title: Buy Event Ticket
  version: v1
sourceDescriptions:
  - name: museum-api
    type: openapi
    url: museum.yaml
    # url: https://phronesis-creativara.redocly.app/_spec/products/museum/@v1/museum.yaml
x-parameters:
  - in: header
    name: Authorization
    value: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
workflows:
  - workflowId: buyEventTicket
    steps:
      - stepId: listSpecialEvents
        operationId: listSpecialEvents
        parameters:
          - name: endDate
            in: query
            value: 2023-09-30
        outputs:
          eventId: $response.body.1.eventId
          ticketDate: $response.body.1.dates.0
        x-expect:
          statusCode: 200
          body:
            1:
              name: Solar Telescope Demonstration
      - stepId: buyMuseumTickets
        operationId: buyMuseumTickets
        requestBody:
          contentType: application/json
          payload:
            ticketType: event
            eventId: $steps.listSpecialEvents.outputs.eventId
            ticketDate: $steps.listSpecialEvents.outputs.ticketDate
            email: yaroslav@redocly.com
        outputs:
          ticketId: $response.body.ticketId
        x-expect:
          statusCode: 201
          body:
            ticketType: event
            ticketDate: $steps.listSpecialEvents.outputs.ticketDate
      - stepId: getTicketCode
        operationId: getTicketCode
        parameters:
          - name: ticketId
            in: path
            value: $steps.buyMuseumTickets.outputs.ticketId
        x-expect:
          statusCode: 500
        successCriteria:
          - condition: $.message == "Mock server error. Could not generate response. No supported media type found in definition."
            type: jsonpath
            context: $response.body