mirror of
https://github.com/LukeHagar/libopenapi.git
synced 2025-12-06 04:20:11 +00:00
89 lines
2.7 KiB
YAML
89 lines
2.7 KiB
YAML
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
|