mirror of
https://github.com/LukeHagar/openapi-types.git
synced 2025-12-06 04:20:29 +00:00
89 lines
2.7 KiB
TypeScript
89 lines
2.7 KiB
TypeScript
import type { Specification } from "../../3.0";
|
|
|
|
export const callbackExample: Specification = {
|
|
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\nby the source server\n",
|
|
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\nif the data was received successfully\n",
|
|
},
|
|
"204": {
|
|
description:
|
|
"Your server should return this HTTP status code if no longer interested\nin further updates\n",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
};
|