> ## Documentation Index
> Fetch the complete documentation index at: https://social-b97141fb-auto-generate-llmstxt.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Create event

> Create a new event in a community feed.

**Event Types:**
- `virtual`: Online event (can have external URL or livestream)
- `in_person`: Physical event (requires location)

**Important Notes:**
- Start time must be in the future
- End time must be after start time
- Location is required for in-person events
- Only community members can create events in a community




## OpenAPI

````yaml https://raw.githubusercontent.com/AmityCo/apidocs/refs/heads/develop/bundled.json post /api/v1/events
openapi: 3.0.0
info:
  title: Social+ Cloud SDK
  description: >
    ## Using Social+ APIs


    Our API documentation explains all API endpoints used in Social+ Cloud. All
    APIs, with the exception of some authentication APIs, require an access
    token for authentication and authorization. APIs can be used either in Admin
    or User context. When used in user context, you will only be able to fetch
    data related to that user only.

    For Administrators who are using our API documentation in making
    server-to-server API calls, you need an Admin Access token to connect to the
    Social+ server. Refer to

    [this
    documentation](https://docs.social.plus/console/settings#admin-api-access-token)

    for the instructions on how to generate an admin access token.


    All backend endpoints that support Social+ Cloud SDK are included here. To
    easily differentiate the type of each endpoint, we added a prefix in each
    endpoint's path.


    - REST API Endpoint: **`/v1, /v2, /v3, /v4, or /v5 ...`**

    - Webhook Event: **`/webhook ...`**


    ---


    ## **Schema Definitions**


    This section provides detailed descriptions of the key schemas used in
    Social+ Cloud. Understanding these schemas is essential for effectively
    integrating our features into your applications. Each schema entry includes
    a concise description and highlights its core functionality and
    relationships within the platform. These definitions will help you grasp the
    structure and purpose of various components, ensuring a seamless and
    efficient development experience.


    ### **User**


    A User represents an individual who interacts with the Social+ Cloud. Users
    can create profiles, join communities, post content, comment, react, and
    engage with other users.


    ### **Role**


    A Role defines the permissions and access levels for Users within the
    Social+ Cloud. Roles can be assigned to manage and moderate content,
    ensuring a controlled and safe environment for all users.


    ### **Channel**


    A Channel is a primary structure used to implement various chat messaging
    capabilities within an application. Channels serve as containers for
    Subchannels, enabling a hierarchical organization of conversations. This
    structure allows developers to manage and navigate different chat threads
    efficiently.


    ### **Subchannel**


    A Subchannel is a subdivision within a Channel for specific conversation
    threads. Subchannels host all messages and interactions, providing organized
    discussions within a larger channel. Users can individually create, update,
    delete, and manage subchannels. Moderation actions, such as banning and
    muting, are applied at the channel level, affecting all subchannels.


    ### **ChannelUser**


    A ChannelUser represents an individual user within a specific Channel. This
    schema tracks user participation, roles, and permissions within the channel.
    Each ChannelUser can interact in subchannels, participate in discussions,
    and engage with other members. Users can be assigned roles with varying
    permissions, such as admin, moderator, or member, allowing for tailored
    access and control. Moderation actions like banning or muting a ChannelUser
    affect their participation across all subchannels within the channel.


    ### **Message**


    A Message facilitates real-time communication among channel users. Messages
    can contain up to 20,000 characters or weigh up to 100KB for custom content.
    For larger binary data, such as files, it's recommended to upload the data
    to a cloud storage service like AWS S3 and include the URL in the message.
    The SDK supports various message types, including text and image, built on a
    standard message layer.


    ### **Community**


    A Community is a feature that allows users to share their posts and comments
    and engage with each other within the app. Communities provide a dedicated
    space for discussing specific topics or interests.


    ### **CommunityUser**


    A CommunityUser represents an individual user within a specific Community.
    This schema tracks user participation, roles, and interactions within the
    community. CommunityUsers can join public or private communities,
    participate in discussions, and engage with other members. Each user can
    have different roles with varying permissions, such as admin, moderator, or
    member, which control their access and actions within the community.
    Moderation actions, like banning or muting, can be applied to CommunityUsers
    to maintain a safe and respectful environment.


    ### **CommunityCategory**


    A CommunityCategory helps organize and manage communities by categorizing
    them into specific groups. This categorization allows users to easily sort
    and filter communities based on their interests or needs.


    ### **Post**


    A Post is a piece of content created and shared by a user within a network
    or community. Posts can include text, images, videos, or other elements.
    Users can create, view, and interact with posts in a social feed, which can
    be displayed in chronological order and customized using various settings.
    Post types supported by Social+ include text, image, video, file, live
    stream, poll, and custom posts. The parent post serves as a container for
    text data, while each multimedia element (e.g., image, video) is treated as
    a separate child post. Both parent and child posts support reactions and
    comments, allowing users to engage comprehensively with content.


    ### **Comment**


    A Comment in Social+ Cloud is a user-generated response to specific content,
    such as a post or story. Comments enable users to engage in conversations,
    express thoughts, opinions, and emotions, fostering a sense of community
    around the content.


    **Comment Reference Types:**


    - **Post Type Comment:** Designed for regular posts like text updates,
    photos, or videos. These comments are associated with the post and displayed
    beneath it, promoting conversation and interaction.

    - **Story Type Comment:** Similar to post type comments but associated with
    stories, driving user engagement and discussion around short-lived content.

    - **Content Type Comment:** Intended for content-specific such as articles
    or specialized content, providing a more organized and contextual commenting
    experience.


    ### **Reaction**


    A Reaction is a user interaction on messages, posts, or comments, such as
    like, dislike, or love. The type of reactions is customizable. Currently,
    reactions are supported for Posts, Messages, and Comments.


    **Reaction Reference Types:**


    - **Comment Reference Type:** Allows users to query reactions on a specific
    comment, showing how others have responded to it.

    - **Post Reference Type:** Allows users to query reactions on a specific
    post, highlighting user engagement with the post.

    - **Story Reference Type:** Allows users to query reactions on a specific
    story, showing user reactions to the story.


    ### **File**


    A File in Social+ Cloud supports file upload and download, enabling
    file-sharing within applications. It handles various file types, including
    images, videos, audio, and documents, with a maximum size of 1 GB. This
    functionality allows users to share files directly in chats or social feeds,
    enhancing engagement and interaction.


    ### **Follow**


    A Follow schema in Social+ Cloud defines one-directional relationships
    between users, essential for social networking features. When user A follows
    user B, user A can see user B's updates in their feed, but user B does not
    need to reciprocate. This schema helps manage visibility and accessibility
    of user-generated content in user feeds.


    ---


    ## Select Region Endpoint


    Before making server-to-server API calls, be sure to select the correct API
    endpoint for your region in the **Servers** dropdown below.
  version: 4.118.0
servers:
  - url: https://apix.us.amity.co
    description: API Endpoint for US Region
  - url: https://apix.eu.amity.co
    description: API Endpoint for EU Region
  - url: https://apix.sg.amity.co
    description: API Endpoint for SG Region
security: []
paths:
  /api/v1/events:
    post:
      tags:
        - Event
      summary: Create event
      description: |
        Create a new event in a community feed.

        **Event Types:**
        - `virtual`: Online event (can have external URL or livestream)
        - `in_person`: Physical event (requires location)

        **Important Notes:**
        - Start time must be in the future
        - End time must be after start time
        - Location is required for in-person events
        - Only community members can create events in a community
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - title
                - type
                - startTime
                - endTime
                - originType
                - originId
              properties:
                title:
                  type: string
                  minLength: 1
                  maxLength: 60
                description:
                  type: string
                  maxLength: 1000
                type:
                  type: string
                  enum:
                    - virtual
                    - in_person
                streamType:
                  type: string
                  enum:
                    - directStreaming
                    - coHosts
                  default: coHosts
                  description: Livestream type for virtual events
                startTime:
                  type: string
                  format: date-time
                endTime:
                  type: string
                  format: date-time
                location:
                  type: string
                  maxLength: 200
                externalUrl:
                  type: string
                coverImageFileId:
                  type: string
                originType:
                  type: string
                  enum:
                    - community
                    - user
                  default: community
                originId:
                  type: string
                tags:
                  type: array
                  maxItems: 5
                  items:
                    type: string
                    maxLength: 100
                isLocationVisible:
                  type: boolean
                  default: true
                liveChatEnabled:
                  type: boolean
                  default: true
                  description: Enable live chat on the livestream of a virtual event
                metadata:
                  type: object
      responses:
        '200':
          description: Event created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  events:
                    type: array
                    items:
                      type: object
                      properties:
                        eventId:
                          type: string
                          description: Unique identifier for the event
                        userId:
                          type: string
                          description: Public user ID of the event creator
                        userInternalId:
                          type: string
                          description: Internal user ID of the event creator
                        userPublicId:
                          type: string
                          description: >-
                            Public (customer-facing) user ID of the event
                            creator
                        publisherId:
                          type: string
                          description: >-
                            Public user ID the event was published on behalf of
                            (impersonation). Absent otherwise.
                        publisherInternalId:
                          type: string
                          description: Internal user ID of the publisher
                        publisherPublicId:
                          type: string
                          description: Public (customer-facing) user ID of the publisher
                        title:
                          type: string
                          description: Event title
                          minLength: 1
                          maxLength: 60
                        description:
                          type: string
                          description: Event description
                          maxLength: 1000
                        type:
                          type: string
                          enum:
                            - virtual
                            - in_person
                          description: Event type (virtual or in-person)
                        status:
                          type: string
                          enum:
                            - scheduled
                            - live
                            - ended
                            - cancelled
                          description: Current status of the event
                        startTime:
                          type: string
                          format: date-time
                          description: Event start time (ISO 8601 format)
                        endTime:
                          type: string
                          format: date-time
                          description: Event end time (ISO 8601 format)
                        location:
                          type: string
                          description: Physical location address (for in-person events)
                          maxLength: 200
                        externalUrl:
                          type: string
                          description: External URL for virtual events (e.g., Zoom, Teams)
                        coverImageFileId:
                          type: string
                          description: File ID of the cover image
                        originId:
                          type: string
                          description: >-
                            ID of the origin (community ID, or user ID when
                            `originType` is `user`)
                        originType:
                          type: string
                          enum:
                            - community
                            - user
                          description: Origin type of the event
                        discussionCommunityId:
                          type: string
                          description: ID of the event discussion community
                        postId:
                          type: string
                          description: >-
                            ID of the livestream post backing a `virtual` event.
                            Absent for `in_person` events.
                        path:
                          type: string
                          description: Hierarchy path of the event
                        isOriginPublic:
                          type: boolean
                          description: Whether the origin community is public
                        rsvpCount:
                          type: integer
                          description: Number of users who RSVP'd as 'going'
                        interestedCount:
                          type: integer
                          description: Number of users who RSVP'd as 'interested'
                        tags:
                          type: array
                          items:
                            type: string
                            maxLength: 100
                          description: Event tags for categorization
                          maxItems: 10
                        metadata:
                          type: object
                          description: Additional metadata
                        isDeleted:
                          type: boolean
                          description: Whether the event is deleted
                        createdAt:
                          type: string
                          format: date-time
                          description: Event creation timestamp
                        updatedAt:
                          type: string
                          format: date-time
                          description: Event last update timestamp
                  users:
                    type: array
                    items:
                      type: object
                      properties:
                        _id:
                          type: string
                          description: Private ID of a user. (for real-time event)
                        path:
                          type: string
                          description: Path of a user. (for real-time event)
                        userId:
                          type: string
                        userInternalId:
                          type: string
                        userPublicId:
                          type: string
                        roles:
                          type: array
                          items:
                            type: string
                        permissions:
                          type: array
                          items:
                            type: string
                            enum:
                              - MUTE_CHANNEL
                              - CLOSE_CHANNEL
                              - EDIT_CHANNEL
                              - EDIT_CHANNEL_RATELIMIT
                              - EDIT_MESSAGE
                              - DELETE_MESSAGE
                              - BAN_USER_FROM_CHANNEL
                              - MUTE_USER_INSIDE_CHANNEL
                              - ADD_CHANNEL_USER
                              - REMOVE_CHANNEL_USER
                              - EDIT_CHANNEL_USER
                              - ASSIGN_CHANNEL_USER_ROLE
                              - BAN_USER
                              - EDIT_USER
                              - ASSIGN_USER_ROLE
                              - EDIT_USER_FEED_POST
                              - DELETE_USER_FEED_POST
                              - EDIT_USER_FEED_COMMENT
                              - DELETE_USER_FEED_COMMENT
                              - ADD_COMMUNITY_USER
                              - REMOVE_COMMUNITY_USER
                              - EDIT_COMMUNITY_USER
                              - BAN_COMMUNITY_USER
                              - MUTE_COMMUNITY_USER
                              - EDIT_COMMUNITY
                              - DELETE_COMMUNITY
                              - EDIT_COMMUNITY_POST
                              - DELETE_COMMUNITY_POST
                              - PIN_COMMUNITY_POST
                              - EDIT_COMMUNITY_COMMENT
                              - DELETE_COMMUNITY_COMMENT
                              - ASSIGN_COMMUNITY_USER_ROLE
                              - CREATE_COMMUNITY_CATEGORY
                              - EDIT_COMMUNITY_CATEGORY
                              - DELETE_COMMUNITY_CATEGORY
                              - CREATE_ROLE
                              - EDIT_ROLE
                              - DELETE_ROLE
                              - MANAGE_COMMUNITY_STORY
                        displayName:
                          type: string
                        profileHandle:
                          type: string
                        description:
                          type: string
                        avatarFileId:
                          type: string
                        avatarCustomUrl:
                          type: string
                        flagCount:
                          type: integer
                        hashFlag:
                          type: object
                          properties:
                            bits:
                              type: integer
                            hashes:
                              type: integer
                            hash:
                              type: array
                              items:
                                type: string
                        metadata:
                          type: object
                        isGlobalBan:
                          type: boolean
                          description: Global ban status. Every user can see this flag.
                        isBrand:
                          type: boolean
                          description: Brand user status.
                        createdAt:
                          type: string
                          format: date-time
                        updatedAt:
                          type: string
                          format: date-time
                        isDeleted:
                          type: boolean
                      required:
                        - userId
                        - createdAt
                        - updatedAt
                  files:
                    type: array
                    items:
                      type: object
                      properties:
                        fileId:
                          type: string
                          description: Root file key on cloud storage.
                        fileUrl:
                          type: string
                          description: Http link for download file
                        type:
                          type: string
                          description: File type.
                          enum:
                            - image
                            - file
                            - video
                        accessType:
                          type: string
                          description: >-
                            File access type. `network` type requires
                            authentication to download.
                          enum:
                            - public
                            - network
                          default: public
                        altText:
                          type: string
                          description: Alternative text for the file.
                          maxLength: 180
                        createdAt:
                          type: string
                          description: The date/time when a file is uploaded.
                          format: date-time
                        updatedAt:
                          type: string
                          description: The date/time when a file is updated.
                          format: date-time
                        attributes:
                          type: object
                          properties:
                            name:
                              type: string
                              description: File name.
                            extension:
                              type: string
                              description: File format.
                            size:
                              type: number
                              description: File size.
                            mimeType:
                              type: string
                              description: File mime-type.
                            metadata:
                              type: object
                              description: File image metadata (width, height etc.).
                              properties:
                                exif:
                                  type: object
                                gps:
                                  type: object
                                height:
                                  type: number
                                width:
                                  type: number
                                isFull:
                                  type: boolean
                  communities:
                    type: array
                    items:
                      type: object
                      properties:
                        _id:
                          type: string
                          description: Private ID of a community. (for real-time event)
                        path:
                          type: string
                          description: Path of a community. (for real-time event)
                        communityId:
                          type: string
                          description: ID of a community.
                        channelId:
                          type: string
                          description: ID of a channel.
                        userId:
                          type: string
                          description: ID of a creator.
                        userPublicId:
                          type: string
                          description: Public ID of a creator.
                        userInternalId:
                          type: string
                          description: Internal ID of a creator.
                        displayName:
                          type: string
                          description: Community name for displaying.
                        avatarFileId:
                          type: string
                          description: ID of a avatar file.
                        description:
                          type: string
                          description: Description of a community.
                        isOfficial:
                          type: boolean
                          description: Is this community official?
                        isPublic:
                          type: boolean
                          description: Is this community public?
                        onlyAdminCanPost:
                          type: boolean
                          description: Can post by admin only?
                        tags:
                          type: array
                          description: List of tags. They will be used for searching.
                          items:
                            type: string
                        metadata:
                          type: object
                          description: Additional properties to support custom fields.
                        postsCount:
                          type: integer
                          description: Number of posts in community.
                        membersCount:
                          type: integer
                          description: Number of members in community.
                        isJoined:
                          type: boolean
                          description: Is this community joined?
                        categoryIds:
                          type: array
                          items:
                            type: string
                            description: ID of a category.
                        isDeleted:
                          type: boolean
                          default: false
                          description: Is this community deleted?
                        createdAt:
                          type: string
                          description: The date/time when a community is created.
                          format: date-time
                        updatedAt:
                          type: string
                          description: >-
                            The date/time when a community is updated or
                            deleted.
                          format: date-time
                        hasFlaggedComment:
                          type: boolean
                          default: false
                          description: >-
                            The flag for checking internally that comments
                            inside post is reported or not.
                        hasFlaggedPost:
                          type: boolean
                          default: false
                          description: >-
                            The flag for checking internally that post inside
                            community is reported or not.
                        needApprovalOnPostCreation:
                          type: boolean
                          default: false
                          description: >-
                            Determines that this community require an authorize
                            user to review post before post is published
                        moderatorMemberCount:
                          type: integer
                        allowCommentInStory:
                          type: boolean
                          default: true
                        isDiscoverable:
                          type: boolean
                          default: false
                          description: >
                            * If true, this private community will be
                            discoverable in the query response.

                            * If false, this private community will not appear
                            in the list but can still be accessed via its ID.
                        requiresJoinApproval:
                          type: boolean
                          default: false
                          description: >
                            * If true, users will need to be approved by an
                            admin before they can join the community.

                            * If false, users can join the community without
                            approval.
                        notificationMode:
                          type: string
                          enum:
                            - default
                            - silent
                            - subscribe
                          description: |
                            Notification Mode:
                              * `default` - Auto register push notification.
                              * `silent` - Do not send notification.
                              * `subscribe` - Send notification to subscribed users only.
                        type:
                          type: string
                          enum:
                            - default
                            - event
                          description: Type of the community.
                      required:
                        - communityId
                        - channelId
                        - displayName
                  posts:
                    type: array
                    items:
                      type: object
                      properties:
                        _id:
                          type: string
                          description: Private ID of a post. (for real-time event)
                        path:
                          type: string
                          description: Path of a post. (for real-time event)
                        postId:
                          type: string
                          description: ID of a post.
                        parentPostId:
                          type: string
                          description: ID of a parent post.
                        postedUserId:
                          type: string
                          description: ID of a creator.
                        postedUserPublicId:
                          type: string
                          description: Public ID of a creator.
                        postedUserInternalId:
                          type: string
                          description: Internal ID of a creator.
                        sharedUserId:
                          type: string
                          description: ID of a shared owner.
                        sharedCount:
                          type: integer
                          description: number of shared post.
                        targetId:
                          type: string
                          description: ID of a target.
                        targetPublicId:
                          type: string
                          description: Public ID of a target.
                        targetInternalId:
                          type: string
                          description: Internal ID of a target.
                        targetType:
                          type: string
                          enum:
                            - user
                            - community
                            - content
                          description: Type of a target (user, community, content).
                        dataType:
                          type: string
                          enum:
                            - text
                            - image
                            - file
                            - video
                            - liveStream
                          description: >-
                            Type of a post (ex. text, image, file, video or
                            anything in namespace like format (a.b.c.d)).
                          default: text
                        data:
                          type: object
                          description: >-
                            Body of a post. (It can be anything when dataType is
                            not text, image, file)
                          properties:
                            title:
                              type: string
                              description: Title of a post.
                              maxLength: 150
                            text:
                              type: string
                              description: post text.
                            fileId:
                              type: string
                              description: >-
                                file key on cloud storage (for image, file
                                post).
                            thumbnailFileId:
                              type: string
                              description: video thumbnail file id (for video post).
                            videoFileId:
                              type: object
                              description: video file id for each quality (for video post).
                              properties:
                                original:
                                  type: string
                                  description: original file id
                                low:
                                  type: string
                                  description: low video quality file id
                                medium:
                                  type: string
                                  description: medium video quality file id
                                high:
                                  type: string
                                  description: high video quality file id
                            streamId:
                              type: string
                              description: >-
                                parent video streaming id (for video streaming
                                post) - must be a parent stream
                        metadata:
                          type: object
                          description: Additional properties to support custom fields.
                        flagCount:
                          type: integer
                          description: The number of users that has read this post.
                        hashFlag:
                          type: object
                          description: >-
                            The flag for checking internally that this post is
                            reported or not.
                          properties:
                            bits:
                              type: integer
                            hashes:
                              type: integer
                            hash:
                              type: array
                              items:
                                type: string
                        editedAt:
                          type: string
                          description: >-
                            The date/time when text or metadata of post is
                            updated.
                          format: date-time
                        createdAt:
                          type: string
                          description: The date/time when a post is created.
                          format: date-time
                        updatedAt:
                          type: string
                          description: The date/time when a post is updated or deleted.
                          format: date-time
                        reactions:
                          type: object
                          description: The mapping of reaction with reactionCounter.
                          example:
                            like: 1
                        reactionsCount:
                          type: integer
                          description: The number of all reactions for this post.
                          example: 1
                        myReactions:
                          type: array
                          items:
                            type: string
                            example: like
                          description: The list of my reactions to this post.
                        commentsCount:
                          type: integer
                          description: The number of all comments for this post.
                          example: 1
                        comments:
                          type: array
                          items:
                            type: string
                            description: ID of a comment.
                        children:
                          type: array
                          items:
                            type: string
                            description: ID of a children post.
                        childrenNumber:
                          type: integer
                          description: The number of all children posts for this post.
                        isDeleted:
                          type: boolean
                          default: false
                          description: A flag to deleted a post.
                        hasFlaggedComment:
                          type: boolean
                          default: false
                          description: >-
                            The flag for checking internally that comments
                            inside post is reported or not.
                        hasFlaggedChildren:
                          type: boolean
                          default: false
                          description: >-
                            The flag for checking internally that children post
                            is reported or not.
                        feedId:
                          type: string
                          description: Feed public id
                        tags:
                          type: array
                          minItems: 0
                          maxItems: 5
                          items:
                            type: string
                            maxLength: 24
                        hashtags:
                          type: array
                          minItems: 0
                          maxItems: 30
                          items:
                            type: string
                            maxLength: 100
                            example: technology
                          example:
                            - technology
                            - programming
                            - web_development
                            - JavaScript
                            - AI_trends
                          description: Hashtags associated with the post.
                        mentionees:
                          type: array
                          description: >-
                            The object of the mentions type and user who get a
                            notification from the post.
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >
                                  type: * `user` - need to specific userIds and
                                  notification mentions individual user
                                enum:
                                  - user
                              userIds:
                                type: array
                                description: Array of UserId.
                                items:
                                  type: string
                              userPublicIds:
                                type: array
                                description: Array of UserPublicId.
                                items:
                                  type: string
                              userInternalIds:
                                type: array
                                description: Array of UserInternalId.
                                items:
                                  type: string
                        impression:
                          type: integer
                        reach:
                          type: integer
                        structureType:
                          type: string
                          description: Structure type of the post
                          enum:
                            - file
                            - image
                            - video
                            - audio
                            - text
                            - liveStream
                            - poll
                            - clip
                            - room
                            - mixed
                          example: text
                      required:
                        - postId
                        - data
                  rooms:
                    type: array
                    items:
                      type: object
                      properties:
                        _id:
                          type: string
                          description: Internal room ID
                        type:
                          type: string
                          enum:
                            - directStreaming
                            - coHosts
                          description: >
                            Type of room * directStreaming - single participant
                            streaming * coHosts - More than one participant
                        targetId:
                          type: string
                          description: ID of the target of the entity that room belongs to
                        targetType:
                          type: string
                          enum:
                            - community
                            - user
                          description: Target of the entity that room belongs to
                        referenceType:
                          type: string
                          description: Entity that room is associated with
                          enum:
                            - post
                        referenceId:
                          type: string
                          description: Entity ID that room is associated with
                        liveChannelId:
                          type: string
                          description: Associated live channel ID for chat
                        liveChatEnabled:
                          type: boolean
                          description: Whether live channel is enabled
                        title:
                          type: string
                          description: Room title
                        roomId:
                          type: string
                          description: Public room ID
                        description:
                          type: string
                          description: Room description
                        thumbnailFileId:
                          type: string
                          description: Thumbnail file ID
                        status:
                          type: string
                          enum:
                            - idle
                            - live
                            - waitingReconnect
                            - ended
                            - recorded
                          description: >
                            Status of room * idle - room is just created * live
                            - broadcasting is active * waitingReconnect -
                            broadcaster disconnected, waiting for reconnection *
                            ended - broadcasting stopped * recorded - room
                            recordings available
                        participants:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - coHost
                                  - host
                              userId:
                                type: string
                              userInternalId:
                                type: string
                                example: 64be1f6cb9b4106b5a6bbf3f
                          description: List of room streaming participants
                        livePlaybackUrl:
                          type: string
                          description: Live playback URL
                          example: https://stream.example.com/someid.m3u8?token=token
                        liveThumbnailUrl:
                          type: string
                          description: Live thumbnail URL
                          example: >-
                            https://image.example.com/someid/thumbnail.png?token=token
                        recordedPlaybackInfos:
                          type: array
                          description: Recorded playback URLs and thumbnails
                          items:
                            type: object
                            properties:
                              url:
                                type: string
                                description: Recorded playback URL
                                example: >-
                                  https://apix.eu.amity.co/api/v1/rooms/roomid/recorded/someid/watch
                              thumbnailUrl:
                                type: string
                                description: Recorded thumbnail URL
                                example: >-
                                  https://apix.eu.amity.co/api/v1/rooms/roomid/recorded/someid/thumbnail
                        durationSeconds:
                          type: number
                          description: >-
                            Duration of the broadcast in seconds (only for
                            ended/recorded rooms)
                        moderation:
                          type: object
                          description: >-
                            Moderation information including flagged and
                            terminated labels
                          properties:
                            flagLabels:
                              type: array
                              description: Labels that triggered flag actions
                              items:
                                type: object
                                properties:
                                  category:
                                    type: string
                                    description: Moderation category
                                  threshold:
                                    type: number
                                    description: Threshold value that triggered the flag
                                  detectedAt:
                                    type: string
                                    format: date-time
                                    description: When the flag was detected
                            terminateLabels:
                              type: array
                              description: Labels that triggered terminate actions
                              items:
                                type: object
                                properties:
                                  category:
                                    type: string
                                    description: Moderation category
                                  threshold:
                                    type: number
                                    description: Threshold value that triggered termination
                                  detectedAt:
                                    type: string
                                    format: date-time
                                    description: When the termination was detected
                            updatedAt:
                              type: string
                              format: date-time
                              description: Last moderation update timestamp
                        parentRoomId:
                          type: string
                          description: Parent room ID for child streams
                        childRoomIds:
                          type: array
                          items:
                            type: string
                          description: Child room IDs
                          default: []
                        createdAt:
                          type: string
                          format: date-time
                          description: Creation timestamp
                        createdBy:
                          type: string
                          description: Room creator user public ID
                        creatorInternalId:
                          type: string
                          example: 64be1f6cb9b4106b5a6bbf3f
                          description: Room creator user internal ID
                        updatedAt:
                          type: string
                          format: date-time
                          description: Last update timestamp
                        liveAt:
                          type: string
                          format: date-time
                          description: When broadcasting started
                        endedAt:
                          type: string
                          format: date-time
                          description: When broadcasting ended
                        recordedAt:
                          type: string
                          format: date-time
                          description: When recording became available
                        isDeleted:
                          type: boolean
                          description: Whether room is deleted
                        deletedAt:
                          type: string
                          format: date-time
                          description: Deletion timestamp
                        deletedBy:
                          type: string
                          description: User who deleted the room
                        path:
                          type: string
                          description: Room path for realtime events
                        metadata:
                          type: object
                          description: Custom metadata
        '400':
          description: Bad Request error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  code:
                    type: number
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      detail:
                        oneOf:
                          - type: array
                            items:
                              type: string
                          - type: object
              example:
                status: error
                code: 400000
                message: Bad Request.
        '403':
          description: No permission to access this resource.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  code:
                    type: number
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      detail:
                        oneOf:
                          - type: array
                            items:
                              type: string
                          - type: object
              example:
                status: error
                code: 400300
                message: Forbidden error.
        '404':
          description: Resource Not Found error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  code:
                    type: number
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      detail:
                        oneOf:
                          - type: array
                            items:
                              type: string
                          - type: object
              example:
                status: error
                code: 400400
                message: Resource Not Found.
        '429':
          description: >-
            Error due to a client create the same request with the same
            parameters exceed the number of time that server limit to.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  code:
                    type: number
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      detail:
                        oneOf:
                          - type: array
                            items:
                              type: string
                          - type: object
              example:
                status: error
                code: 400311
                message: RateLimit Exceed.
        '500':
          description: Unexpected error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  code:
                    type: number
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      detail:
                        oneOf:
                          - type: array
                            items:
                              type: string
                          - type: object
              example:
                status: error
                code: 500000
                message: Unexpected error
      security:
        - BearerAuth: []
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````