openapi: 3.0.1 info: title: Aptean Integration Platform Consumers EventDefinitions API version: '1.0' security: - Bearer: [] tags: - name: EventDefinitions paths: /v1/event-definitions: post: tags: - EventDefinitions summary: Creates new event definition(s). 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: 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 requestBody: description: Event definitions to create. content: application/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Requests.NewEventDefinitionsRequest' text/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Requests.NewEventDefinitionsRequest' application/*+json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Requests.NewEventDefinitionsRequest' responses: '201': description: Created content: text/plain: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.EventDefinition]' application/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.EventDefinition]' text/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.EventDefinition]' '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: - EventDefinitions summary: Returns a collection of event definitions assigned to a particular product. parameters: - name: productId in: query description: The productId. 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.EventDefinition]' application/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.EventDefinition]' text/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.EventDefinition]' '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/event-definitions/{id}: put: tags: - EventDefinitions summary: Updates an existing event definition. 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 event definition. 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 requestBody: description: Existing event definition request model. content: application/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Requests.UpdateEventDefinitionRequest' text/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Requests.UpdateEventDefinitionRequest' application/*+json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Requests.UpdateEventDefinitionRequest' responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.EventDefinition]' application/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.EventDefinition]' text/json: schema: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.EventDefinition]' '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.EventDefinitionSettings: required: - retryable type: object properties: timeToLive: type: string description: Gets or sets ttl for the event. format: duration example: 0.00:00:00 retryable: type: boolean description: Gets or sets a value indicating whether an event is retryable. additionalProperties: false description: EventDefinitionSettings Specification to create. Aptean.ATG.IntegrationPlatform.Api.Resources.Requests.NewEventDefinitionsRequest: required: - eventDefinitions - productId type: object properties: productId: type: string description: Gets the product id. format: uuid productVersion: maxLength: 20 type: string description: Product version. nullable: true eventDefinitions: type: array items: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.Requests.EventDefinitionRequest' description: The event definitions to register. additionalProperties: false description: New event definition 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.EventDefinition: 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: Gets or sets human readable name for the event. nullable: true description: type: string description: Gets or sets what the event is representing, and when it's raised. nullable: true type: type: string description: Gets or sets the technical definition to identify the type of the event. nullable: true productId: type: string description: The productId to which this event is assigned to. format: uuid productVersion: type: string description: Product version. nullable: true payloadSchema: type: object description: Gets or sets the JSON schemas for the event. This schema will be validated against the event which is published. If the published event doesn't match the schema, the event will be rejected. settings: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.EventDefinitionSettings' additionalProperties: false description: Representation of the Event definition. 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.Requests.EventDefinitionRequest: required: - name - settings - type type: object properties: name: minLength: 1 type: string description: Name of the event. description: type: string description: Description of the event. nullable: true type: minLength: 1 pattern: ^[a-z0-9-]*$ type: string description: "Event Type which is unique in the system.\r\nerp-salesorder-created" payloadSchema: type: object description: "Schema of the data to publish in JSON format.\r\nWhen data is published it is validated against this schema." settings: $ref: '#/components/schemas/Aptean.ATG.IntegrationPlatform.Api.Resources.EventDefinitionSettings' additionalProperties: false description: EventDefinition Specification to create. ? Aptean.ATG.IntegrationPlatform.Api.Resources.Responses.AipSuccessResponse`1[Aptean.ATG.IntegrationPlatform.Api.Resources.EventDefinition] : 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.EventDefinition' description: The collection of items. nullable: true additionalProperties: false description: "Success typed AIP response.\r\nType of the item." Aptean.ATG.IntegrationPlatform.Api.Resources.Requests.UpdateEventDefinitionRequest: required: - name type: object properties: name: minLength: 1 type: string description: Gets the name. description: type: string description: Gets the description. nullable: true payloadSchema: type: object description: Gets the payload schema. additionalProperties: false description: Update event definition request. 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