UNPKG

@readme/oas-examples

Version:

A collection of example OpenAPI 3.x and Swagger 2.0 documents.

137 lines (136 loc) 4.66 kB
{ "openapi": "3.0.0", "info": { "title": "Callback Example", "version": "1.0.0" }, "paths": { "/streams": { "post": { "description": "subscribes a client to receive out-of-band data", "parameters": [ { "name": "callbackUrl", "in": "query", "required": true, "description": "the location where data will be sent. Must be network accessible by the source server", "schema": { "type": "string", "format": "uri", "example": "https://tonys-server.com" } } ], "responses": { "201": { "description": "subscription successfully created", "content": { "application/json": { "schema": { "description": "subscription information", "required": ["subscriptionId"], "properties": { "subscriptionId": { "description": "this unique identifier allows management of the subscription", "type": "string", "example": "2531329f-fb09-4ef7-887e-84e648214436" } } } } } } }, "callbacks": { "onData": { "{$request.query.callbackUrl}/data": { "post": { "requestBody": { "description": "subscription payload", "content": { "application/json": { "schema": { "type": "object", "properties": { "timestamp": { "type": "string", "format": "date-time" }, "userData": { "type": "string" } } } } } }, "responses": { "202": { "description": "Your server implementation should return this HTTP status code if the data was received successfully", "content": { "application/json": { "schema": { "type": "object", "properties": { "User": { "type": "object", "properties": { "email": { "type": "string" }, "name": { "type": "string" } } } } }, "examples": { "user": { "value": { "user": { "email": "test@example.com", "name": "Test user name" } } } } } } }, "204": { "description": "Your server should return this HTTP status code if no longer interested in further updates", "content": { "application/json": { "schema": { "type": "object", "properties": { "email": { "type": "string" }, "name": { "type": "string" }, "id": { "type": "integer", "format": "int64" } } }, "example": { "id": 12345, "email": "test@example.com", "name": "Test user name" } } } } } } } } } } } } }