Schema describing the standard AMQP 0-9-1 message properties (Basic.Properties). These properties are defined in the AMQP specification and provide metadata about the message content, delivery, and routing.
AMQP Message Properties is a JSON Structure definition published by AMQP, describing 14 properties. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
{
"$id": "https://raw.githubusercontent.com/api-evangelist/amqp/refs/heads/main/json-structure/amqp-message-properties-structure.json",
"$schema": "https://json-structure.org/meta/core/v0/#",
"name": "AMQP Message Properties",
"description": "Schema describing the standard AMQP 0-9-1 message properties (Basic.Properties). These properties are defined in the AMQP specification and provide metadata about the message content, delivery, and routing.",
"type": "object",
"properties": {
"contentType": {
"type": "string",
"description": "MIME content type of the message body (e.g., application/json, text/plain).",
"examples": [
"application/json",
"text/plain",
"application/octet-stream"
]
},
"contentEncoding": {
"type": "string",
"description": "MIME content encoding of the message body (e.g., utf-8, gzip).",
"examples": [
"utf-8",
"gzip"
]
},
"headers": {
"type": "object",
"description": "Application-specific message headers as an AMQP field table.",
"additionalProperties": true
},
"deliveryMode": {
"type": "int32",
"description": "Message delivery mode. 1 = non-persistent (may be lost on broker restart), 2 = persistent (written to disk).",
"enum": [
1,
2
]
},
"priority": {
"type": "int32",
"description": "Message priority level from 0 (lowest) to 9 (highest).",
"minimum": 0,
"maximum": 9
},
"correlationId": {
"type": "uuid",
"description": "Application-defined correlation identifier, typically used to correlate RPC responses with requests."
},
"replyTo": {
"type": "string",
"description": "Name of the queue to which replies should be sent, used in the request/reply messaging pattern."
},
"expiration": {
"type": "string",
"description": "Message expiration (TTL) as a string representing milliseconds. The message will be discarded after this duration.",
"pattern": "^[0-9]+$"
},
"messageId": {
"type": "uuid",
"description": "Application-defined unique message identifier."
},
"timestamp": {
"type": "int32",
"description": "Message timestamp as a UNIX epoch timestamp (seconds since 1970-01-01T00:00:00Z)."
},
"type": {
"type": "string",
"description": "Application-defined message type name, used to describe the kind of message.",
"examples": [
"order.created",
"payment.processed",
"user.registered"
]
},
"userId": {
"type": "string",
"description": "The user ID of the authenticated user who published the message. Validated by the broker against the connection credentials."
},
"appId": {
"type": "string",
"description": "Application identifier of the publishing application."
},
"clusterId": {
"type": "string",
"description": "Cluster identifier for use by clustering applications. Deprecated in AMQP 0-9-1."
}
},
"additionalProperties": false
}