mirror of
https://github.com/LukeHagar/libopenapi.git
synced 2025-12-06 04:20:11 +00:00
137 lines
3.7 KiB
JSON
137 lines
3.7 KiB
JSON
{
|
||
"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"
|
||
}
|
||
}
|
||
}
|
||
} |