openapi: 3.1.0
info:
  title: "The magic API"
  description: |
    A multi-line description
    of the API. That should be retained.
tags:
  - name: "Burgers"
security:
  - oauth2: []
paths:
  "/test":
    parameters:
      - $ref: "#/components/parameters/completed_since"
    post:
      tags:
        - "Burgers"
      operationId: "test"
      requestBody:
        description: Callback payload
        content:
          'application/json':
            schema:
              type: string
      responses:
        "200":
          description: "OK"
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: "#/components/schemas/test"
                  arr:
                    type: array
                    items:
                      $ref: "#/components/schemas/test"
      callbacks:
        BurgerCallback:
          x-break-everything: please
          "{$request.query.queryUrl}":
            post:
              requestBody:
                description: Callback payload
                content:
                  application/json:
                    schema:
                      type: string
              responses:
                '200':
                  description: callback successfully processes
components:
  schemas:
    test:
      type: string
  parameters:
    completed_since:
      in: query
      name: completed_since
      required: false
      explode: false
      schema:
        example: 2012-02-22T02:06:58.158Z
        format: date-time
        type: string
  links:
    LocateBurger:
      operationId: locateBurger
      parameters:
        burgerId: '$response.body#/id'
      description: Go and get a tasty burger
  securitySchemes:
    oauth2:
      description: |-
        We require that applications designed to access the Asana API on behalf of multiple users implement OAuth 2.0.
        Asana supports the Authorization Code Grant flow.
      flows:
        authorizationCode:
          authorizationUrl: https://app.asana.com/-/oauth_authorize
          refreshUrl: https://app.asana.com/-/oauth_token
          scopes:
            default: Provides access to all endpoints documented in our API reference. If no scopes are requested, this scope is assumed by default.
            email: Provides access to the user’s email through the OpenID Connect user info endpoint.
            openid: Provides access to OpenID Connect ID tokens and the OpenID Connect user info endpoint.
            profile: Provides access to the user’s name and profile photo through the OpenID Connect user info endpoint.
          tokenUrl: https://app.asana.com/-/oauth_token
      type: oauth2
