Operations on recordings and recorded messages within recordings.
Recordings capture live broker traffic and can be replayed by a messaging virtual service.
## Recording actions
- list_recordings: List recordings in a workspace.
args:
workspace_id (int): Mandatory.
serviceId (int): Optional. Filter by parent service.
serviceMockId (int): Optional. Filter by virtual service (messaging service mock).
limit (int, default=50): Max results.
offset (int, default=0): Pagination offset.
fetchMessages (bool, default=false): Include inline messages in response.
- read_recording: Get full details of a recording.
args:
workspace_id (int): Mandatory.
id (int): Mandatory. Recording ID.
- create_recording: Create a new recording.
args:
workspace_id (int): Mandatory.
name (str): Mandatory.
serviceId (int): Optional.
description (str): Optional.
tags (list[str]): Optional.
messages (list): Optional. Inline RecordedMessage objects for seed data.
runtimeConfig (dict): Optional. {replayCount, delayBetweenReplays, initialDelay}.
- update_recording: Full replacement of a recording.
args:
workspace_id (int): Mandatory.
id (int): Mandatory.
name (str): Mandatory.
serviceId (int): Optional.
description (str): Optional.
tags (list[str]): Optional.
messages (list): Optional.
runtimeConfig (dict): Optional.
- patch_recording: Partial update — only provided fields are changed.
args:
workspace_id (int): Mandatory.
id (int): Mandatory.
name (str): Optional.
serviceId (int): Optional.
description (str): Optional.
tags (list[str]): Optional.
messages (list): Optional.
runtimeConfig (dict): Optional. {replayCount, delayBetweenReplays, initialDelay}.
## Recorded message actions
content fields are always base64-encoded. Assign sequential index values to control
playback order; if omitted the server assigns order by insertion sequence.
Notable JMS headers (use in headers[].name):
JMS_MESSAGE_ID, JMS_CORRELATION_ID, JMS_TIMESTAMP, JMS_DELIVERY_MODE,
JMS_REDELIVERED, JMS_EXPIRATION, JMS_PRIORITY
IBM MQ MQMD headers (IBM MQ protocols only):
MQ9_MQMD_MsgId, MQ9_MQMD_CorrelId, MQ9_MQMD_Format, MQ9_MQMD_ReplyToQ,
MQ9_MQMD_ReplyToQMgr, MQ9_MQMD_Persistence, MQ9_MQMD_Priority, MQ9_MQMD_Expiry
- list_messages: List messages within a recording (sorted by index).
args:
workspace_id (int): Mandatory.
recording_id (int): Mandatory.
limit (int, default=50): Max results.
offset (int, default=0): Pagination offset.
- create_message: Add a recorded message to a recording.
args:
workspace_id (int): Mandatory.
recording_id (int): Mandatory.
messageType (str): Mandatory. TEXT_MESSAGE | BYTES_MESSAGE | MAP_MESSAGE | STREAM_MESSAGE | OBJECT_MESSAGE.
content (str): Mandatory. Base64-encoded payload.
destination (str): Mandatory. Target queue/topic/subscription name.
destinationType (str): Mandatory. QUEUE | TOPIC | SUBSCRIPTION.
name (str): Optional.
index (int): Optional. Sequence position (auto-assigned if omitted).
delay (int): Optional. Inter-message delay in ms.
correlationId (str): Optional.
headers (list): Optional. [{name, value}] JMS/MQMD headers.
properties (list): Optional. [{name, value, type}] JMS properties.
recordedAt (str): Optional. ISO-8601 timestamp.
- update_message: Full replacement of a recorded message.
args: Same as create_message plus message_id (int): Mandatory.
- patch_message: Partial update of a recorded message — only provided fields change.
args:
workspace_id (int): Mandatory.
recording_id (int): Mandatory.
message_id (int): Mandatory.
messageType (str): Optional.
content (str): Optional. Base64-encoded.
destination (str): Optional.
destinationType (str): Optional.
name (str): Optional.
index (int): Optional.
delay (int): Optional.
correlationId (str): Optional.
headers (list): Optional.
properties (list): Optional.
recordedAt (str): Optional. ISO-8601 timestamp.
Recording schema:
{'$defs': {'HttpHeader': {'additionalProperties': True, 'properties': {'name': {'description': 'HTTP header name', 'title': 'Name', 'type': 'string'}, 'value': {'description': 'HTTP header value', 'title': 'Value', 'type': 'string'}}, 'required': ['name', 'value'], 'title': 'HttpHeader', 'type': 'object'}, 'MessagingProperty': {'additionalProperties': True, 'properties': {'name': {'description': 'JMS property name', 'title': 'Name', 'type': 'string'}, 'value': {'description': 'JMS property value', 'title': 'Value', 'type': 'string'}, 'type': {'description': "JMS property type. Supported types are 'BOOLEAN', 'BYTE', 'SHORT', 'INT', 'LONG', 'FLOAT', 'DOUBLE' and 'STRING'.", 'title': 'Type', 'type': 'string'}}, 'required': ['name', 'value', 'type'], 'title': 'MessagingProperty', 'type': 'object'}, 'RecordedMessage': {'properties': {'id': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'Unique identifier of the recorded message', 'title': 'Id'}, 'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Message name', 'title': 'Name'}, 'messageType': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'JMS message type. One of: TEXT_MESSAGE, BYTES_MESSAGE, MAP_MESSAGE, STREAM_MESSAGE, OBJECT_MESSAGE.', 'title': 'Messagetype'}, 'content': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Base64-encoded message payload', 'title': 'Content'}, 'destination': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Target queue/topic/subscription name', 'title': 'Destination'}, 'destinationType': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Destination type: QUEUE, TOPIC, or SUBSCRIPTION', 'title': 'Destinationtype'}, 'index': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'Sequence position within the recording (controls playback order)', 'title': 'Index'}, 'delay': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'Inter-message delay in ms', 'title': 'Delay'}, 'correlationId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'JMS correlation ID', 'title': 'Correlationid'}, 'headers': {'anyOf': [{'items': {'$ref': '#/$defs/HttpHeader'}, 'type': 'array'}, {'type': 'null'}], 'default': [], 'description': 'JMS / MQMD headers', 'title': 'Headers'}, 'properties': {'anyOf': [{'items': {'$ref': '#/$defs/MessagingProperty'}, 'type': 'array'}, {'type': 'null'}], 'default': [], 'description': 'JMS properties', 'title': 'Properties'}, 'recordedAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'ISO-8601 timestamp when message was recorded', 'title': 'Recordedat'}}, 'title': 'RecordedMessage', 'type': 'object'}, 'ReplayConfig': {'additionalProperties': True, 'properties': {'replayCount': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': 1, 'description': 'Number of times to replay the recording', 'title': 'Replaycount'}, 'delayBetweenReplays': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': 0, 'description': 'Delay in ms between replays', 'title': 'Delaybetweenreplays'}, 'initialDelay': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': 0, 'description': 'Initial delay in ms before the first replay', 'title': 'Initialdelay'}}, 'title': 'ReplayConfig', 'type': 'object'}}, 'properties': {'id': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'Unique identifier of the recording', 'title': 'Id'}, 'name': {'description': 'Recording name', 'title': 'Name', 'type': 'string'}, 'serviceId': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'ID of the parent service this recording belongs to', 'title': 'Serviceid'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Human-readable description', 'title': 'Description'}, 'tags': {'anyOf': [{'items': {'type': 'string'}, 'type': 'array'}, {'type': 'null'}], 'default': [], 'description': 'Tags for filtering', 'title': 'Tags'}, 'messages': {'anyOf': [{'items': {'$ref': '#/$defs/RecordedMessage'}, 'type': 'array'}, {'type': 'null'}], 'default': [], 'description': 'Recorded messages (inline on create or fetch with fetchMessages=true)', 'title': 'Messages'}, 'runtimeConfig': {'anyOf': [{'$ref': '#/$defs/ReplayConfig'}, {'type': 'null'}], 'default': None, 'description': 'Replay configuration for this recording'}}, 'required': ['name'], 'title': 'Recording', 'type': 'object'}
RecordedMessage schema:
{'$defs': {'HttpHeader': {'additionalProperties': True, 'properties': {'name': {'description': 'HTTP header name', 'title': 'Name', 'type': 'string'}, 'value': {'description': 'HTTP header value', 'title': 'Value', 'type': 'string'}}, 'required': ['name', 'value'], 'title': 'HttpHeader', 'type': 'object'}, 'MessagingProperty': {'additionalProperties': True, 'properties': {'name': {'description': 'JMS property name', 'title': 'Name', 'type': 'string'}, 'value': {'description': 'JMS property value', 'title': 'Value', 'type': 'string'}, 'type': {'description': "JMS property type. Supported types are 'BOOLEAN', 'BYTE', 'SHORT', 'INT', 'LONG', 'FLOAT', 'DOUBLE' and 'STRING'.", 'title': 'Type', 'type': 'string'}}, 'required': ['name', 'value', 'type'], 'title': 'MessagingProperty', 'type': 'object'}}, 'properties': {'id': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'Unique identifier of the recorded message', 'title': 'Id'}, 'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Message name', 'title': 'Name'}, 'messageType': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'JMS message type. One of: TEXT_MESSAGE, BYTES_MESSAGE, MAP_MESSAGE, STREAM_MESSAGE, OBJECT_MESSAGE.', 'title': 'Messagetype'}, 'content': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Base64-encoded message payload', 'title': 'Content'}, 'destination': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Target queue/topic/subscription name', 'title': 'Destination'}, 'destinationType': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Destination type: QUEUE, TOPIC, or SUBSCRIPTION', 'title': 'Destinationtype'}, 'index': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'Sequence position within the recording (controls playback order)', 'title': 'Index'}, 'delay': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'Inter-message delay in ms', 'title': 'Delay'}, 'correlationId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'JMS correlation ID', 'title': 'Correlationid'}, 'headers': {'anyOf': [{'items': {'$ref': '#/$defs/HttpHeader'}, 'type': 'array'}, {'type': 'null'}], 'default': [], 'description': 'JMS / MQMD headers', 'title': 'Headers'}, 'properties': {'anyOf': [{'items': {'$ref': '#/$defs/MessagingProperty'}, 'type': 'array'}, {'type': 'null'}], 'default': [], 'description': 'JMS properties', 'title': 'Properties'}, 'recordedAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'ISO-8601 timestamp when message was recorded', 'title': 'Recordedat'}}, 'title': 'RecordedMessage', 'type': 'object'}