openapi: 3.0.1 info: title: Aptean Integration Platform Consumers API version: '1.0' security: - Bearer: [] tags: - name: Consumers paths: /v1/consumers: get: tags: - Consumers summary: Gets all consumers tenants for the producer tenant. parameters: - name: producerId in: query description: Producer tenant ID. schema: type: string format: uuid - name: x-aptean-tenant in: header description: Tenant ID for authorization. schema: type: string format: uuid - name: x-aptean-product in: header description: Product ID for authorization. schema: type: string format: uuid - name: x-aptean-apim in: header description: API key for authorization. schema: type: string responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.Consumer]' application/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.Consumer]' text/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.Consumer]' '400': description: Bad Request content: text/plain: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipWarningResponse' application/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipWarningResponse' text/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipWarningResponse' '500': description: Internal Server Error content: text/plain: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipErrorResponse' application/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipErrorResponse' text/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipErrorResponse' '401': description: Unauthorized content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' post: tags: - Consumers summary: Create new consumer subscription for specific event type. parameters: - name: x-aptean-product in: header description: Product ID of consumer tenant for authorization. required: true schema: type: string format: uuid - name: x-aptean-tenant in: header description: Tenant ID of consumer for authorization. required: true schema: type: string format: uuid - name: x-aptean-user in: header description: User making the call if any. schema: type: string - name: x-aptean-apim in: header description: API key for authorization. schema: type: string requestBody: description: New consumer request. content: application/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Requests.NewConsumerRequest' text/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Requests.NewConsumerRequest' application/*+json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Requests.NewConsumerRequest' responses: '202': description: Accepted content: text/plain: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.Consumer]' application/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.Consumer]' text/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.Consumer]' '400': description: Bad Request content: text/plain: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipWarningResponse' application/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipWarningResponse' text/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipWarningResponse' '500': description: Internal Server Error content: text/plain: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipErrorResponse' application/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipErrorResponse' text/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipErrorResponse' '401': description: Unauthorized content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' /v1/consumers/{id}: get: tags: - Consumers summary: Get a speific consumer subscription detail by ID. operationId: GetConsumerById parameters: - name: id in: path description: ID of consumer subscription. required: true schema: type: string format: uuid - name: x-aptean-tenant in: header description: Tenant ID for authorization. schema: type: string format: uuid - name: x-aptean-product in: header description: Product ID for authorization. schema: type: string format: uuid - name: x-aptean-apim in: header description: API key for authorization. schema: type: string responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.Consumer]' application/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.Consumer]' text/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.Consumer]' '400': description: Bad Request content: text/plain: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipWarningResponse' application/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipWarningResponse' text/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipWarningResponse' '500': description: Internal Server Error content: text/plain: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipErrorResponse' application/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipErrorResponse' text/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipErrorResponse' '401': description: Unauthorized content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '404': description: Not Found content: text/plain: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipErrorResponse' application/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipErrorResponse' text/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipErrorResponse' delete: tags: - Consumers summary: Deletes a consumer. parameters: - name: x-aptean-tenant in: header description: TenantId from request header. required: true schema: type: string format: uuid - name: x-aptean-user in: header description: User making the call if any. schema: type: string - name: id in: path description: ID of the consumer. required: true schema: type: string format: uuid - name: x-aptean-product in: header description: Product ID for authorization. schema: type: string format: uuid - name: x-aptean-apim in: header description: API key for authorization. schema: type: string responses: '202': description: Accepted content: text/plain: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.GenericResponses.DeleteResponse]' application/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.GenericResponses.DeleteResponse]' text/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.GenericResponses.DeleteResponse]' '400': description: Bad Request content: text/plain: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipWarningResponse' application/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipWarningResponse' text/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipWarningResponse' '500': description: Internal Server Error content: text/plain: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipErrorResponse' application/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipErrorResponse' text/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipErrorResponse' '401': description: Unauthorized content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' components: schemas: Aptean.ATG.IntegrationPlatform.Api.Resources.Base.ProvisioningStatus: enum: - pending - active - failed - pendingRemoval - removalFailed - removed type: string description: Indicates the status of provisioning. Aptean.ATG.IntegrationPlatform.Api.Resources.Requests.NewConsumerRequest: required: - contactEmail - subscribedEvents type: object properties: producerId: type: string description: Gets or sets the producer id. format: uuid nullable: true productIdProducer: type: string description: Gets or sets the producer's product id. format: uuid nullable: true sourceTenant: type: string description: Gets or sets the source tenant. nullable: true subscribedEvents: minItems: 1 type: array items: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.SubscribedEvent' description: Gets or sets the subscribed events list. contactEmail: minLength: 5 pattern: ^[a-zA-Z0-9_\.-]+@([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,6}$ type: string description: Gets or sets the contact email. additionalProperties: false description: New consumer request. Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipWarningResponse: type: object properties: warnings: type: array items: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' description: Gets or sets the collection of warnings for executed action. nullable: true additionalProperties: false description: Warning AIP response. ? Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.GenericResponses.DeleteResponse] : type: object properties: warnings: type: array items: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' description: Gets or sets the collection of warnings for executed action. nullable: true items: type: array items: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.GenericResponses.DeleteResponse' description: The collection of items. nullable: true additionalProperties: false description: "Success typed AIP response.\r\nType of the item." Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipErrorResponse: type: object properties: warnings: type: array items: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' description: Gets or sets the collection of warnings for executed action. nullable: true errors: type: array items: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' description: Gets or sets the collection of errors for executed action. nullable: true additionalProperties: false description: Error AIP response. Aptean.ATG.IntegrationPlatform.Api.Resources.GenericResponses.DeleteResponse: type: object properties: result: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.GenericResponses.ResponseResult' info: type: string description: Provides info about the delete action. nullable: true additionalProperties: false description: Resource to describe the delete action. Aptean.ATG.IntegrationPlatform.Api.Resources.GenericResponses.ResponseResult: enum: - success - error type: string description: Describes the global result. Aptean.ATG.IntegrationPlatform.Api.Resources.SubscribedEvent: required: - attempts - eventDefinitionType - ttl - webhook type: object properties: eventDefinitionType: minLength: 1 type: string description: Gets or sets event definition type. webhook: pattern: ^https:\/\/[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$ type: string($uri) description: Gets or sets webhook URL. example: https://localhost ttl: type: string description: "Gets or sets time-to-live value.\r\n(min value: 0.00:01:00, max value: 1.00:00:00).\r\nThe value will be rounded to the nearest minute." format: duration example: 0.00:00:00 attempts: maximum: 30 minimum: 1 type: integer description: Gets or sets attempts count. format: int32 status: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Base.ProvisioningStatus' statusReason: type: string description: Status reason of provisioning. nullable: true additionalProperties: false description: Resource that represents subscribed event. Aptean.ATG.IntegrationPlatform.Api.Resources.Consumer: required: - subscribedEvents type: object properties: id: type: string description: Gets or sets the unique identifier. format: uuid createdBy: type: string description: Gets the created by property. nullable: true createdTimestamp: type: string description: Gets or sets timestamp that indicates when this document got created. format: date-time modifiedBy: type: string description: Gets the modified by property. nullable: true modifiedTimestamp: type: string description: Gets or sets timestamp that indicates when this document got last modified. format: date-time nullable: true producerId: type: string description: Gets or sets producer ID. format: uuid nullable: true productId: type: string description: ProductId where the consumer gets notifications from. format: uuid nullable: true producerProductId: type: string description: In case of multi-tenant consumer, this is the product where the consumer gets notifications from. format: uuid nullable: true tenantId: type: string description: TenantId owning this consumer. format: uuid sourceTenant: type: string description: Source tenant of this consumer. nullable: true subscribedEvents: minItems: 1 type: array items: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.SubscribedEvent' description: Gets or sets list of subscribed events. contactEmail: type: string description: Gets or sets the contact email. nullable: true additionalProperties: false description: Resource that represents a consumer. Microsoft.AspNetCore.Mvc.ProblemDetails: type: object properties: type: type: string nullable: true title: type: string nullable: true status: type: integer format: int32 nullable: true detail: type: string nullable: true instance: type: string nullable: true additionalProperties: {} ? Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.Consumer] : type: object properties: warnings: type: array items: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' description: Gets or sets the collection of warnings for executed action. nullable: true items: type: array items: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Consumer' description: The collection of items. nullable: true additionalProperties: false description: "Success typed AIP response.\r\nType of the item." securitySchemes: Bearer: type: http description: 'JWT Authorization header using the Bearer scheme. Example: "Authorization: Bearer {token}"' scheme: bearer