{
  "openapi": "3.1.0",
  "info": {
    "title": "The magic API",
    "description": "A multi-line description\nof the API. That should be retained.\n"
  },
  "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.\nAsana 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"
      }
    }
  }
}