{
    "$schema": "http://json-schema.org/draft/2019-09/schema#",
    "additionalProperties": false,
    "description": "Describes MXL transport parameters. The constraints in this schema are minimum constraints, but may be further constrained at the constraints endpoint. Senders support at least the `mxl_domain_id` and `mxl_flow_id` parameters.",
    "patternProperties": {
        "^ext_[a-zA-Z0-9_]+$": {
            "$schema": "http://json-schema.org/draft/2019-09/schema#",
            "description": "Describes external Sender transport parameters defined in other AMWA specifications. The constraints in this schema are minimum constraints, but may be further constrained at the constraints endpoint.",
            "title": "External Sender Transport Parameters",
            "type": [
                "string",
                "boolean",
                "null",
                "number"
            ]
        }
    },
    "properties": {
        "mxl_domain_id": {
            "anyOf": [
                {
                    "type": "null"
                },
                {
                    "const": "auto",
                    "type": "string"
                },
                {
                    "$schema": "http://json-schema.org/draft/2019-09/schema#",
                    "description": "MXL flow or domain identifier as a lowercase canonical textual UUID. Restricted to RFC 9562 versions 1-15 (version nibble 1-f) and the standard RFC 4122/9562 variants.",
                    "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-9a-f][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                    "title": "MXL UUID",
                    "type": "string"
                }
            ],
            "description": "Specifies the MXL Domain ID where the MXL Flow will be located. The Sender lists allowed Domain IDs in the constraints endpoint. Where the Domain is not yet determined, implementations use null. MXL Senders accept null where the MXL Domain is unknown a priori in a multi-domain system. MXL Senders support `auto` where the Sender can resolve the Domain without a Controller-supplied Domain ID. Where `auto` cannot be resolved to a valid value for /active in the current operating context, the Sender may reject the request or activation. The constraints endpoint does not list `auto` as an available option."
        },
        "mxl_flow_id": {
            "anyOf": [
                {
                    "type": "null"
                },
                {
                    "const": "auto",
                    "type": "string"
                },
                {
                    "$schema": "http://json-schema.org/draft/2019-09/schema#",
                    "description": "MXL flow or domain identifier as a lowercase canonical textual UUID. Restricted to RFC 9562 versions 1-15 (version nibble 1-f) and the standard RFC 4122/9562 variants.",
                    "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-9a-f][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                    "title": "MXL UUID",
                    "type": "string"
                }
            ],
            "description": "Specifies the MXL Flow ID for the MXL write operation. The Sender lists allowed Flow IDs in the constraints endpoint. Where the flow is not yet determined, implementations use null. MXL Senders accept null including where the MXL Flow is not yet configured. MXL Senders support `auto` where the Sender resolves the MXL Flow ID (for example when only one MXL Flow applies). Where `auto` cannot be resolved to a valid value for /active in the current operating context, the Sender may reject the request or activation. The constraints endpoint does not list auto as an available option."
        }
    },
    "title": "MXL Sender Transport Parameters",
    "type": "object"
}
