From c557062d2a283a19ebd439c68f38acf4adcbbf7b Mon Sep 17 00:00:00 2001 From: Ricardo Gomez_Ulmke Date: Mon, 13 Mar 2023 17:29:28 +0100 Subject: [PATCH 1/2] bump version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1e3970fa1..1be3f5995 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@solace-labs/solace-tools-typescript", - "version": "2.9.6", + "version": "2.9.7", "private": true, "workspaces": [ "packages/*" From 7022ec4807ff426110e10afbadab4398e243431e Mon Sep 17 00:00:00 2001 From: Ricardo Gomez_Ulmke Date: Mon, 13 Mar 2023 17:33:40 +0100 Subject: [PATCH 2/2] update apim api to ea14 --- .changeset/clean-zoos-lay.md | 5 + packages/ep-apim-openapi-node/README.md | 2 +- .../ep-apim-openapi-spec.2.0.0-ea.14.json | 6207 +++++++++++++++++ .../openapi-spec/openapi-spec.json | 2 +- packages/ep-apim-openapi-node/package.json | 2 +- .../ep-apim-openapi-node/typedoc.README.md | 2 +- 6 files changed, 6216 insertions(+), 4 deletions(-) create mode 100644 .changeset/clean-zoos-lay.md create mode 100644 packages/ep-apim-openapi-node/openapi-spec/ep-apim-openapi-spec.2.0.0-ea.14.json diff --git a/.changeset/clean-zoos-lay.md b/.changeset/clean-zoos-lay.md new file mode 100644 index 000000000..8906fc0e7 --- /dev/null +++ b/.changeset/clean-zoos-lay.md @@ -0,0 +1,5 @@ +--- +"@solace-labs/ep-apim-openapi-node": minor +--- + +update to ea.14 spec diff --git a/packages/ep-apim-openapi-node/README.md b/packages/ep-apim-openapi-node/README.md index 11619bbb9..282309104 100644 --- a/packages/ep-apim-openapi-node/README.md +++ b/packages/ep-apim-openapi-node/README.md @@ -6,7 +6,7 @@ Generated Typescript APIM Open API Client for [Solace Event Portal](https://sola --- -**Event Portal APIM OpenAPI Version: 2.0.0-ea.13** +**Event Portal APIM OpenAPI Version: 2.0.0-ea.14** --- diff --git a/packages/ep-apim-openapi-node/openapi-spec/ep-apim-openapi-spec.2.0.0-ea.14.json b/packages/ep-apim-openapi-node/openapi-spec/ep-apim-openapi-spec.2.0.0-ea.14.json new file mode 100644 index 000000000..218c64d26 --- /dev/null +++ b/packages/ep-apim-openapi-node/openapi-spec/ep-apim-openapi-spec.2.0.0-ea.14.json @@ -0,0 +1,6207 @@ +{ + "openapi": "3.0.0", + "info": { + "title": "API Management / Dev Portal API", + "description": "This OpenAPI specification describes the contract for the API Management / Dev Portal API. Please note - at this time the specification is in an elaboration/design phase and there is currently no API Implementation available.\n\n### Changelog 2.0.0-ea.14\n* Added `filters` to App Registration and a sub resource to manage inidividual filters.\n* Cosmetic changes in descriptions\n\n### Changelog 2.0.0-ea.13\n* Made `eventApiProductVersion` in the `EventApiProductRegistration` required to indicate this value will always be included in responses from the API\n* Made `name` attribute on `EventApiVersion` mandatory, `displayName` is now optional.\n* Added `apiParameters` to the `EventAPIProduct` schema listing all channel parameters and when applicable enumerations associated with the parameter.\n\n### Changelog 2.0.0-ea.12\n* Changed name of RSQL query parameter to from `query` to `where`\n* Increased maxLength of `CommonId` and `CommonExternalId` to accommodate uuids and other longer identifiers\n* Removed `registrationId` from `EventApiProductRegistrationCreate` as it's already contained in the resource URL\n* Aligned the `MessagingServiceProtocol` with Async APi protocols\n* Fixed the credentials resources schemas to indicate in responses which properties will be present/required (secret is required, consumerSecret is also required ) \n* Renamed `WebHook` to `Webhook` in schema names and operaiton ids and `webHook` to `webhook` in urls.\n\n### Changelog 2.0.0-ea.11\n* Removed `nullable: true` in schemas - most references were optional so clients needed to check both for presence and null value. API Implementations shouyld not emit null values for optional properties\n* Aligned the `MessageProtocol` enumeration with Async API protocols\n* Fixed `AttributeValue` restrictions (max lenght 10K characters) and the schema description\n\n### Changelog 2.0.0-ea.10\n* Removed all schema composition elements such as allOf/anyOf where possible. Usage of these constructs - especially combined with `additionalProperties: false` - led to problems wiht code generation (Go) and request/response validation (with ajv)\n* Apart from the `WebHook` schemas `authentication` property the resulting schemas are equivalent to the previous version.\n\n### Changelog 2.0.0-ea.9\n* Added lifecycle state to `EventApiProductSummary`\n* Added `gatewayMessagingService` to `AppRegistrationView`. This property contains a list of all gateways available to an `ApplicationRegistration` and all the publish/subscribe permissions granted on each service\n\n### Changelog 2.0.0-ea.8\n* Introduced a `MessagingProtocol` enumeration referenced by both `EventAPIProduct` and `MessagingService`\n* Made arrays mandatory such as `attributes` and `customAttributes`, the API returns empty arrays as default if no elements are present.\n* Added explanation on how to use custom `=regex=` operator in RSQL/FIQL queries, the previously used operator (`=~`) is not compliant.\n\n### Changelog 2.0.0-ea.7\n* Renamed `MessageServiceResponse` and `MessagingServciesResponse` to `GatewayResponse` and `GatewaysResponse` respectively\n* Fixed `MessagingService` schema to replace `messagingServiceType` with `brokerType` for consistency with `EventApiProduct` schema.\n* For the `query` parameter - set allowReserved: true to accommodate clients that do not URL encode reserved characters (* etc)\n* Renamed parameter `gatewayMessagingServiceId` to `messagingServiceId` in resource `GET gateways/{messagingServiceId}` for consistency with `EventAPIProduct` schema\n\n### Changelog 2.0.0-ea.6\n* Aligned operatonId and schmea names with `/eventApiProducts/{eventApiProductId}/history` resource eliminating use of `Version` in schemas and using `History` where appropriate\n* Added missing 422 response to `/eventApiProducts/{eventApiProductId}/attributes`\n* Fixed response type of `/appRegistrations/{registrationId}/webhooks` and `/appRegistrations/{registrationId}/webhooks/{webhookId}`\n* Removed required attributes of `SolaceClassOfServicePolicy` schema to support `Direct` mode policies\n* Made several schema properties `nullable` in-line with EP 2.0 API's schemas\n* Added documentation to `Pagination` schema\n\n### Changelog 2.0.0-ea.5\n* Removed customAttributes from /appRegistration and /appRegistration/{registrationId} resources' payloads\n* Removed customAttributes and attributes from /appRegistration/{registrationId}/accessRequests and /appRegistration/{registrationId}/accessRequestsresources/{accessRequestId}' payloads\n* Added eventApis resource to accessRequests /appRegistration/{registrationId}/accessRequestsresources/{accessRequestId}/eventApis' \n* Added client information element (queue informaiton for presistent messaging) to reponse of access requests\n* Webhook schema changes: added `appendTopic` property, changed the `nevironments` property to `gatewayMessagingServiceIds`\n* Added descriptions and summaries to all resources\n* Removed `versioned attributes` as there are currently no use cases known\n", + "version": "2.0.0-ea.14", + "license": { + "name": "MIT", + "url": "https://github.com/solace-iot-team/platform-api/blob/main/LICENSE" + } + }, + "servers": [ + { + "url": "/api/v2/apim" + } + ], + "security": [ + { + "OpenId": [] + }, + { + "BearerAuth": [] + } + ], + "tags": [ + { + "name": "Event API Products", + "description": "Manage APIs and API Products" + }, + { + "name": "Registrations", + "description": "Manage Developer Portal application access requests to Event API Products" + }, + { + "name": "Gateways", + "description": "Gateway Messaging Services" + }, + { + "name": "Candidates", + "description": "Candidate resources and operations for review - e.e. API Management may want to create and manage API Product Plans" + } + ], + "paths": { + "/eventApiProducts": { + "get": { + "summary": "Coming Soon - Returns a list of published Event API Products", + "description": "Returns a list of published Event API Products.\nInitially published Event API Products are in state `RELEASED`, they may subsequently progress through `DEPRECATED`, `RETIRED` to `DELETED`.\n\nThis resource allows filtering of results by query using RSQL.\n\nAll fields of the `EventApiProduct` schema are queryable.\n", + "operationId": "listEventApiProducts", + "tags": ["Event API Products"], + "parameters": [ + { + "$ref": "#/components/parameters/where" + }, + { + "$ref": "#/components/parameters/pageSize" + }, + { + "$ref": "#/components/parameters/pageNumber" + }, + { + "$ref": "#/components/parameters/sortFieldName" + }, + { + "$ref": "#/components/parameters/sortDirection" + } + ], + "responses": { + "200": { + "description": "list of event api products", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApiProductsResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "list of event api products", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApiProductsResponse" + } + } + } + } + } + }, + "post": { + "summary": "Coming Soon - Creates an Event API Product", + "description": "Creates an Event API Product", + "operationId": "createEventAPIProduct", + "tags": ["Candidates"], + "requestBody": { + "description": "String", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApiProduct" + } + } + } + }, + "responses": { + "201": { + "description": "New Event API Product", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApiProductResponse" + } + } + } + }, + "400": { + "description": "Bad request. Likely an invalid auth token provided.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "409": { + "$ref": "#/components/responses/Conflict" + }, + "415": { + "$ref": "#/components/responses/UnsupportedMediaType" + }, + "422": { + "description": "Duplicate organization", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "New Event API Product", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApiProductResponse" + } + } + } + } + } + } + }, + "/eventApiProducts/{eventApiProductId}": { + "parameters": [ + { + "$ref": "#/components/parameters/eventApiProductId" + } + ], + "get": { + "summary": "Coming Soon - Returns the requested Event API Product", + "description": "Returns the requested, published Event API Product", + "operationId": "getEventAPIProduct", + "tags": ["Event API Products"], + "responses": { + "200": { + "description": "the Event API Product", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApiProductResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "the Event API Product", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApiProductResponse" + } + } + } + } + } + }, + "patch": { + "summary": "Coming Soon - Updates an Event API Product", + "description": "Updates an Event API Product and returns the updated object", + "operationId": "updateEventApiProduct", + "tags": ["Candidates"], + "requestBody": { + "description": "String", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApiProduct" + } + } + } + }, + "responses": { + "200": { + "description": "Updated Event API Product", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApiProductResponse" + } + } + } + }, + "400": { + "description": "Bad request. ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "412": { + "$ref": "#/components/responses/PreconditionFailed" + }, + "415": { + "$ref": "#/components/responses/UnsupportedMediaType" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "Updated Event API Product", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApiProductResponse" + } + } + } + } + } + }, + "delete": { + "summary": "Coming Soon - Deletes an Event API Product", + "description": "Deletes an Event API Product", + "operationId": "deleteEventApiProduct", + "tags": ["Candidates"], + "responses": { + "204": { + "description": "No content" + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + } + } + } + }, + "/eventApiProducts/{eventApiProductId}/apis": { + "parameters": [ + { + "$ref": "#/components/parameters/eventApiProductId" + } + ], + "get": { + "summary": "Coming Soon - Returns a list of Event APIs", + "description": "Returns a list of all Event APIs associated with the Event API Product. If Async APi documents are returned (specified by the inlineAPIs parameter) the API documents include protocol specific bindings conforming to the policy specified in the Event API Product's plan.\n", + "operationId": "getEventAPIProductAsyncApis", + "tags": ["Candidates"], + "parameters": [ + { + "$ref": "#/components/parameters/pageSize" + }, + { + "$ref": "#/components/parameters/pageNumber" + }, + { + "$ref": "#/components/parameters/sortFieldName" + }, + { + "$ref": "#/components/parameters/sortDirection" + }, + { + "name": "inlineAPIs", + "in": "query", + "description": "If set to `true` the returned document contains the AsyncAPI document (JSON format) for each API", + "schema": { + "type": "boolean" + } + }, + { + "$ref": "#/components/parameters/apiFormat" + }, + { + "$ref": "#/components/parameters/asyncApiVersion" + } + ], + "responses": { + "200": { + "description": "the Event API Product's APIs", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventAPIProductsEventApisResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "the Event API Product revisions", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventAPIProductsEventApisResponse" + } + } + } + } + } + } + }, + "/eventApiProducts/{eventApiProductId}/apis/{eventApiId}": { + "parameters": [ + { + "$ref": "#/components/parameters/eventApiId" + }, + { + "$ref": "#/components/parameters/eventApiProductId" + }, + { + "$ref": "#/components/parameters/apiFormat" + }, + { + "$ref": "#/components/parameters/asyncApiVersion" + } + ], + "get": { + "summary": "Coming Soon - Returns the Async API Specification of the API associated with the Event API Product", + "description": "Returns the Async API Specification of the API associated with the Event API Product. The generated API document includes protocol specific bindings conforming to the policy specified in the Event API Product's plan.", + "operationId": "getEventAPIProductAsyncApi", + "tags": ["Candidates"], + "responses": { + "200": { + "description": "Async API Definition of the Plan's API, if ZIP format is requested the contents are in JSON format.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/String2MB" + } + }, + "text/plain": { + "schema": { + "$ref": "#/components/schemas/String2MB" + } + }, + "application/zip": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "Async API Definition of the Plan's API", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/String2MB" + } + }, + "text/plain": { + "schema": { + "$ref": "#/components/schemas/String2MB" + } + } + } + } + } + } + }, + "/eventApiProducts/{eventApiProductId}/history": { + "parameters": [ + { + "$ref": "#/components/parameters/eventApiProductId" + } + ], + "get": { + "summary": "Coming Soon - Returns a list of versions of an Event API Product.", + "description": "Returns a list of previously and currently published versions of an Event API Product.\n\nVersion can be in state `RELEASED`, `DEPRECATED`, `RETIRED` or `DELETED`.\n", + "operationId": "getEventAPIProductHistory", + "tags": ["Event API Products"], + "parameters": [ + { + "$ref": "#/components/parameters/pageSize" + }, + { + "$ref": "#/components/parameters/pageNumber" + }, + { + "$ref": "#/components/parameters/sortFieldName" + }, + { + "$ref": "#/components/parameters/sortDirection" + } + ], + "responses": { + "200": { + "description": "the Event API Product revisions", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApiProductHistoryResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "the Event API Product revisions", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApiProductHistoryResponse" + } + } + } + } + } + } + }, + "/eventApiProducts/{eventApiProductId}/history/{version}": { + "parameters": [ + { + "$ref": "#/components/parameters/version" + }, + { + "$ref": "#/components/parameters/eventApiProductId" + } + ], + "get": { + "summary": "Coming Soon - Returns the version of an Event API Product", + "description": "Returns the version of an Event API Product matching the version number supplied in the version parameter", + "operationId": "getEventAPIProductRevision", + "tags": ["Event API Products"], + "responses": { + "200": { + "description": "the Event API Product revisions", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApiProductResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "the Event API Product revisions", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApiProductResponse" + } + } + } + } + } + } + }, + "/eventApiProducts/{eventApiProductId}/attributes": { + "parameters": [ + { + "$ref": "#/components/parameters/eventApiProductId" + } + ], + "get": { + "summary": "Coming Soon - Returns attributes of the Event API Product", + "description": "Returns attributes of theEvent API Product. Attributes are preserved when the Event API Product is updated to a newer revision and can be used for integrations to store any information required to manage status or state.", + "operationId": "getEventAPIProductAttributes", + "tags": ["Event API Products"], + "parameters": [ + { + "$ref": "#/components/parameters/pageSize" + }, + { + "$ref": "#/components/parameters/pageNumber" + }, + { + "$ref": "#/components/parameters/sortFieldName" + }, + { + "$ref": "#/components/parameters/sortDirection" + } + ], + "responses": { + "200": { + "description": "the Event API Product Attributes", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttributesResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "the Event API Product Attributes", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttributesResponse" + } + } + } + } + } + }, + "post": { + "summary": "Coming Soon - Adds an attribute to the Event API Product", + "description": "Adds an attribute to the Event API Product. Attributes are preserved when the Event API Product is updated to a newer revision and can be used for integrations to store any information required to manage status or state.", + "operationId": "createEventApiProductAttribute", + "tags": ["Event API Products"], + "requestBody": { + "description": "New Event API Product Attribute", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Attribute" + } + } + } + }, + "responses": { + "200": { + "description": "Created Event API Product Attribute", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttributeResponse" + } + } + } + }, + "400": { + "description": "Bad request. ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "412": { + "$ref": "#/components/responses/PreconditionFailed" + }, + "415": { + "$ref": "#/components/responses/UnsupportedMediaType" + }, + "422": { + "description": "Duplicate attribute", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "Created Event API Product Attribute", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttributeResponse" + } + } + } + } + } + } + }, + "/eventApiProducts/{eventApiProductId}/attributes/{attributeName}": { + "parameters": [ + { + "$ref": "#/components/parameters/attributeName" + }, + { + "$ref": "#/components/parameters/eventApiProductId" + } + ], + "get": { + "summary": "Coming Soon - Returns the requested attribute of the Event API Product", + "description": "Returns the requested attribute of the Event API Product. Attributes are preserved when the Event API Product is updated to a newer revision and can be used for integrations to store any information required to manage status or state.", + "operationId": "getEventAPIProductAttribute", + "tags": ["Event API Products"], + "responses": { + "200": { + "description": "the Event API Product Attribute", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttributeResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "the Event API Product Attribute", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttributeResponse" + } + } + } + } + } + }, + "patch": { + "summary": "Coming Soon - Updates the specified attribute's value", + "description": "Updates the specified attribute's value. Attributes are preserved when the Event API Product is updated to a newer revision and can be used for integrations to store any information required to manage status or state.", + "operationId": "updateEventApiProductAttribute", + "tags": ["Event API Products"], + "requestBody": { + "description": "Patch for Event API Product Attribute", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttributeUpdateRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Updated Event API Product Attribute", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttributeResponse" + } + } + } + }, + "400": { + "description": "Bad request. ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "412": { + "$ref": "#/components/responses/PreconditionFailed" + }, + "415": { + "$ref": "#/components/responses/UnsupportedMediaType" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "Updated Event API Product Attribute", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttributeResponse" + } + } + } + } + } + }, + "delete": { + "summary": "Coming Soon - Deletes the specified attribute from the Event API Product", + "description": "Deletes the specified attribute from the Event API Product. Attributes are preserved when the Event API Product is updated to a newer revision and can be used for integrations to store any information required to manage status or state.", + "operationId": "deleteEventApiProductAttribute", + "tags": ["Event API Products"], + "responses": { + "204": { + "description": "No content" + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + } + } + } + }, + "/eventApiProducts/{eventApiProductId}/plans": { + "parameters": [ + { + "$ref": "#/components/parameters/eventApiProductId" + } + ], + "get": { + "summary": "Coming Soon - Returns a list of plans of the Event API Product", + "description": "Returns a list of plans of the Event API Product", + "operationId": "getEventAPIProductPlans", + "tags": ["Event API Products"], + "parameters": [ + { + "$ref": "#/components/parameters/pageSize" + }, + { + "$ref": "#/components/parameters/pageNumber" + }, + { + "$ref": "#/components/parameters/sortFieldName" + }, + { + "$ref": "#/components/parameters/sortDirection" + } + ], + "responses": { + "200": { + "description": "the Event API Product Plans", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlansResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "the Event API Product Plans", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlansResponse" + } + } + } + } + } + }, + "post": { + "summary": "Coming Soon - Adds a plan to the Event API Product", + "description": "Adds a plan to the Event API Product", + "operationId": "createEventApiProductPlan", + "tags": ["Candidates"], + "requestBody": { + "description": "New Event API Product Plan", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Plan" + } + } + } + }, + "responses": { + "200": { + "description": "Created Event API Product Plan", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlanResponse" + } + } + } + }, + "400": { + "description": "Bad request. ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "412": { + "$ref": "#/components/responses/PreconditionFailed" + }, + "415": { + "$ref": "#/components/responses/UnsupportedMediaType" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "Created Event API Product Plan", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlanResponse" + } + } + } + } + } + } + }, + "/eventApiProducts/{eventApiProductId}/plans/{planId}": { + "parameters": [ + { + "$ref": "#/components/parameters/planId" + }, + { + "$ref": "#/components/parameters/eventApiProductId" + } + ], + "get": { + "summary": "Coming Soon - Returns the requested plan of the Event API Product", + "description": "Returns the requested plan of the Event API Product", + "operationId": "getEventAPIProductPlan", + "tags": ["Event API Products"], + "responses": { + "200": { + "description": "the Event API Product Plan", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlanResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "the Event API Product Plan", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlanResponse" + } + } + } + } + } + }, + "patch": { + "summary": "Coming Soon - Updates the specified plan of the Event API Product", + "description": "Updates the specified plan of the Event API Product", + "operationId": "updateEventApiProductPlan", + "tags": ["Candidates"], + "requestBody": { + "description": "Patch to the Event API Product Plan", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Plan" + } + } + } + }, + "responses": { + "200": { + "description": "Updated Event API Product PLan", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlanResponse" + } + } + } + }, + "400": { + "description": "Bad request. ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "412": { + "$ref": "#/components/responses/PreconditionFailed" + }, + "415": { + "$ref": "#/components/responses/UnsupportedMediaType" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "Updated Event API Product PLan", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlanResponse" + } + } + } + } + } + }, + "delete": { + "summary": "Coming Soon - Deletes the requested plan from the Event API Product", + "description": "Deletes the requested plan from the Event API Product", + "operationId": "deleteEventApiProductPlan", + "tags": ["Candidates"], + "responses": { + "204": { + "description": "No content" + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + } + } + } + }, + "/eventApiProducts/{eventApiProductId}/plans/{planId}/eventApis": { + "parameters": [ + { + "$ref": "#/components/parameters/planId" + }, + { + "$ref": "#/components/parameters/eventApiProductId" + } + ], + "get": { + "summary": "Coming Soon - Returns a list of the APIs associated with the Event API Product and Plan", + "description": "Returns a list of the APIs associated with the Event API Product and Plan", + "operationId": "getEventAPIProductPlanApis", + "tags": ["Event API Products"], + "responses": { + "200": { + "description": "list of the Event API Product Plan APIs", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApisResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "list of the Event API Product Plan APIs", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApisResponse" + } + } + } + } + } + } + }, + "/eventApiProducts/{eventApiProductId}/plans/{planId}/eventApis/{eventApiId}": { + "parameters": [ + { + "$ref": "#/components/parameters/eventApiId" + }, + { + "$ref": "#/components/parameters/eventApiProductId" + }, + { + "$ref": "#/components/parameters/planId" + }, + { + "$ref": "#/components/parameters/apiFormat" + }, + { + "$ref": "#/components/parameters/asyncApiVersion" + } + ], + "get": { + "summary": "Coming Soon - Returns the Async APi specification associated with the Event API Product and Plan", + "description": "Returns the Async APi specification associated with the Event API Product and Plan. The generated API document includes protocol specific bindings conforming to the policy specified in the Event API Product's plan.", + "operationId": "getEventAPIProductPlanApi", + "tags": ["Event API Products"], + "responses": { + "200": { + "description": "Async API Definition of the Plan's API, if ZIP format is requested the contents are in JSON format.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + }, + "text/plain": { + "schema": { + "$ref": "#/components/schemas/String2MB" + } + }, + "application/zip": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "Async API Definition of the Plan's API", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/String2MB" + } + }, + "text/plain": { + "schema": { + "$ref": "#/components/schemas/String2MB" + } + } + } + } + } + } + }, + "/appRegistrations": { + "get": { + "summary": "Coming Soon - Returns a list of Application Registrations", + "description": "Returns a list of Application Registrations.\n\nThis resource allows filtering of results by query using RSQL.\n\nAll fields of the `AppRegistrationView` schema are queryable.\n", + "operationId": "listAppRegistrations", + "tags": ["Registrations"], + "parameters": [ + { + "$ref": "#/components/parameters/where" + }, + { + "$ref": "#/components/parameters/pageSize" + }, + { + "$ref": "#/components/parameters/pageNumber" + }, + { + "$ref": "#/components/parameters/sortFieldName" + }, + { + "$ref": "#/components/parameters/sortDirection" + } + ], + "responses": { + "200": { + "description": "list of app registrations", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplicationRegistrationsResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "list of app registrations", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplicationRegistrationsResponse" + } + } + } + } + } + }, + "post": { + "summary": "Coming Soon - Creates a new App Registration", + "description": "Creates a new App Registration - the `registrationId` must be the unique identifier of the application in the external system.", + "operationId": "createAppRegistration", + "tags": ["Registrations"], + "requestBody": { + "description": "New app registration", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplicationRegistration" + } + } + } + }, + "responses": { + "201": { + "description": "Created app registration", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplicationRegistrationResponse" + } + } + } + }, + "400": { + "description": "Bad request. Likely an invalid auth token provided.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "409": { + "$ref": "#/components/responses/Conflict" + }, + "415": { + "$ref": "#/components/responses/UnsupportedMediaType" + }, + "422": { + "description": "Duplicate organization", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "Created app registration", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplicationRegistrationResponse" + } + } + } + } + } + } + }, + "/appRegistrations/{registrationId}": { + "parameters": [ + { + "$ref": "#/components/parameters/registrationId" + } + ], + "get": { + "summary": "Coming Soon - Returns the requested App Registration", + "description": "Returns the requested App Registration", + "operationId": "getAppRegistration", + "tags": ["Registrations"], + "responses": { + "200": { + "description": "the app registration", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplicationRegistrationResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "the app registration", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplicationRegistrationResponse" + } + } + } + } + } + }, + "patch": { + "summary": "Coming Soon - Updates the specified App Registration", + "description": "Updates the specified App Registration and returns the updated document", + "operationId": "updateAppRegistration", + "tags": ["Registrations"], + "requestBody": { + "description": "Patch to App Registration", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplicationRegistrationUpdate" + } + } + } + }, + "responses": { + "200": { + "description": "Updated App Registration", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplicationRegistrationResponse" + } + } + } + }, + "400": { + "description": "Bad request. ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "412": { + "$ref": "#/components/responses/PreconditionFailed" + }, + "415": { + "$ref": "#/components/responses/UnsupportedMediaType" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "Updated App Registration", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplicationRegistrationResponse" + } + } + } + } + } + }, + "delete": { + "summary": "Coming Soon - Deletes the specified App Registration", + "description": "Deletes the specified App Registration", + "operationId": "deleteAppRegistration", + "tags": ["Registrations"], + "responses": { + "204": { + "description": "No content" + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + } + } + } + }, + "/appRegistrations/{registrationId}/eventApis": { + "parameters": [ + { + "$ref": "#/components/parameters/registrationId" + } + ], + "get": { + "summary": "Coming Soon - Returns a list of all Event APIs associated with the App Registration", + "description": "Returns a list of all Event APIs associated with the App Registration", + "operationId": "getAppRegistrationApis", + "tags": ["Registrations"], + "parameters": [ + { + "$ref": "#/components/parameters/pageSize" + }, + { + "$ref": "#/components/parameters/pageNumber" + }, + { + "$ref": "#/components/parameters/sortFieldName" + }, + { + "$ref": "#/components/parameters/sortDirection" + } + ], + "responses": { + "200": { + "description": "list of apis the app has access to", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApisResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "list of apis the app has access to", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApisResponse" + } + } + } + } + } + } + }, + "/appRegistrations/{registrationId}/eventApis/{eventApiId}": { + "parameters": [ + { + "$ref": "#/components/parameters/eventApiId" + }, + { + "$ref": "#/components/parameters/registrationId" + }, + { + "$ref": "#/components/parameters/apiFormat" + }, + { + "$ref": "#/components/parameters/asyncApiVersion" + } + ], + "get": { + "summary": "Coming Soon - Returns the Async API specification associated with the App Registration.", + "description": "Returns the Async API specification associated with the App Registration. \nThe generated API document includes protocol specific bindings conforming to the policy specified in the Event API Product plan that the API is included in.\n", + "operationId": "getAppRegistrationApi", + "tags": ["Registrations"], + "responses": { + "200": { + "description": "the async api specification tailored to the current app", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/String2MB" + } + }, + "text/plain": { + "schema": { + "$ref": "#/components/schemas/String2MB" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "the async api specification tailored to the current app", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/String2MB" + } + }, + "text/plain": { + "schema": { + "$ref": "#/components/schemas/String2MB" + } + } + } + } + } + } + }, + "/appRegistrations/{registrationId}/attributes": { + "parameters": [ + { + "$ref": "#/components/parameters/registrationId" + } + ], + "get": { + "summary": "Coming Soon - Returns attributes of the App Registration", + "description": "Returns attributes of the App Registration. \nAttributes can be used for integrations to store any information required to manage status or state.\n", + "operationId": "getAppRegistrationAttributes", + "parameters": [ + { + "$ref": "#/components/parameters/pageSize" + }, + { + "$ref": "#/components/parameters/pageNumber" + }, + { + "$ref": "#/components/parameters/sortFieldName" + }, + { + "$ref": "#/components/parameters/sortDirection" + } + ], + "tags": ["Registrations"], + "responses": { + "200": { + "description": "the AppRegistration Attributes", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttributesResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "the AppRegistration Attributes", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttributesResponse" + } + } + } + } + } + }, + "post": { + "summary": "Coming Soon - Adds an attribute to the App Registration", + "description": "Adds an attribute to the App Registration. Attributes can be used for integrations to store any information required to manage status or state.", + "operationId": "createAppRegistrationAttribute", + "tags": ["Registrations"], + "requestBody": { + "description": "New App Registration Attribute", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Attribute" + } + } + } + }, + "responses": { + "200": { + "description": "Created AppRegistration", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttributeResponse" + } + } + } + }, + "400": { + "description": "Bad request. ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "412": { + "$ref": "#/components/responses/PreconditionFailed" + }, + "415": { + "$ref": "#/components/responses/UnsupportedMediaType" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "Created AppRegistration", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttributeResponse" + } + } + } + } + } + } + }, + "/appRegistrations/{registrationId}/attributes/{attributeName}": { + "parameters": [ + { + "$ref": "#/components/parameters/registrationId" + }, + { + "$ref": "#/components/parameters/attributeName" + } + ], + "get": { + "summary": "Coming Soon - Returns the requested attribute of the App Registration", + "description": "Returns the requested attribute of the App Registration", + "operationId": "getAppRegistrationAttribute", + "tags": ["Registrations"], + "responses": { + "200": { + "description": "the App Registration Attribute", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttributeResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "the App Registration Attribute", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttributeResponse" + } + } + } + } + } + }, + "patch": { + "summary": "Coming Soon - Updates the specified attribute's value", + "description": "Updates the specified attribute's value.", + "operationId": "updateAppRegistrationAttribute", + "tags": ["Registrations"], + "requestBody": { + "description": "Patch to App Registration Attribute", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttributeUpdateRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Updated App Registration Attribute", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttributeResponse" + } + } + } + }, + "400": { + "description": "Bad request. ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "412": { + "$ref": "#/components/responses/PreconditionFailed" + }, + "415": { + "$ref": "#/components/responses/UnsupportedMediaType" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "Updated App Registration Attribute", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttributeResponse" + } + } + } + } + } + }, + "delete": { + "summary": "Coming Soon - Deletes the specified attribute from the App Registration", + "description": "Deletes the specified attribute from the App Registration", + "operationId": "deleteAppRegistrationAttribute", + "tags": ["Registrations"], + "responses": { + "204": { + "description": "No content" + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + } + } + } + }, + "/appRegistrations/{registrationId}/filters": { + "parameters": [ + { + "$ref": "#/components/parameters/registrationId" + } + ], + "get": { + "summary": "Coming Soon - Returns filters of the App Registration", + "description": "Returns filters of the App Registration. \n", + "operationId": "getAppRegistrationFilters", + "parameters": [ + { + "$ref": "#/components/parameters/pageSize" + }, + { + "$ref": "#/components/parameters/pageNumber" + }, + { + "$ref": "#/components/parameters/sortFieldName" + }, + { + "$ref": "#/components/parameters/sortDirection" + } + ], + "tags": ["Registrations"], + "responses": { + "200": { + "description": "the AppRegistration Filters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FiltersResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "the AppRegistration Attributes", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FiltersResponse" + } + } + } + } + } + }, + "post": { + "summary": "Coming Soon - Adds a topic filter to the App Registration", + "description": "Adds a topic filter to the App Registration.", + "operationId": "createAppRegistrationFilter", + "tags": ["Registrations"], + "requestBody": { + "description": "New App Registration Filter", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TopicFilter" + } + } + } + }, + "responses": { + "200": { + "description": "Created AppRegistration Filter", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FilterResponse" + } + } + } + }, + "400": { + "description": "Bad request. ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "412": { + "$ref": "#/components/responses/PreconditionFailed" + }, + "415": { + "$ref": "#/components/responses/UnsupportedMediaType" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "Created AppRegistration Filter", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FilterResponse" + } + } + } + } + } + } + }, + "/appRegistrations/{registrationId}/filters/{filterName}": { + "parameters": [ + { + "$ref": "#/components/parameters/registrationId" + }, + { + "$ref": "#/components/parameters/filterName" + } + ], + "get": { + "summary": "Coming Soon - Returns the requested filter of the App Registration", + "description": "Returns the requested filter of the App Registration", + "operationId": "getAppRegistrationFilter", + "tags": ["Registrations"], + "responses": { + "200": { + "description": "the App Registration Filter", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FilterResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "the App Registration Attribute", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FilterResponse" + } + } + } + } + } + }, + "patch": { + "summary": "Coming Soon - Updates the specified filter's value", + "description": "Updates the specified filter's value.", + "operationId": "updateAppRegistrationFilter", + "tags": ["Registrations"], + "requestBody": { + "description": "Patch to App Registration Filter", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FilterUpdateRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Updated App Registration Filter", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FilterResponse" + } + } + } + }, + "400": { + "description": "Bad request. ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "412": { + "$ref": "#/components/responses/PreconditionFailed" + }, + "415": { + "$ref": "#/components/responses/UnsupportedMediaType" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "Updated App Registration Filter", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FilterResponse" + } + } + } + } + } + }, + "delete": { + "summary": "Coming Soon - Deletes the specified filter from the App Registration", + "description": "Deletes the specified filter from the App Registration", + "operationId": "deleteAppRegistrationFilter", + "tags": ["Registrations"], + "responses": { + "204": { + "description": "No content" + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + } + } + } + }, + "/appRegistrations/{registrationId}/credentials": { + "parameters": [ + { + "$ref": "#/components/parameters/registrationId" + } + ], + "get": { + "summary": "Coming Soon - Returns a list of all Credentials issued for the App Registration", + "description": "Returns a list of all Credentials issued for the App Registration", + "operationId": "getAppRegistrationCredentials", + "tags": ["Registrations"], + "parameters": [ + { + "$ref": "#/components/parameters/pageSize" + }, + { + "$ref": "#/components/parameters/pageNumber" + }, + { + "$ref": "#/components/parameters/sortFieldName" + }, + { + "$ref": "#/components/parameters/sortDirection" + } + ], + "responses": { + "200": { + "description": "the AppRegistration Credentials", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CredentialsArrayResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "the AppRegistration Credentials", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CredentialsArrayResponse" + } + } + } + } + } + }, + "post": { + "summary": "Coming Soon - Requests new credentials for the App Registration", + "description": "Requests new credentials for the App Registration.\n\nIf the request does not include a `clientSecret` it is generated automatically and included in the response.\nIf the request does not include a `name` the name is set to the `consumerKey` provided in the request.\n", + "operationId": "createAppRegistrationCredentials", + "tags": ["Registrations"], + "requestBody": { + "description": "New App Registration Attribute", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CredentialsRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Created AppRegistration Credentials", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CredentialsResponse" + } + } + } + }, + "400": { + "description": "Bad request. ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "412": { + "$ref": "#/components/responses/PreconditionFailed" + }, + "415": { + "$ref": "#/components/responses/UnsupportedMediaType" + }, + "422": { + "description": "Duplicate credentials", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "Created AppRegistration Credentials", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CredentialsResponse" + } + } + } + } + } + } + }, + "/appRegistrations/{registrationId}/credentials/{consumerKey}": { + "parameters": [ + { + "$ref": "#/components/parameters/consumerKey" + }, + { + "$ref": "#/components/parameters/registrationId" + } + ], + "get": { + "summary": "Coming Soon - Returns the Credentials with the specified Consumer Key", + "description": "Returns the Credentials with the specified Consumer Key", + "operationId": "getAppRegistrationCredential", + "tags": ["Registrations"], + "responses": { + "200": { + "description": "App Registration Credentials", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CredentialsResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "App Registration Credentials", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CredentialsResponse" + } + } + } + } + } + }, + "patch": { + "summary": "Coming Soon - Updates the credentials with the specified Consumer Key", + "description": "Updates the credentials with the specified Consumer Key", + "operationId": "updateAppRegistrationCredentials", + "tags": ["Registrations"], + "requestBody": { + "description": "Patch to AppRegistration Credentials", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CredentialsRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Updated AppRegistration Credentials", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CredentialsResponse" + } + } + } + }, + "400": { + "description": "Bad request. ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "412": { + "$ref": "#/components/responses/PreconditionFailed" + }, + "415": { + "$ref": "#/components/responses/UnsupportedMediaType" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "Updated AppRegistration Credentials", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CredentialsResponse" + } + } + } + } + } + }, + "delete": { + "summary": "Coming Soon - Deletes the credentials with the specified Consumer Key from the App Registration", + "description": "Deletes the credentials with the specified Consumer Key from the App Registration", + "operationId": "deleteAppRegistrationCredentials", + "tags": ["Registrations"], + "responses": { + "204": { + "description": "No content" + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + } + } + } + }, + "/appRegistrations/{registrationId}/accessRequests": { + "parameters": [ + { + "$ref": "#/components/parameters/registrationId" + } + ], + "get": { + "summary": "Coming Soon - Returns a list of Access Requests associated with the App Registration", + "operationId": "getAppRegistrationAccessRequests", + "description": "Returns a list of Access Requests associated with the App Registration\nThis resource allows filtering of results by query using RSQL. \n\nAll fields of the `EventApiProductRegistration` schema are queryable.\n", + "tags": ["Registrations"], + "parameters": [ + { + "$ref": "#/components/parameters/where" + }, + { + "$ref": "#/components/parameters/pageSize" + }, + { + "$ref": "#/components/parameters/pageNumber" + }, + { + "$ref": "#/components/parameters/sortFieldName" + }, + { + "$ref": "#/components/parameters/sortDirection" + } + ], + "responses": { + "200": { + "description": "the AppRegistration Access Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApiProductRegistrationsResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "the AppRegistration Access Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApiProductRegistrationsResponse" + } + } + } + } + } + }, + "post": { + "summary": "Coming Soon - Creates a new Access Request.", + "description": "Creates a new Access Request. The initial state of the request is returned in the response. If the Event API Product requires \"manual\" approval the request is in \"pending\" state, if it is \"auto\" the request is in \"approved\" state.", + "operationId": "createAppRegistrationAccessRequest", + "tags": ["Registrations"], + "requestBody": { + "description": "New App Registration Access Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApiProductRegistrationCreate" + } + } + } + }, + "responses": { + "200": { + "description": "Created AccessRequest", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApiProductRegistrationResponse" + } + } + } + }, + "400": { + "description": "Bad request. ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "412": { + "$ref": "#/components/responses/PreconditionFailed" + }, + "415": { + "$ref": "#/components/responses/UnsupportedMediaType" + }, + "422": { + "description": "Duplicate entity. ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "Created AccessRequest", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApiProductRegistrationResponse" + } + } + } + } + } + } + }, + "/appRegistrations/{registrationId}/accessRequests/{accessRequestId}": { + "parameters": [ + { + "$ref": "#/components/parameters/accessRequestId" + }, + { + "$ref": "#/components/parameters/registrationId" + } + ], + "get": { + "summary": "Coming Soon - Returns the requested Access Request associated with the specified App Registration", + "description": "Returns the requested Access Request associated with the specified App Registration", + "operationId": "getAppRegistrationAccessRequest", + "tags": ["Registrations"], + "responses": { + "200": { + "description": "the App Registration AccessRequest", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApiProductRegistrationResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "the App Registration AccessRequest", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApiProductRegistrationResponse" + } + } + } + } + } + }, + "patch": { + "summary": "Coming Soon - Updates the Access Request associated with the Applicati0on Registration", + "description": "Updates the Access Request associated with the Applicati0on Registration", + "operationId": "updateAppRegistrationAccessRequest", + "tags": ["Registrations"], + "requestBody": { + "description": "Patch to AppRegistration AccessRequests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApiProductRegistrationUpdate" + } + } + } + }, + "responses": { + "200": { + "description": "Updated AppRegistration AccessRequests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApiProductRegistrationResponse" + } + } + } + }, + "400": { + "description": "Bad request. ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "412": { + "$ref": "#/components/responses/PreconditionFailed" + }, + "415": { + "$ref": "#/components/responses/UnsupportedMediaType" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "Updated AppRegistration AccessRequests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApiProductRegistrationResponse" + } + } + } + } + } + }, + "delete": { + "summary": "Coming Soon - Deletes the specified Access Request form the App Registration", + "description": "Deletes the specified Access Request form the App Registration", + "operationId": "deleteAppRegistrationAccessRequest", + "tags": ["Registrations"], + "responses": { + "204": { + "description": "No content" + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + } + } + } + }, + "/appRegistrations/{registrationId}/accessRequests/{accessRequestId}/eventApis": { + "parameters": [ + { + "$ref": "#/components/parameters/accessRequestId" + }, + { + "$ref": "#/components/parameters/registrationId" + } + ], + "get": { + "summary": "Coming Soon - Returns a list of all Event APIs associated with the Access Request", + "description": "Returns a list of all Event APIs associated with the Access Request", + "operationId": "getAppRegistrationAccessRequestApis", + "tags": ["Registrations"], + "parameters": [ + { + "$ref": "#/components/parameters/pageSize" + }, + { + "$ref": "#/components/parameters/pageNumber" + }, + { + "$ref": "#/components/parameters/sortFieldName" + }, + { + "$ref": "#/components/parameters/sortDirection" + } + ], + "responses": { + "200": { + "description": "list of apis the app has access to", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventApisResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + } + } + } + }, + "/appRegistrations/{registrationId}/accessRequests/{accessRequestId}/eventApis/{eventApiId}": { + "parameters": [ + { + "$ref": "#/components/parameters/accessRequestId" + }, + { + "$ref": "#/components/parameters/eventApiId" + }, + { + "$ref": "#/components/parameters/registrationId" + }, + { + "$ref": "#/components/parameters/apiFormat" + }, + { + "$ref": "#/components/parameters/asyncApiVersion" + } + ], + "get": { + "summary": "Coming Soon - Returns the Async API specification associated with the Access Request.", + "description": "Returns the Async API specification associated with the App Registration. \nThe generated API document includes protocol specific bindings conforming to the policy specified in the Event API Product plan that the API is included in.\n", + "operationId": "getAppRegistrationAccessRequestApi", + "tags": ["Registrations"], + "responses": { + "200": { + "description": "the async api specification tailored to the current app", + "content": { + "application/json": { + "schema": { + "type": "object" + } + }, + "text/plain": { + "schema": { + "$ref": "#/components/schemas/String2MB" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + } + } + } + }, + "/appRegistrations/{registrationId}/webhooks": { + "parameters": [ + { + "$ref": "#/components/parameters/registrationId" + } + ], + "get": { + "operationId": "listAppRegistrationWebhooks", + "summary": "Coming Soon - Returns a list of webhook registrations", + "description": "Returns a list of webhook registrations", + "parameters": [ + { + "$ref": "#/components/parameters/pageSize" + }, + { + "$ref": "#/components/parameters/pageNumber" + }, + { + "$ref": "#/components/parameters/sortFieldName" + }, + { + "$ref": "#/components/parameters/sortDirection" + } + ], + "tags": ["Registrations"], + "responses": { + "200": { + "description": "list of webhooks", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WebhookIdList" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + } + } + }, + "post": { + "operationId": "createAppRegistrationWebhook", + "summary": "Coming Soon - Creates a new webhook registration on the App Registration", + "description": "Creates a new webhook registration on the App Registration", + "tags": ["Registrations"], + "requestBody": { + "description": "new webhook", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Webhook" + } + } + } + }, + "responses": { + "201": { + "description": "new webhook", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WebhookResponse" + } + } + } + }, + "400": { + "description": "Bad request, contains information about failed back end calls when the app is provisioned", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "412": { + "$ref": "#/components/responses/PreconditionFailed" + }, + "415": { + "$ref": "#/components/responses/UnsupportedMediaType" + }, + "422": { + "description": "Duplicate app or invalid object reference e.g. invalid API product name", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "description": "Internal Server error, contains information about failed back end calls when the app is provisioned", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "new webhook", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WebhookResponse" + } + } + } + } + } + } + }, + "/appRegistrations/{registrationId}/webhooks/{webhookId}": { + "parameters": [ + { + "$ref": "#/components/parameters/registrationId" + }, + { + "$ref": "#/components/parameters/webhookId" + } + ], + "get": { + "operationId": "getAppRegistrationWebhook", + "summary": "Coming Soon - Returns the specified webhook registration from the App Registration", + "description": "Returns the specified webhook registration from the App Registration", + "tags": ["Registrations"], + "responses": { + "200": { + "description": "the webhook", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WebhookResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "the webhook", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WebhookResponse" + } + } + } + } + } + }, + "patch": { + "operationId": "updateAppRegistrationWebhook", + "summary": "Coming Soon - Updates the specified webhook registration on the App Registration", + "description": "Updates the specified webhook registration on the App Registration", + "tags": ["Registrations"], + "requestBody": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Webhook" + } + } + } + }, + "responses": { + "200": { + "description": "webhook", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Webhook" + } + } + } + }, + "400": { + "description": "Bad request, contains information about failed back end calls when the app is provisioned", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "412": { + "$ref": "#/components/responses/PreconditionFailed" + }, + "415": { + "$ref": "#/components/responses/UnsupportedMediaType" + }, + "422": { + "description": "Duplicate app or invalid object reference e.g. invalid API product name", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "description": "Internal Server error, contains information about failed back end calls when the app is provisioned", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "webhook", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Webhook" + } + } + } + } + } + }, + "delete": { + "operationId": "deleteAppRegistrationWebhook", + "summary": "Coming Soon - Deletes the specified webhook registration from the App Registration", + "description": "Deletes the specified webhook registration from the App Registration", + "tags": ["Registrations"], + "responses": { + "204": { + "description": "No content" + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + } + } + } + }, + "/gateways": { + "get": { + "summary": "Coming Soon - Returns a list of all available Gateway Messaging Services", + "description": "Returns a list of Gateway Messaging Services\nThis resource allows filtering of results by query using RSQL.\n\nAll fields of the `MessagingService` schema are queryable.\n", + "operationId": "listGateways", + "tags": ["Gateways"], + "parameters": [ + { + "$ref": "#/components/parameters/where" + }, + { + "$ref": "#/components/parameters/pageSize" + }, + { + "$ref": "#/components/parameters/pageNumber" + }, + { + "$ref": "#/components/parameters/sortFieldName" + }, + { + "$ref": "#/components/parameters/sortDirection" + } + ], + "responses": { + "200": { + "description": "list of gateways", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GatewaysResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "list of gateways", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GatewaysResponse" + } + } + } + } + } + } + }, + "/gateways/{messagingServiceId}": { + "parameters": [ + { + "$ref": "#/components/parameters/messagingServiceId" + } + ], + "get": { + "summary": "Coming Soon - Returns the specified Gateway Messaging Service", + "description": "Returns the specified Gateway Messaging Service", + "operationId": "getGateway", + "tags": ["Gateways"], + "responses": { + "200": { + "description": "a messaging service gateway", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GatewayResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "406": { + "$ref": "#/components/responses/NotAcceptable" + }, + "429": { + "$ref": "#/components/responses/TooManyRequests" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + }, + "503": { + "$ref": "#/components/responses/ServiceUnavailable" + }, + "504": { + "$ref": "#/components/responses/GatewayTimeout" + }, + "default": { + "description": "a messaging service gateway", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GatewayResponse" + } + } + } + } + } + } + } + }, + "components": { + "securitySchemes": { + "BearerAuth": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "JWT" + }, + "OpenId": { + "type": "openIdConnect", + "openIdConnectUrl": "/auth/.well-known/openid-configuration" + } + }, + "parameters": { + "eventApiProductId": { + "name": "eventApiProductId", + "description": "the id of an Event API Product", + "in": "path", + "required": true, + "schema": { + "type": "string", + "pattern": "^[a-zA-Z0-9_-]*$", + "minLength": 4, + "maxLength": 188 + } + }, + "planId": { + "name": "planId", + "description": "the id of a plan within the Event API Product", + "in": "path", + "required": true, + "schema": { + "type": "string", + "pattern": "^[a-zA-Z0-9_-]*$", + "minLength": 4, + "maxLength": 188 + } + }, + "registrationId": { + "name": "registrationId", + "description": "the id of an Application Registration", + "in": "path", + "required": true, + "schema": { + "type": "string", + "pattern": "^[a-zA-Z0-9_-]*$", + "minLength": 4, + "maxLength": 188 + } + }, + "messagingServiceId": { + "name": "messagingServiceId", + "description": "the id of a Gateway Messaging Service", + "in": "path", + "required": true, + "schema": { + "type": "string", + "pattern": "^[a-zA-Z0-9_-]*$", + "minLength": 4, + "maxLength": 188 + } + }, + "version": { + "name": "version", + "description": "the version of the Event API Product", + "in": "path", + "required": true, + "schema": { + "$ref": "#/components/schemas/SemVer" + } + }, + "attributeName": { + "name": "attributeName", + "description": "the name of an attribute", + "in": "path", + "required": true, + "schema": { + "type": "string", + "pattern": "^[a-zA-Z0-9_-]*$", + "minLength": 4, + "maxLength": 188 + } + }, + "filterName": { + "name": "filterName", + "description": "the name of a filter", + "in": "path", + "required": true, + "schema": { + "type": "string", + "pattern": "^[a-zA-Z0-9_-]*$", + "minLength": 4, + "maxLength": 188 + } + }, + "consumerKey": { + "name": "consumerKey", + "description": "the consumerKey issued for the credentials object", + "in": "path", + "required": true, + "schema": { + "type": "string", + "pattern": "^[a-zA-Z0-9_-]*$", + "minLength": 4, + "maxLength": 188 + } + }, + "eventApiId": { + "name": "eventApiId", + "description": "the id of an Event API", + "in": "path", + "required": true, + "schema": { + "type": "string", + "pattern": "^[a-zA-Z0-9_-]*$", + "minLength": 4, + "maxLength": 188 + } + }, + "accessRequestId": { + "name": "accessRequestId", + "description": "the id of an access request for an Event API Product", + "in": "path", + "required": true, + "schema": { + "type": "string", + "pattern": "^[a-zA-Z0-9_-]*$", + "minLength": 4, + "maxLength": 188 + } + }, + "webhookId": { + "name": "webhookId", + "description": "the id of a webhook", + "in": "path", + "required": true, + "schema": { + "type": "string", + "pattern": "^[a-zA-Z0-9_-]*$", + "minLength": 4, + "maxLength": 188 + } + }, + "where": { + "name": "where", + "description": "Query string for filtering entity. Expressed in FIQL/RSQL language. \nThis resource allows filtering of results by query using RSQL.\nExamples: \n* ?where=brokerType==solace;state==RETIRED\n* ?where=attributes.name[color]=elem=red\nNotation:\n* Sub elements can be queried with dot notation, for example `plan.name=~Gold.*` matches all plans where the name starts with Gold. This also applies to querying nested arrays.\n* A custom LIKE/regex operator is supported - `=regex=` which accepts a valid regex as search value, for example `solaceMessagingServices.supportedProtocols=regex=.*smfs.*` matches all objects whose supportedProtocols array contains vlaues that contain `smf`\n* Queries on attributes where the name and the value must match specific criteria can be expressed using the `=elem=` operator, \n for example `attributes.name[color].value=elem=Bl.*` matches all objects where the value of attribute `color` starts with `Bl` such as `Black`` or `Blue``\nSee https://github.com/Fizcko/rsql-mongodb for details of the supported query operators and syntax\n", + "in": "query", + "allowReserved": true, + "schema": { + "type": "string", + "minLength": 5, + "maxLength": 1024 + } + }, + "pageSize": { + "name": "pageSize", + "in": "query", + "description": "The number of items to get per page. Min: 1 Max: 100", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 100 + } + }, + "pageNumber": { + "name": "pageNumber", + "in": "query", + "description": "The page number to get. Min: 1", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 16384 + } + }, + "sortDirection": { + "name": "sortDirection", + "in": "query", + "description": "sort direction to be applied to the sort field name", + "required": false, + "schema": { + "type": "string", + "default": "asc", + "enum": ["asc", "desc"] + } + }, + "sortFieldName": { + "name": "sortFieldName", + "in": "query", + "description": "name of a field to sort on, the sort direction parameter determines the order (asc/desc) of the sort", + "required": false, + "schema": { + "type": "string", + "pattern": "^[a-zA-Z0-9_-]*$", + "minLength": 2, + "maxLength": 512 + } + }, + "apiFormat": { + "name": "apiFormat", + "in": "query", + "description": "The format the client requires the Async API to be returned in", + "schema": { + "type": "string", + "enum": ["application/json", "application/x-yaml", "application/zip"] + } + }, + "asyncApiVersion": { + "name": "asyncApiVersion", + "in": "query", + "description": "version the Async API Specification version the requested specification should adhere to", + "schema": { + "type": "string", + "enum": ["2.2.0", "2.5.0"] + } + } + }, + "responses": { + "PreconditionFailed": { + "description": "PreConditon Failed, likely a mismatch between current etag and if-match header", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "BadRequest": { + "description": "Bad Request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "Unauthorized": { + "description": "Unauthorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "Forbidden": { + "description": "Forbidden.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "NotFound": { + "description": "Not Found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "NotAcceptable": { + "description": "Not Acceptable.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "UnsupportedMediaType": { + "description": "Unsupported Media Type.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "TooManyRequests": { + "description": "Too many requests.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "InternalServerError": { + "description": "Internal Server Error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "ServiceUnavailable": { + "description": "Service Unavailable.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "GatewayTimeout": { + "description": "Gateway Timeout.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "Conflict": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "schemas": { + "Plan": { + "type": "object", + "required": ["id", "name", "solaceClassOfServicePolicy"], + "additionalProperties": false, + "properties": { + "id": { + "$ref": "#/components/schemas/CommonId" + }, + "name": { + "$ref": "#/components/schemas/CommonName" + }, + "solaceClassOfServicePolicy": { + "$ref": "#/components/schemas/SolaceClassOfServicePolicy" + } + } + }, + "SolaceClassOfServicePolicy": { + "type": "object", + "additionalProperties": false, + "description": "Solace class of service policy", + "properties": { + "id": { + "$ref": "#/components/schemas/CommonId" + }, + "messageDeliveryMode": { + "type": "string", + "description": "The type of message delivery mode in the current event API product version", + "enum": ["direct", "guaranteed", "direct", "guaranteed"], + "default": "direct" + }, + "accessType": { + "type": "string", + "enum": ["exclusive", "non-exclusive"] + }, + "maximumTimeToLive": { + "type": "integer", + "description": "Duration in seconds of how long a message can live in a queue", + "format": "int32", + "example": 1500, + "minimum": -1, + "maximum": 95000000 + }, + "queueType": { + "type": "string", + "description": "The type of queue to be used in the current event API product version", + "enum": ["single", "combined", "single", "combined"], + "default": "combined" + }, + "maxMsgSpoolUsage": { + "type": "integer", + "description": "Total number of MBs available for the queue to use", + "format": "int32", + "example": 5, + "minimum": 0, + "maximum": 800000 + } + } + }, + "SolaceMessagingService": { + "type": "object", + "description": "Solace Messaging Services", + "additionalProperties": false, + "required": [ + "id", + "messagingServiceId", + "messagingServiceName", + "supportedProtocols", + "environmentName", + "eventMeshName" + ], + "properties": { + "id": { + "$ref": "#/components/schemas/CommonId" + }, + "messagingServiceId": { + "$ref": "#/components/schemas/CommonId" + }, + "messagingServiceName": { + "$ref": "#/components/schemas/CommonNameReadOnly" + }, + "supportedProtocols": { + "type": "array", + "minItems": 1, + "maxItems": 32, + "description": "Values for allowed supported protocols", + "items": { + "$ref": "#/components/schemas/MessagingServiceProtocol" + } + }, + "environmentName": { + "$ref": "#/components/schemas/CommonNameReadOnly" + }, + "eventMeshName": { + "$ref": "#/components/schemas/CommonNameReadOnly" + }, + "solaceCloudMessagingServiceId": { + "$ref": "#/components/schemas/CommonId" + } + } + }, + "Filter": { + "type": "object", + "required": ["topicFilters"], + "additionalProperties": false, + "properties": { + "topicFilters": { + "type": "array", + "minItems": 1, + "maxItems": 128, + "description": "List of variable that contains address node name and filters", + "items": { + "$ref": "#/components/schemas/TopicFilter" + } + } + }, + "description": "List of filters that contains eventVersionId name and variables" + }, + "TopicFilter": { + "type": "object", + "required": ["name", "filterValue"], + "additionalProperties": false, + "description": "List of variable that contains address node name and filters", + "properties": { + "name": { + "$ref": "#/components/schemas/CommonName" + }, + "filterValue": { + "$ref": "#/components/schemas/TopicFilterValue" + } + } + }, + "TopicFilterValue": { + "type": "string", + "minLength": 2, + "maxLength": 128, + "description": "Different filter values separated by comma", + "example": " Tes?, TEST*FILTER, SAmPle" + }, + "BrokerType": { + "type": "string", + "description": "The type of the broker used for the event API product", + "enum": ["kafka", "solace"], + "default": "solace" + }, + "EventApiProductSummary": { + "type": "object", + "required": ["version"], + "additionalProperties": false, + "properties": { + "version": { + "$ref": "#/components/schemas/SemVer" + }, + "summary": { + "type": "string", + "minLength": 0, + "maxLength": 1024, + "example": "Summary string value of event API product" + }, + "displayName": { + "$ref": "#/components/schemas/CommonName" + }, + "state": { + "$ref": "#/components/schemas/EventApiProductState" + } + } + }, + "EventApiProduct": { + "type": "object", + "required": [ + "id", + "name", + "applicationDomainId", + "applicationDomainName", + "brokerType", + "createdTime", + "updatedTime", + "createdBy", + "changedBy", + "version", + "state", + "plans", + "solaceMessagingServices", + "approvalType", + "attributes", + "customAttributes", + "apis", + "filters", + "apiParameters" + ], + "additionalProperties": false, + "properties": { + "id": { + "$ref": "#/components/schemas/CommonId" + }, + "name": { + "$ref": "#/components/schemas/CommonName" + }, + "applicationDomainId": { + "$ref": "#/components/schemas/CommonId" + }, + "applicationDomainName": { + "$ref": "#/components/schemas/CommonName" + }, + "brokerType": { + "$ref": "#/components/schemas/BrokerType" + }, + "customAttributes": { + "type": "array", + "description": "Custom attributes defined in Event Portal", + "minItems": 0, + "maxItems": 256, + "items": { + "$ref": "#/components/schemas/Attribute" + } + }, + "attributes": { + "type": "array", + "description": "Attributes managed by integrations and external clients.", + "minItems": 0, + "maxItems": 256, + "items": { + "$ref": "#/components/schemas/Attribute" + } + }, + "createdTime": { + "$ref": "#/components/schemas/CommonTimestampIntegerReadOnly" + }, + "updatedTime": { + "$ref": "#/components/schemas/CommonTimestampIntegerReadOnly" + }, + "createdBy": { + "type": "string", + "minLength": 4, + "maxLength": 64, + "readOnly": true, + "example": "12345678" + }, + "changedBy": { + "type": "string", + "minLength": 4, + "maxLength": 64, + "readOnly": true, + "example": "12345678" + }, + "description": { + "maxLength": 10000, + "type": "string", + "example": "Event API product created by Solace PubSub+ Cloud documentation" + }, + "version": { + "$ref": "#/components/schemas/SemVer" + }, + "summary": { + "type": "string", + "minLength": 0, + "maxLength": 1024, + "example": "Summary string value of event API product" + }, + "displayName": { + "$ref": "#/components/schemas/CommonName" + }, + "state": { + "$ref": "#/components/schemas/EventApiProductState" + }, + "plans": { + "type": "array", + "minItems": 1, + "maxItems": 128, + "items": { + "$ref": "#/components/schemas/Plan" + } + }, + "apis": { + "type": "array", + "minItems": 0, + "maxItems": 999, + "items": { + "$ref": "#/components/schemas/EventApiVersion" + } + }, + "solaceMessagingServices": { + "type": "array", + "minItems": 1, + "maxItems": 128, + "description": "Solace Messaging Services", + "items": { + "$ref": "#/components/schemas/SolaceMessagingService" + } + }, + "filters": { + "type": "array", + "minItems": 0, + "maxItems": 256, + "description": "List of filters that contains eventVersionId name and variables", + "items": { + "$ref": "#/components/schemas/Filter" + } + }, + "apiParameters": { + "type": "array", + "minItems": 0, + "maxItems": 32768, + "items": { + "$ref": "#/components/schemas/APIParameter" + } + }, + "approvalType": { + "type": "string", + "description": "Approval type", + "enum": ["automatic", "manual"], + "default": "automatic" + } + } + }, + "EventApiVersion": { + "type": "object", + "required": ["id", "version", "name", "customAttributes"], + "additionalProperties": false, + "properties": { + "id": { + "$ref": "#/components/schemas/CommonId" + }, + "description": { + "maxLength": 10000, + "minLength": 0, + "type": "string", + "example": "Event Api created by Solace PubSub+ Cloud documentation" + }, + "version": { + "type": "string", + "minLength": 2, + "maxLength": 64, + "example": "1.0.0" + }, + "displayName": { + "$ref": "#/components/schemas/CommonName" + }, + "name": { + "$ref": "#/components/schemas/CommonName" + }, + "customAttributes": { + "type": "array", + "minItems": 0, + "maxItems": 256, + "items": { + "$ref": "#/components/schemas/Attribute" + } + } + } + }, + "EventApi": { + "type": "object", + "required": [ + "id", + "version", + "displayName", + "planName", + "messagingServiceConnections" + ], + "additionalProperties": false, + "properties": { + "asyncApiId": { + "$ref": "#/components/schemas/CommonId" + }, + "description": { + "maxLength": 10000, + "minLength": 0, + "type": "string", + "example": "Event Api created by Solace PubSub+ Cloud documentation" + }, + "version": { + "type": "string", + "minLength": 2, + "maxLength": 64, + "example": "1.0.0" + }, + "displayName": { + "$ref": "#/components/schemas/CommonName" + }, + "planName": { + "$ref": "#/components/schemas/CommonName" + }, + "asyncAPI": { + "$ref": "#/components/schemas/String2MB" + }, + "messagingServiceConnections": { + "type": "array", + "minItems": 0, + "maxItems": 128, + "items": { + "$ref": "#/components/schemas/MessagingServiceConnection" + } + } + } + }, + "ApplicationRegistrationView": { + "type": "object", + "required": [ + "registrationId", + "source", + "name", + "attributes", + "accessRequests", + "apis", + "credentials", + "webhooks", + "gatewayMessagingServices", + "brokerType", + "filters" + ], + "additionalProperties": false, + "properties": { + "registrationId": { + "$ref": "#/components/schemas/CommonExternalId" + }, + "source": { + "$ref": "#/components/schemas/CommonExternalId" + }, + "name": { + "$ref": "#/components/schemas/CommonName" + }, + "applicationDomainId": { + "$ref": "#/components/schemas/CommonId" + }, + "sourceOwner": { + "$ref": "#/components/schemas/CommonName" + }, + "brokerType": { + "$ref": "#/components/schemas/BrokerType" + }, + "accessRequests": { + "type": "array", + "minItems": 0, + "maxItems": 999, + "items": { + "$ref": "#/components/schemas/EventApiProductRegistration" + } + }, + "apis": { + "type": "array", + "minItems": 0, + "maxItems": 999, + "items": { + "$ref": "#/components/schemas/EventApiVersion" + } + }, + "credentials": { + "type": "array", + "minItems": 0, + "maxItems": 999, + "items": { + "$ref": "#/components/schemas/CredentialsView" + } + }, + "webhooks": { + "type": "array", + "minItems": 0, + "maxItems": 999, + "items": { + "$ref": "#/components/schemas/Webhook" + } + }, + "attributes": { + "type": "array", + "description": "Attributes managed by integrations and external clients.", + "minItems": 0, + "maxItems": 256, + "items": { + "$ref": "#/components/schemas/Attribute" + } + }, + "gatewayMessagingServices": { + "type": "array", + "description": "List of available gateway messaging services and the permissions granted to the application on each.", + "minItems": 0, + "maxItems": 256, + "items": { + "$ref": "#/components/schemas/AppRegistrationMessagingService" + } + }, + "filters": { + "type": "array", + "description": "List of topic filters specific to this app registration", + "minItems": 0, + "maxItems": 256, + "items": { + "$ref": "#/components/schemas/TopicFilter" + } + } + } + }, + "ApplicationRegistration": { + "type": "object", + "required": ["registrationId", "source", "name"], + "additionalProperties": false, + "properties": { + "name": { + "$ref": "#/components/schemas/CommonName" + }, + "applicationDomainId": { + "$ref": "#/components/schemas/CommonId" + }, + "sourceOwner": { + "$ref": "#/components/schemas/CommonName" + }, + "registrationId": { + "$ref": "#/components/schemas/CommonExternalId" + }, + "source": { + "$ref": "#/components/schemas/CommonExternalId" + }, + "attributes": { + "type": "array", + "description": "Attributes managed by integrations and external clients.", + "minItems": 0, + "maxItems": 256, + "items": { + "$ref": "#/components/schemas/Attribute" + } + }, + "filters": { + "type": "array", + "description": "List of topic filters specific to this app registration", + "minItems": 0, + "maxItems": 256, + "items": { + "$ref": "#/components/schemas/TopicFilter" + } + } + } + }, + "ApplicationRegistrationUpdate": { + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "$ref": "#/components/schemas/CommonName" + }, + "applicationDomainId": { + "$ref": "#/components/schemas/CommonId" + }, + "sourceOwner": { + "$ref": "#/components/schemas/CommonName" + } + } + }, + "EventApiProductRegistration": { + "type": "object", + "required": [ + "accessRequestId", + "registrationId", + "eventApiProductId", + "planId", + "state", + "eventApiProductVersion" + ], + "additionalProperties": false, + "properties": { + "accessRequestId": { + "$ref": "#/components/schemas/CommonExternalId" + }, + "registrationId": { + "$ref": "#/components/schemas/CommonExternalId" + }, + "eventApiProductId": { + "$ref": "#/components/schemas/CommonId" + }, + "eventApiProductVersion": { + "$ref": "#/components/schemas/SemVer" + }, + "planId": { + "$ref": "#/components/schemas/CommonId" + }, + "state": { + "$ref": "#/components/schemas/AccessRequestState" + }, + "resourceInformation": { + "type": "array", + "minLength": 0, + "maxLength": 255, + "items": { + "$ref": "#/components/schemas/GuaranteedMessagingInformation" + } + } + } + }, + "EventApiProductRegistrationUpdate": { + "type": "object", + "additionalProperties": false, + "properties": { + "state": { + "$ref": "#/components/schemas/AccessRequestState" + } + } + }, + "EventApiProductRegistrationCreate": { + "type": "object", + "required": ["accessRequestId", "eventApiProductId", "planId"], + "additionalProperties": false, + "properties": { + "accessRequestId": { + "$ref": "#/components/schemas/CommonExternalId" + }, + "eventApiProductId": { + "$ref": "#/components/schemas/CommonId" + }, + "planId": { + "$ref": "#/components/schemas/CommonId" + } + } + }, + "EventApiProductState": { + "type": "string", + "enum": ["RELEASED", "DEPRECATED", "RETIRED", "DELETED"] + }, + "AccessRequestState": { + "type": "string", + "enum": [ + "PENDING_APPROVAL", + "REJECTED", + "REVOKED", + "APPROVED", + "ERROR", + "LIVE" + ] + }, + "CredentialsRequest": { + "description": "Credentials object associated with an app", + "type": "object", + "additionalProperties": false, + "properties": { + "expiresAt": { + "$ref": "#/components/schemas/CommonTimestampIntegerReadOnly" + }, + "issuedAt": { + "$ref": "#/components/schemas/CommonTimestampIntegerReadOnly" + }, + "secret": { + "$ref": "#/components/schemas/Secret" + }, + "name": { + "$ref": "#/components/schemas/CommonName" + } + } + }, + "CredentialsView": { + "description": "Credentials object associated with an app", + "type": "object", + "additionalProperties": false, + "required": ["expiresAt", "issuedAt", "secret"], + "properties": { + "expiresAt": { + "$ref": "#/components/schemas/CommonTimestampIntegerReadOnly" + }, + "issuedAt": { + "$ref": "#/components/schemas/CommonTimestampIntegerReadOnly" + }, + "secret": { + "$ref": "#/components/schemas/SecretView" + }, + "name": { + "$ref": "#/components/schemas/CommonName" + } + } + }, + "Secret": { + "type": "object", + "required": ["consumerKey"], + "additionalProperties": false, + "properties": { + "consumerKey": { + "type": "string", + "pattern": "^[a-zA-Z0-9_-]*$", + "minLength": 8, + "maxLength": 64 + }, + "consumerSecret": { + "type": "string", + "pattern": "^[a-zA-Z0-9_-]*$", + "minLength": 8, + "maxLength": 64 + } + } + }, + "SecretView": { + "type": "object", + "required": ["consumerKey", "consumerSecret"], + "additionalProperties": false, + "properties": { + "consumerKey": { + "type": "string", + "pattern": "^[a-zA-Z0-9_-]*$", + "minLength": 8, + "maxLength": 64 + }, + "consumerSecret": { + "type": "string", + "pattern": "^[a-zA-Z0-9_-]*$", + "minLength": 8, + "maxLength": 64 + } + } + }, + "WebhookBasicAuth": { + "type": "object", + "additionalProperties": false, + "required": ["username", "password"], + "properties": { + "username": { + "$ref": "#/components/schemas/CommonUserName" + }, + "password": { + "type": "string", + "minLength": 8, + "maxLength": 256, + "pattern": "^[\\S]*$" + } + } + }, + "WebhookHeaderAuth": { + "type": "object", + "description": "A HTTP header used for authentication", + "additionalProperties": false, + "required": ["headerName", "headerValue"], + "properties": { + "headerName": { + "type": "string", + "minLength": 1, + "maxLength": 512, + "pattern": "^[\\s\\S]*$" + }, + "headerValue": { + "type": "string", + "minLength": 1, + "maxLength": 16384, + "pattern": "^[\\s\\S]*$" + } + } + }, + "WebhookAuth": { + "additionalProperties": false, + "type": "object", + "properties": { + "basicAuth": { + "$ref": "#/components/schemas/WebhookBasicAuth" + }, + "headerAuth": { + "$ref": "#/components/schemas/WebhookHeaderAuth" + } + } + }, + "WebhookTLSOptions": { + "type": "object", + "description": "TLS options required to support older PS+ brokers.", + "required": ["tlsTrustedCommonNames"], + "additionalProperties": false, + "deprecated": true, + "properties": { + "tlsTrustedCommonNames": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 0, + "maxItems": 255, + "description": "The Trusted Common Names for the REST Consumer are used by encrypted transports to verify the name in the certificate presented by the remote REST consumer. They must include the common name of the remote REST consumer's server certificate." + } + } + }, + "WebhookHeader": { + "type": "object", + "description": "An arbitrary HTTP header applied to the webhook", + "additionalProperties": false, + "properties": { + "headerName": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[\\s\\S]*$" + }, + "headerValue": { + "type": "string", + "minLength": 1, + "maxLength": 1024, + "pattern": "^[\\s\\S]*$" + } + }, + "required": ["headerName", "headerValue"] + }, + "Webhook": { + "type": "object", + "required": ["uri", "method"], + "additionalProperties": false, + "properties": { + "uri": { + "type": "string", + "pattern": "^https?:\\/\\/[A-Za-z\\.:0-9\\-]*.*$", + "minLength": 0, + "maxLength": 200 + }, + "name": { + "$ref": "#/components/schemas/CommonName" + }, + "gatewayMessagingServiceIds": { + "type": "array", + "description": "messaging services that this webhook service is available on, if absent webhook will be used for all associated messaging services", + "minItems": 0, + "maxItems": 255, + "items": { + "$ref": "#/components/schemas/CommonName" + } + }, + "method": { + "type": "string", + "enum": ["POST", "PUT"], + "default": "POST" + }, + "mode": { + "type": "string", + "enum": ["parallel", "serial"], + "default": "parallel" + }, + "authentication": { + "$ref": "#/components/schemas/WebhookAuth" + }, + "tlsOptions": { + "$ref": "#/components/schemas/WebhookTLSOptions" + }, + "requestHeaders": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WebhookHeader" + }, + "minItems": 0, + "maxItems": 50 + }, + "appendTopicToUrl": { + "type": "boolean", + "description": "Inidicates if the message topic should be appended to the webhook url when the request is made by the messaging service." + } + } + }, + "WebhookIdList": { + "description": "Name and display name attribute of a webhook", + "properties": { + "data": { + "type": "array", + "minItems": 0, + "maxItems": 999, + "items": { + "$ref": "#/components/schemas/WebhookIds" + } + }, + "meta": { + "$ref": "#/components/schemas/meta" + } + } + }, + "WebhookIds": { + "description": "Name and display name attribute of a webhook", + "type": "object", + "required": ["uri"], + "properties": { + "uri": { + "$ref": "#/components/schemas/CommonURL" + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 200, + "pattern": "^.*$" + } + } + }, + "MessagingServiceProtocol": { + "type": "string", + "enum": [ + "smfc", + "smf", + "smfs", + "amqp", + "amqps", + "http", + "https", + "jms", + "mqttws", + "mqtt", + "secure-mqtt", + "secure-mqttws", + "smfws", + "smfwss" + ] + }, + "MessagingServiceCredentials": { + "type": "object", + "required": ["name", "credentials"], + "additionalProperties": false, + "properties": { + "name": { + "type": "string", + "minLength": 2, + "maxLength": 128, + "description": "The name of the credentials object.", + "example": "basic auth credentials" + }, + "credentials": { + "type": "object", + "additionalProperties": { + "type": "object", + "description": "A JSON map containing the credentials information.", + "example": { + "username": "User1", + "password": "secretPass" + } + }, + "description": "A JSON map containing the credentials information.", + "example": { + "username": "User1", + "password": "secretPass" + } + } + } + }, + "MessagingServiceAuthentication": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "authenticationType", + "authenticationDetails", + "messagingServiceCredentials" + ], + "properties": { + "name": { + "$ref": "#/components/schemas/CommonName" + }, + "authenticationType": { + "type": "string", + "minLength": 2, + "maxLength": 32, + "description": "The type of the authentication object.", + "example": "basicAuthentication" + }, + "authenticationDetails": { + "type": "object", + "additionalProperties": { + "type": "object", + "description": "A JSON map containing a map of extra details for the authentication.", + "example": { + "broker owner": "Solace PE team" + } + }, + "description": "A JSON map containing a map of extra details for the authentication.", + "example": { + "broker owner": "Solace PE team" + } + }, + "messagingServiceCredentials": { + "type": "array", + "minItems": 1, + "maxItems": 128, + "items": { + "$ref": "#/components/schemas/MessagingServiceCredentials" + } + } + } + }, + "MessagingServiceConnection": { + "type": "object", + "additionalProperties": false, + "required": ["name", "url", "protocol", "protocolVersion"], + "properties": { + "name": { + "$ref": "#/components/schemas/CommonName" + }, + "url": { + "type": "string", + "minLength": 2, + "maxLength": 1024, + "description": "The url of the connection object.", + "example": "https://abcd.messaging.solace.cloud:943" + }, + "protocol": { + "$ref": "#/components/schemas/MessagingServiceProtocol" + }, + "protocolVersion": { + "type": "string", + "minLength": 2, + "maxLength": 16, + "description": "The protocolVersion of the connection object.", + "example": "2.0" + }, + "bindings": { + "type": "object", + "additionalProperties": { + "oneOf": [ + { + "type": "object", + "description": "A JSON map containing a map of connection-specific values. ", + "example": { + "msgVpn": "myVPN" + } + }, + { + "type": "string", + "description": "A JSON map containing a map of connection-specific values. ", + "example": "myVPN" + } + ], + "description": "A JSON map containing a map of connection-specific values. " + }, + "example": { + "msgVpn": "myVPN" + } + }, + "messagingServiceAuthentications": { + "type": "array", + "minItems": 0, + "maxItems": 128, + "items": { + "$ref": "#/components/schemas/MessagingServiceAuthentication" + } + } + } + }, + "MessagingService": { + "type": "object", + "required": [ + "id", + "brokerType", + "name", + "messagingServiceConnections", + "environmentName", + "eventMeshName" + ], + "additionalProperties": false, + "properties": { + "id": { + "$ref": "#/components/schemas/CommonId" + }, + "solaceCloudMessagingServiceId": { + "$ref": "#/components/schemas/CommonId" + }, + "brokerType": { + "$ref": "#/components/schemas/BrokerType" + }, + "name": { + "$ref": "#/components/schemas/CommonName" + }, + "messagingServiceConnections": { + "type": "array", + "minItems": 0, + "maxItems": 128, + "items": { + "$ref": "#/components/schemas/MessagingServiceConnection" + } + }, + "environmentName": { + "$ref": "#/components/schemas/CommonNameReadOnly" + }, + "eventMeshName": { + "$ref": "#/components/schemas/CommonNameReadOnly" + } + } + }, + "GatewayResponse": { + "type": "object", + "required": ["data"], + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/components/schemas/MessagingService" + }, + "meta": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "GatewaysResponse": { + "type": "object", + "required": ["data", "meta"], + "additionalProperties": false, + "properties": { + "data": { + "type": "array", + "minItems": 0, + "maxItems": 999, + "items": { + "$ref": "#/components/schemas/MessagingService" + } + }, + "meta": { + "$ref": "#/components/schemas/meta" + } + } + }, + "ApplicationRegistrationResponse": { + "type": "object", + "required": ["data"], + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/components/schemas/ApplicationRegistrationView" + }, + "meta": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "ApplicationRegistrationsResponse": { + "type": "object", + "required": ["data", "meta"], + "additionalProperties": false, + "properties": { + "data": { + "type": "array", + "minItems": 0, + "maxItems": 999, + "items": { + "$ref": "#/components/schemas/ApplicationRegistrationView" + } + }, + "meta": { + "$ref": "#/components/schemas/meta" + } + } + }, + "EventApiProductResponse": { + "type": "object", + "required": ["data"], + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/components/schemas/EventApiProduct" + }, + "meta": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "EventApiProductsResponse": { + "type": "object", + "required": ["data", "meta"], + "additionalProperties": false, + "properties": { + "data": { + "type": "array", + "minItems": 0, + "maxItems": 999, + "items": { + "$ref": "#/components/schemas/EventApiProduct" + } + }, + "meta": { + "$ref": "#/components/schemas/meta" + } + } + }, + "EventApiProductHistoryResponse": { + "type": "object", + "required": ["data", "meta"], + "additionalProperties": false, + "properties": { + "data": { + "type": "array", + "minItems": 0, + "maxItems": 999, + "items": { + "$ref": "#/components/schemas/EventApiProductSummary" + } + }, + "meta": { + "$ref": "#/components/schemas/meta" + } + } + }, + "EventApisResponse": { + "type": "object", + "required": ["data", "meta"], + "additionalProperties": false, + "properties": { + "data": { + "type": "array", + "minItems": 0, + "maxItems": 999, + "items": { + "$ref": "#/components/schemas/EventApiVersion" + } + }, + "meta": { + "$ref": "#/components/schemas/meta" + } + } + }, + "EventAPIProductsEventApisResponse": { + "type": "object", + "required": ["data", "meta"], + "additionalProperties": false, + "properties": { + "data": { + "type": "array", + "minItems": 0, + "maxItems": 999, + "items": { + "$ref": "#/components/schemas/EventApi" + } + }, + "meta": { + "$ref": "#/components/schemas/meta" + } + } + }, + "CredentialsResponse": { + "type": "object", + "required": ["data"], + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/components/schemas/CredentialsView" + }, + "meta": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "CredentialsArrayResponse": { + "type": "object", + "required": ["data", "meta"], + "additionalProperties": false, + "properties": { + "data": { + "type": "array", + "minItems": 0, + "maxItems": 999, + "items": { + "$ref": "#/components/schemas/CredentialsView" + } + }, + "meta": { + "$ref": "#/components/schemas/meta" + } + } + }, + "WebhookResponse": { + "type": "object", + "required": ["data"], + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/components/schemas/Webhook" + }, + "meta": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "EventApiProductRegistrationResponse": { + "type": "object", + "required": ["data"], + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/components/schemas/EventApiProductRegistration" + }, + "meta": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "EventApiProductRegistrationsResponse": { + "type": "object", + "required": ["data", "meta"], + "additionalProperties": false, + "properties": { + "data": { + "type": "array", + "minItems": 0, + "maxItems": 999, + "items": { + "$ref": "#/components/schemas/EventApiProductRegistration" + } + }, + "meta": { + "$ref": "#/components/schemas/meta" + } + } + }, + "AttributeUpdateRequest": { + "type": "object", + "additionalProperties": false, + "properties": { + "value": { + "$ref": "#/components/schemas/AttributeValue" + } + } + }, + "AttributeResponse": { + "type": "object", + "required": ["data"], + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/components/schemas/Attribute" + }, + "meta": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "AttributesResponse": { + "type": "object", + "required": ["data", "meta"], + "additionalProperties": false, + "properties": { + "data": { + "type": "array", + "minItems": 0, + "maxItems": 999, + "items": { + "$ref": "#/components/schemas/Attribute" + } + }, + "meta": { + "$ref": "#/components/schemas/meta" + } + } + }, + "FilterUpdateRequest": { + "type": "object", + "additionalProperties": false, + "properties": { + "value": { + "$ref": "#/components/schemas/TopicFilterValue" + } + } + }, + "FilterResponse": { + "type": "object", + "required": ["data"], + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/components/schemas/TopicFilter" + }, + "meta": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "FiltersResponse": { + "type": "object", + "required": ["data", "meta"], + "additionalProperties": false, + "properties": { + "data": { + "type": "array", + "minItems": 0, + "maxItems": 999, + "items": { + "$ref": "#/components/schemas/TopicFilter" + } + }, + "meta": { + "$ref": "#/components/schemas/meta" + } + } + }, + "PlanResponse": { + "type": "object", + "required": ["data"], + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/components/schemas/Plan" + }, + "meta": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "PlansResponse": { + "type": "object", + "required": ["data", "meta"], + "additionalProperties": false, + "properties": { + "data": { + "type": "array", + "minItems": 0, + "maxItems": 999, + "items": { + "$ref": "#/components/schemas/Plan" + } + }, + "meta": { + "$ref": "#/components/schemas/meta" + } + } + }, + "meta": { + "type": "object", + "required": ["pagination"], + "additionalProperties": false, + "properties": { + "pagination": { + "$ref": "#/components/schemas/Pagination" + } + } + }, + "Attribute": { + "type": "object", + "required": ["name", "value"], + "additionalProperties": false, + "properties": { + "name": { + "pattern": "^[a-zA-Z0-9_\\-\\.]*$", + "minLength": 4, + "maxLength": 128, + "type": "string", + "example": "color" + }, + "value": { + "$ref": "#/components/schemas/AttributeValue" + } + } + }, + "AttributeValue": { + "type": "string", + "description": "Valid Objects are Strings with characters", + "minLength": 0, + "maxLength": 10000, + "pattern": "^.*$", + "example": "red" + }, + "Pagination": { + "type": "object", + "required": [ + "pageNumber", + "count", + "pageSize", + "nextPage", + "totalPages" + ], + "additionalProperties": false, + "properties": { + "pageNumber": { + "description": "the current page number, starting at 1", + "type": "integer", + "format": "int32" + }, + "count": { + "description": "the total count of documents available", + "type": "integer", + "format": "int32" + }, + "pageSize": { + "description": "the size of the page", + "type": "integer", + "format": "int32" + }, + "nextPage": { + "description": "the number of the next page or null if no next page is available", + "type": "integer", + "format": "int32" + }, + "totalPages": { + "description": "the total number of pages", + "type": "integer", + "format": "int32" + } + } + }, + "ErrorResponse": { + "type": "object", + "required": ["message", "errorId"], + "additionalProperties": false, + "properties": { + "message": { + "type": "string", + "example": "An error occurred", + "minLength": 4, + "maxLength": 256 + }, + "errorId": { + "type": "string", + "example": "123e4567-e89b-12d3-a456-426655440000", + "minLength": 2, + "maxLength": 64 + }, + "meta": { + "type": "object", + "additionalProperties": { + "type": "object", + "example": "'object': { 'field': 'description' }", + "additionalProperties": true + }, + "example": "'object': { 'field': 'description' }" + }, + "validationDetails": { + "type": "object", + "additionalProperties": { + "type": "array", + "minItems": 0, + "maxItems": 1024, + "example": "'name': ['Not unique']", + "items": { + "type": "string", + "example": "'name': ['Not unique']", + "minLength": 4, + "maxLength": 32768 + } + }, + "example": "'name': ['Not unique']" + } + } + }, + "GuaranteedMessagingInformation": { + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "type": "string", + "description": "The name of the queue that is available for this access request", + "example": "AlAOLG3xxuYCVDpoXl4wKGwWAIURFGuK", + "minLength": 2, + "maxLength": 250, + "pattern": ".*" + }, + "eventApiId": { + "type": "string", + "description": "The id of the eventApi the resource is provided for, null if the Event API Product's policy scopes resources to the product level", + "example": "A name", + "pattern": "^.*$", + "minLength": 2, + "maxLength": 128 + }, + "accessType": { + "type": "string", + "description": "access mode for the queue", + "example": "exclusive", + "default": "exclusive", + "enum": ["exclusive", "non-exclusive"] + }, + "maxTtl": { + "type": "integer", + "format": "int64", + "maximum": 9007199254740991, + "minimum": 0, + "description": "retention policy for message on the queue, in seconds", + "default": 86400, + "example": 3600 + }, + "maxMsgSpoolUsage": { + "type": "integer", + "format": "int64", + "maximum": 9007199254740991, + "minimum": 0, + "description": "The maximum message spool usage allowed by the Queue, in megabytes (MB). A value of 0 only allows spooling of the last message received and disables quota checking", + "default": 500, + "example": 50 + } + } + }, + "AppRegistrationMessagingService": { + "type": "object", + "additionalProperties": false, + "required": ["name", "messagingServiceConnections", "permissions"], + "description": "information about a gateway messaging service that is available to an application", + "properties": { + "name": { + "$ref": "#/components/schemas/CommonName" + }, + "displayName": { + "$ref": "#/components/schemas/CommonDisplayName" + }, + "messagingServiceConnections": { + "type": "array", + "description": "the protocols and con donnection information that are available to the app for gateway messaging service connections", + "minItems": 0, + "maxItems": 255, + "items": { + "$ref": "#/components/schemas/MessagingServiceConnection" + } + }, + "permissions": { + "$ref": "#/components/schemas/Permissions" + } + } + }, + "Permissions": { + "description": "lists all the publish and subscribe topics an app has access to. Restrictions on topic elements are taken into account.", + "type": "object", + "additionalProperties": false, + "required": ["subscribe", "publish"], + "properties": { + "subscribe": { + "type": "array", + "minItems": 0, + "maxItems": 32768, + "items": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/ChannelPermission" + } + }, + "example": [ + { + "order/notifications/{country_id}/{order_id}": { + "permissions": [ + "order/notifications/FR/>", + "order/notifications/DE/>" + ], + "channelId": "c1", + "isChannel": true + } + }, + { + "another/random/exception/{resource_id}": { + "permissions": [ + "another/random/exception/1", + "another/random/exception/2" + ], + "isChannel": false + } + } + ] + }, + "publish": { + "type": "array", + "minItems": 0, + "maxItems": 32768, + "items": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/ChannelPermission" + } + }, + "example": [ + { + "order/create/{country_id}/{order_id}": { + "permissions": ["order/create/FR/>", "order/create/DE/>"], + "channelId": "c2", + "isChannel": true + } + }, + { + "order/update/{country_id}/{order_id}": { + "permissions": ["order/update/FR/>", "order/update/DE/>"], + "channelId": "orderUpdateChannel", + "isChannel": true + } + }, + { + "another/random/exception/{resource_id}": { + "permissions": [ + "another/random/exception/3", + "another/random/exception/4" + ], + "isChannel": false + } + } + ] + } + } + }, + "ChannelPermission": { + "description": "a permission and its associated channel", + "type": "object", + "required": ["permissions"], + "additionalProperties": false, + "properties": { + "permissions": { + "type": "array", + "minItems": 0, + "maxItems": 32768, + "items": { + "$ref": "#/components/schemas/CommonTopic" + }, + "example": ["order/notifications/FR/>", "order/notifications/DE/>"] + }, + "channelId": { + "type": "string", + "minLength": 1, + "maxLength": 2048, + "pattern": "^[\\s\\S]*$" + }, + "isChannel": { + "type": "boolean", + "default": true + } + } + }, + "APIParameter": { + "type": "object", + "additionalProperties": false, + "required": ["name", "type"], + "properties": { + "name": { + "type": "string", + "description": "name of the parameter as defined in the AsyncAPI Spec", + "example": "model", + "minLength": 0, + "maxLength": 512, + "pattern": ".*" + }, + "type": { + "type": "string", + "description": "type of the parameter", + "enum": ["string", "number", "integer", "boolean"] + }, + "enum": { + "type": "array", + "description": "any allowed enumerated values for the parameter", + "minItems": 1, + "maxItems": 32768, + "items": { + "type": "string", + "minLength": 1, + "maxLength": 512, + "pattern": ".*" + }, + "example": ["A", "T", "N"] + } + } + }, + "CommonTopic": { + "type": "string", + "minLength": 2, + "maxLength": 250, + "pattern": "^[a-zA-Z0-9][\\S]*[^\\/]$", + "example": "deliver/*/enroute/v1/45*/-75*/vehicle4*/>" + }, + "CommonDisplayName": { + "description": "Friendly name of an object for display in UIs, Developer Portals. Can be changed after object creation", + "example": "A new IoT API / v2.0", + "type": "string", + "minLength": 1, + "maxLength": 256, + "pattern": "^[\\/\\sa-z.A-z0-9_-]*$" + }, + "CommonTimestampIntegerReadOnly": { + "type": "integer", + "format": "int64", + "readOnly": true, + "example": 1620311683577, + "maximum": 9007199254740991, + "minimum": -1 + }, + "CommonName": { + "type": "string", + "example": "A name", + "pattern": "^.*$", + "minLength": 0, + "maxLength": 128 + }, + "CommonNameReadOnly": { + "type": "string", + "example": "A name", + "pattern": "^.*$", + "minLength": 0, + "maxLength": 128, + "readOnly": true + }, + "CommonId": { + "type": "string", + "description": "id as automatically issued by APIs , alphanumeric characters only", + "example": "n8kg4fjka9r", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 2, + "maxLength": 64 + }, + "CommonExternalId": { + "type": "string", + "description": "Id attribute as supplied by the APi Client", + "example": "n8kg4fjka9r", + "pattern": "^[a-zA-Z0-9_\\-]*(@[ |\\S]*)?$", + "minLength": 2, + "maxLength": 64 + }, + "CommonUserName": { + "type": "string", + "minLength": 1, + "maxLength": 64, + "pattern": "^[.a-zA-Z0-9@_-]*$", + "example": "tom" + }, + "CommonURL": { + "type": "string", + "minLength": 8, + "maxLength": 2083, + "example": "https://solace.cloud/api/v0/eventPortal/apiProducts/abc123/asyncApi.json", + "pattern": "^https?:\\/\\/[A-Za-z\\.:0-9\\-]*.*$" + }, + "SemVer": { + "type": "string", + "description": "a version number in semver (Semantic Versioning) format", + "example": "1.0.1", + "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$" + }, + "String2MB": { + "type": "string", + "minLength": 1, + "maxLength": 2000000, + "pattern": "^[\\s\\S]*$", + "example": "asyncapi: 2.0.0\n info:\n title: Hello world application\n version: '0.1.0'\n channels:\n hello:\n publish:\n message:\n payload:\n type: string\n" + } + } + } +} diff --git a/packages/ep-apim-openapi-node/openapi-spec/openapi-spec.json b/packages/ep-apim-openapi-node/openapi-spec/openapi-spec.json index 75c0c3f0f..cd83db766 120000 --- a/packages/ep-apim-openapi-node/openapi-spec/openapi-spec.json +++ b/packages/ep-apim-openapi-node/openapi-spec/openapi-spec.json @@ -1 +1 @@ -ep-apim-openapi-spec.2.0.0-ea.13.json \ No newline at end of file +ep-apim-openapi-spec.2.0.0-ea.14.json \ No newline at end of file diff --git a/packages/ep-apim-openapi-node/package.json b/packages/ep-apim-openapi-node/package.json index 03c67c32a..e51f3acf8 100644 --- a/packages/ep-apim-openapi-node/package.json +++ b/packages/ep-apim-openapi-node/package.json @@ -4,7 +4,7 @@ "main": "./dist/index.js", "types": "./dist/index.d.ts", "type": "commonjs", - "description": "Solace Event Portal APIM OpenAPI Client for NodeJS (Typescript), v2.0.0-ea.13", + "description": "Solace Event Portal APIM OpenAPI Client for NodeJS (Typescript), v2.0.0-ea.14", "license": "Apache-2.0", "repository": { "type": "git", diff --git a/packages/ep-apim-openapi-node/typedoc.README.md b/packages/ep-apim-openapi-node/typedoc.README.md index 056f99ac6..2dfe6ca45 100644 --- a/packages/ep-apim-openapi-node/typedoc.README.md +++ b/packages/ep-apim-openapi-node/typedoc.README.md @@ -10,7 +10,7 @@ --- -**Event Portal APIM OpenAPI Version: 2.0.0-ea.13** +**Event Portal APIM OpenAPI Version: 2.0.0-ea.14** ---