openapi: 3.0.1
info:
title: Aptean Integration Platform Consumers Producers API
version: '1.0'
security:
- Bearer: []
tags:
- name: Producers
paths:
/v1/producers:
post:
tags:
- Producers
summary: Create a new producer - only for internal use.
parameters:
- name: x-aptean-tenant
in: header
description: Tenant ID for authorization.
required: true
schema:
type: string
format: uuid
- name: x-aptean-product
in: header
description: Product ID 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 producer request model.
content:
application/json:
schema:
$ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Requests.NewProducerRequest'
text/json:
schema:
$ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Requests.NewProducerRequest'
application/*+json:
schema:
$ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Requests.NewProducerRequest'
responses:
'201':
description: Created
content:
text/plain:
schema:
$ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.Producer]'
application/json:
schema:
$ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.Producer]'
text/json:
schema:
$ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.Producer]'
'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'
get:
tags:
- Producers
summary: Returns a list of producer tenants for a product.
parameters:
- name: productId
in: query
description: Product ID.
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.Producer]'
application/json:
schema:
$ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.Producer]'
text/json:
schema:
$ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.Producer]'
'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/producers/{id}:
delete:
tags:
- Producers
summary: Deletes a producer if there are no consumers listening to that producer.
parameters:
- name: x-aptean-tenant
in: header
description: Tenant ID 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: id
in: path
description: ID of the producer to delete.
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:
'200':
description: OK
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.Requests.NewProducerRequest:
required:
- name
type: object
properties:
name:
minLength: 1
type: string
description: Gets the name value.
sourceTenant:
type: string
description: Gets the source tenant.
nullable: true
productVersion:
maxLength: 20
type: string
description: Product version value.
nullable: true
additionalProperties: false
description: New producer 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.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.Producer]
: 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.Producer'
description: The collection of items.
nullable: true
additionalProperties: false
description: "Success typed AIP response.\r\nType of the item."
Aptean.ATG.IntegrationPlatform.Api.Resources.Producer:
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
name:
type: string
description: The name of the producer.
nullable: true
sourceTenant:
type: string
description: Source tenant of this producer.
nullable: true
productId:
type: string
description: Product id value.
format: uuid
productVersion:
type: string
description: Product version value.
nullable: true
additionalProperties: false
description: Resource that represents model to work with a producer.
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: {}
securitySchemes:
Bearer:
type: http
description: 'JWT Authorization header using the Bearer scheme. Example: "Authorization: Bearer {token}"'
scheme: bearer