TIBCO Messaging API
Enterprise messaging API supporting EMS (Enterprise Message Service) and FTL (Fast Transport Layer).
Enterprise messaging API supporting EMS (Enterprise Message Service) and FTL (Fast Transport Layer).
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