asyncapi: 2.6.0 info: title: TIBCO Messaging API version: '1.0' description: >- Enterprise messaging API supporting TIBCO Enterprise Message Service (EMS) and FTL (TIBCO FTL) for reliable, high-performance messaging. Supports JMS-compatible publish-subscribe and point-to-point messaging patterns for real-time data distribution across enterprise applications. contact: name: TIBCO Support url: https://support.tibco.com license: name: TIBCO License url: https://www.tibco.com/legal/terms-of-use termsOfService: https://www.tibco.com/legal/terms-of-use externalDocs: description: TIBCO Enterprise Message Service Documentation url: https://docs.tibco.com/products/tibco-enterprise-message-service servers: ems-production: url: ssl://messaging.cloud.tibco.com:7243 protocol: jms description: TIBCO EMS Production Server (SSL) security: - userPassword: [] ems-development: url: tcp://messaging.cloud.tibco.com:7222 protocol: jms description: TIBCO EMS Development Server security: - userPassword: [] ftl-production: url: https://messaging.cloud.tibco.com:8585 protocol: https description: TIBCO FTL Realm Server security: - bearerAuth: [] defaultContentType: application/json channels: orders/created: description: >- Channel for newly created order events. Producers publish order creation notifications and consumers receive them for downstream processing such as fulfillment, inventory, and billing. subscribe: operationId: receiveOrderCreated summary: Receive order created events description: >- Subscribe to receive notifications when new orders are created. message: $ref: '#/components/messages/OrderCreated' tags: - name: orders publish: operationId: publishOrderCreated summary: Publish order created event description: >- Publish a notification that a new order has been created. message: $ref: '#/components/messages/OrderCreated' tags: - name: orders orders/updated: description: >- Channel for order status update events. Consumers receive notifications when order status changes (e.g., shipped, delivered). subscribe: operationId: receiveOrderUpdated summary: Receive order update events message: $ref: '#/components/messages/OrderUpdated' tags: - name: orders publish: operationId: publishOrderUpdated summary: Publish order update event message: $ref: '#/components/messages/OrderUpdated' tags: - name: orders inventory/changed: description: >- Channel for inventory change events. Published when stock levels change due to orders, returns, or manual adjustments. subscribe: operationId: receiveInventoryChanged summary: Receive inventory change events message: $ref: '#/components/messages/InventoryChanged' tags: - name: inventory publish: operationId: publishInventoryChanged summary: Publish inventory change event message: $ref: '#/components/messages/InventoryChanged' tags: - name: inventory notifications/alerts: description: >- Channel for system alert notifications. Used for broadcasting operational alerts, threshold violations, and system health events. subscribe: operationId: receiveAlert summary: Receive system alerts message: $ref: '#/components/messages/Alert' tags: - name: notifications publish: operationId: publishAlert summary: Publish system alert message: $ref: '#/components/messages/Alert' tags: - name: notifications integration/events: description: >- General-purpose integration event channel for inter-application messaging. Supports custom event types with flexible payloads. subscribe: operationId: receiveIntegrationEvent summary: Receive integration events message: $ref: '#/components/messages/IntegrationEvent' tags: - name: integration publish: operationId: publishIntegrationEvent summary: Publish integration event message: $ref: '#/components/messages/IntegrationEvent' tags: - name: integration data/stream: description: >- High-throughput data streaming channel for real-time data distribution using TIBCO FTL transport layer. subscribe: operationId: receiveDataStream summary: Receive data stream messages message: $ref: '#/components/messages/DataStreamMessage' tags: - name: streaming publish: operationId: publishDataStream summary: Publish data stream message message: $ref: '#/components/messages/DataStreamMessage' tags: - name: streaming components: securitySchemes: userPassword: type: userPassword description: EMS username and password authentication bearerAuth: type: http scheme: bearer bearerFormat: JWT description: OAuth 2.0 bearer token for FTL API access messages: OrderCreated: name: OrderCreated title: Order Created Event summary: Notification that a new order has been created contentType: application/json headers: type: object properties: correlationId: type: string description: Correlation ID for message tracking messageType: type: string const: OrderCreated timestamp: type: string format: date-time source: type: string description: Source system identifier payload: $ref: '#/components/schemas/OrderEvent' OrderUpdated: name: OrderUpdated title: Order Updated Event summary: Notification that an order status has changed contentType: application/json headers: type: object properties: correlationId: type: string messageType: type: string const: OrderUpdated timestamp: type: string format: date-time source: type: string payload: $ref: '#/components/schemas/OrderStatusUpdate' InventoryChanged: name: InventoryChanged title: Inventory Changed Event summary: Notification that inventory levels have changed contentType: application/json headers: type: object properties: correlationId: type: string messageType: type: string const: InventoryChanged timestamp: type: string format: date-time payload: $ref: '#/components/schemas/InventoryEvent' Alert: name: Alert title: System Alert summary: System alert notification for operational monitoring contentType: application/json headers: type: object properties: correlationId: type: string messageType: type: string const: Alert priority: type: integer minimum: 0 maximum: 9 timestamp: type: string format: date-time payload: $ref: '#/components/schemas/AlertEvent' IntegrationEvent: name: IntegrationEvent title: Integration Event summary: General-purpose integration event for inter-application messaging contentType: application/json headers: type: object properties: correlationId: type: string messageType: type: string timestamp: type: string format: date-time source: type: string replyTo: type: string description: Reply destination for request-reply patterns payload: $ref: '#/components/schemas/GenericEvent' DataStreamMessage: name: DataStreamMessage title: Data Stream Message summary: High-throughput data stream message via FTL contentType: application/json headers: type: object properties: sequenceNumber: type: integer description: Message sequence number for ordering timestamp: type: string format: date-time contentName: type: string description: FTL content matcher name payload: $ref: '#/components/schemas/StreamPayload' schemas: OrderEvent: type: object required: - orderId - customerId - totalAmount properties: orderId: type: string description: Unique order identifier customerId: type: string description: Customer identifier items: type: array items: type: object properties: productId: type: string productName: type: string quantity: type: integer minimum: 1 unitPrice: type: number format: double description: Order line items totalAmount: type: number format: double description: Total order amount currency: type: string description: Currency code (ISO 4217) orderDate: type: string format: date-time description: When the order was placed OrderStatusUpdate: type: object required: - orderId - previousStatus - newStatus properties: orderId: type: string description: Order identifier previousStatus: type: string enum: - created - confirmed - processing - shipped - delivered - cancelled description: Previous order status newStatus: type: string enum: - created - confirmed - processing - shipped - delivered - cancelled description: New order status updatedAt: type: string format: date-time reason: type: string description: Reason for status change InventoryEvent: type: object required: - productId - changeType - quantity properties: productId: type: string description: Product identifier productName: type: string description: Product name warehouseId: type: string description: Warehouse identifier changeType: type: string enum: - increment - decrement - adjustment description: Type of inventory change quantity: type: integer description: Quantity changed previousLevel: type: integer description: Stock level before change currentLevel: type: integer description: Stock level after change timestamp: type: string format: date-time AlertEvent: type: object required: - alertId - severity - message properties: alertId: type: string description: Alert unique identifier severity: type: string enum: - info - warning - error - critical description: Alert severity level message: type: string description: Alert message source: type: string description: Source system or component category: type: string description: Alert category details: type: object additionalProperties: true description: Additional alert details timestamp: type: string format: date-time GenericEvent: type: object required: - eventType properties: eventType: type: string description: Event type identifier data: type: object additionalProperties: true description: Event payload data metadata: type: object additionalProperties: true description: Event metadata StreamPayload: type: object properties: recordType: type: string description: Type of data record data: type: object additionalProperties: true description: Record data timestamp: type: string format: date-time description: Record timestamp