{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amazon-chime/json-schema/amazon-chime-create-meeting-with-attendees-request-schema.json",
  "title": "CreateMeetingWithAttendeesRequest",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amazon-chime-meetings-api-openapi.yml#/components/schemas/CreateMeetingWithAttendeesRequest",
  "type": "object",
  "properties": {
    "ClientRequestToken": {
      "type": "string",
      "description": "The unique identifier for the client request. Use a different token for different meetings."
    },
    "MediaRegion": {
      "type": "string",
      "description": "The Region in which to create the meeting. Available values: af-south-1, ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2. Available values in Amazon Web Services GovCloud (US) Regions: us-gov-east-1, us-gov-west-1."
    },
    "MeetingHostId": {
      "type": "string",
      "description": "Reserved."
    },
    "ExternalMeetingId": {
      "type": "string",
      "description": "The external meeting ID. Pattern: [-_&@+=,(){}\\[\\]\\/«».:|'\"#a-zA-Z0-9À-ÿ\\s]* Values that begin with aws: are reserved. You can't configure a value that uses this prefix. Case insensitive."
    },
    "MeetingFeatures": {
      "$ref": "#/$defs/MeetingFeaturesConfiguration"
    },
    "NotificationsConfiguration": {
      "$ref": "#/$defs/NotificationsConfiguration"
    },
    "Attendees": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/CreateAttendeeRequestItem"
      },
      "description": "The attendee information, including attendees' IDs and join tokens."
    },
    "PrimaryMeetingId": {
      "type": "string",
      "description": "When specified, replicates the media from the primary meeting to the new meeting."
    },
    "TenantIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "A consistent and opaque identifier, created and maintained by the builder to represent a segment of their users."
    },
    "Tags": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Tag"
      },
      "description": "The tags in the request."
    },
    "MediaPlacementNetworkType": {
      "type": "string",
      "enum": [
        "Ipv4Only",
        "DualStack"
      ],
      "description": "The type of network for the media placement. Either IPv4 only or dual-stack (IPv4 and IPv6)."
    }
  },
  "required": [
    "ClientRequestToken",
    "MediaRegion",
    "ExternalMeetingId",
    "Attendees"
  ],
  "$defs": {
    "AttendeeCapabilities": {
      "type": "object",
      "properties": {
        "Audio": {
          "type": "string",
          "enum": [
            "SendReceive",
            "Send",
            "Receive",
            "None"
          ],
          "description": "The audio capability assigned to an attendee."
        },
        "Video": {
          "type": "string",
          "enum": [
            "SendReceive",
            "Send",
            "Receive",
            "None"
          ],
          "description": "The video capability assigned to an attendee."
        },
        "Content": {
          "type": "string",
          "enum": [
            "SendReceive",
            "Send",
            "Receive",
            "None"
          ],
          "description": "The content capability assigned to an attendee."
        }
      },
      "required": [
        "Audio",
        "Video",
        "Content"
      ]
    },
    "AttendeeFeatures": {
      "type": "object",
      "properties": {
        "MaxCount": {
          "type": "integer",
          "description": "The maximum number of attendees allowed into the meeting."
        }
      }
    },
    "AudioFeatures": {
      "type": "object",
      "properties": {
        "EchoReduction": {
          "type": "string",
          "enum": [
            "AVAILABLE",
            "UNAVAILABLE"
          ],
          "description": "Makes echo reduction available to clients who connect to the meeting."
        }
      }
    },
    "ContentFeatures": {
      "type": "object",
      "properties": {
        "MaxResolution": {
          "type": "string",
          "enum": [
            "None",
            "FHD",
            "UHD"
          ],
          "description": "The maximum resolution for the meeting content. Defaults to FHD. To use UHD, you must also provide a MeetingFeatures:Attendee:MaxCount value and override the default size limit of 250 attendees."
        }
      }
    },
    "CreateAttendeeRequestItem": {
      "type": "object",
      "properties": {
        "ExternalUserId": {
          "type": "string",
          "description": "The Amazon Chime SDK external user ID. An idempotency token. Links the attendee to an identity managed by a builder application. Pattern: [-_&@+=,(){}\\[\\]\\/«».:|'\"#a-zA-Z0-9À-ÿ\\s]* Values that begin with aws: are reserved. You can't configure a value that uses this prefix. Case insensitive."
        },
        "Capabilities": {
          "$ref": "#/$defs/AttendeeCapabilities"
        }
      },
      "required": [
        "ExternalUserId"
      ]
    },
    "MeetingFeaturesConfiguration": {
      "type": "object",
      "properties": {
        "Audio": {
          "$ref": "#/$defs/AudioFeatures"
        },
        "Video": {
          "$ref": "#/$defs/VideoFeatures"
        },
        "Content": {
          "$ref": "#/$defs/ContentFeatures"
        },
        "Attendee": {
          "$ref": "#/$defs/AttendeeFeatures"
        }
      }
    },
    "NotificationsConfiguration": {
      "type": "object",
      "properties": {
        "LambdaFunctionArn": {
          "type": "string",
          "description": "The ARN of the Amazon Web Services Lambda function in the notifications configuration."
        },
        "SnsTopicArn": {
          "type": "string",
          "description": "The ARN of the SNS topic."
        },
        "SqsQueueArn": {
          "type": "string",
          "description": "The ARN of the SQS queue."
        }
      }
    },
    "Tag": {
      "type": "object",
      "properties": {
        "Key": {
          "type": "string",
          "description": "The tag's key."
        },
        "Value": {
          "type": "string",
          "description": "The tag's value."
        }
      },
      "required": [
        "Key",
        "Value"
      ]
    },
    "VideoFeatures": {
      "type": "object",
      "properties": {
        "MaxResolution": {
          "type": "string",
          "enum": [
            "None",
            "HD",
            "FHD"
          ],
          "description": "The maximum video resolution for the meeting. Applies to all attendees. Defaults to HD. To use FHD, you must also provide a MeetingFeatures:Attendee:MaxCount value and override the default size limit of 250 attendees."
        }
      }
    }
  }
}