> ## 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 a story

> Create a story



## OpenAPI

````yaml https://raw.githubusercontent.com/AmityCo/apidocs/refs/heads/develop/bundled.json post /api/v4/stories
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/v4/stories:
    post:
      tags:
        - Story
      summary: Create a story
      description: Create a story
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  description: >-
                    Main data contained in the story, required only 1 field
                    depends on dataType. The size of this object must be less
                    than 10 KB.
                  properties:
                    text:
                      type: string
                      description: text data (required if dataType is text)
                      example: example text
                    fileId:
                      type: string
                      description: >-
                        image or video file id (required if dataType is image or
                        video)
                    imageDisplayMode:
                      type: string
                      description: >
                        image display mode (required if dataType is image)
                        represents the display mode of an image for maintaining
                        the correct visual dimensions when displaying or
                        processing image.
                      enum:
                        - fit
                        - fill
                      default: fit
                dataType:
                  type: string
                  enum:
                    - text
                    - image
                    - video
                items:
                  type: array
                  description: >-
                    List of items contained in story. Currently only support
                    hyperlink item. Only one hyperlink item is allowed per
                    story.
                  items:
                    type: object
                    description: >-
                      Story item. Currently support only hyperlink item. Only
                      one hyperlink item is allowed per story.
                    properties:
                      type:
                        type: string
                        description: >-
                          Type of the story item. Currently support only
                          hyperlink
                        enum:
                          - hyperlink
                        default: hyperlink
                      data:
                        oneOf:
                          - type: object
                            description: >-
                              Data of a hyperlink item. Required when item type
                              is hyperlink.
                            properties:
                              url:
                                type: string
                                description: URL of the hyperlink.
                                maxLength: 1000
                              customText:
                                type: string
                                description: Custom text of the hyperlink.
                                maxLength: 30
                            required:
                              - url
                      placement:
                        type: object
                        description: >-
                          Placement of the item in the story. Currently not
                          supported.
                        properties:
                          width:
                            type: number
                          height:
                            type: number
                          transform:
                            type: object
                            properties:
                              translate_x:
                                type: number
                                description: Translation in the x-axis (in pixels)
                              translate_y:
                                type: number
                                description: Translation in the y-axis (in pixels)
                              scale_x:
                                type: number
                                description: Scale factor for the x-axis
                              scale_y:
                                type: number
                                description: Scale factor for the y-axis
                              rotate:
                                type: number
                                description: Rotation angle in degrees
                        required:
                          - data
                    example:
                      type: hyperlink
                      data:
                        url: https://www.google.com
                        customText: Google
                  maxItems: 10
                targetType:
                  type: string
                  enum:
                    - community
                  description: >-
                    where to create story to. currently limited to community
                    only
                targetId:
                  type: string
                  example: public_community_id
                  description: >-
                    Resource public id depends on target type (ex. target type
                    is community, target id will be community public id)
                metadata:
                  type: object
                  description: >-
                    Metadata of the story. The size of this object must be less
                    than 5 KB
                  example:
                    anything: you want
                referenceId:
                  type: string
                  description: >-
                    the id used for reference when optimistically create the
                    story
              required:
                - data
                - dataType
                - targetId
                - targetType
                - referenceId
      responses:
        '200':
          description: Create Result
          content:
            application/json:
              schema:
                description: Create story response payload
                type: object
                properties:
                  stories:
                    type: array
                    items:
                      allOf:
                        - type: object
                          properties:
                            storyId:
                              type: string
                              description: ID of a post.
                            path:
                              type: string
                              description: Path of a story.
                            creatorId:
                              type: string
                              description: Internal ID of a creator.
                            creatorPublicId:
                              type: string
                              description: Public ID of a creator.
                            targetId:
                              type: string
                              description: Internal ID of a target.
                            targetPublicId:
                              type: string
                              description: Public ID of a target.
                            targetType:
                              type: string
                              enum:
                                - user
                                - community
                              description: Type of a target (user, community, content).
                            dataType:
                              type: string
                              enum:
                                - text
                                - image
                                - video
                            items:
                              type: array
                              description: >-
                                List of story item. Currently support only
                                hyperlink item. Only one hyperlink item is
                                allowed per story.
                              items:
                                type: object
                                description: >-
                                  Story item. Currently support only hyperlink
                                  item. Only one hyperlink item is allowed per
                                  story.
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Type of the story item. Currently support
                                      only hyperlink
                                    enum:
                                      - hyperlink
                                    default: hyperlink
                                  data:
                                    oneOf:
                                      - type: object
                                        description: >-
                                          Data of a hyperlink item. Required when
                                          item type is hyperlink.
                                        properties:
                                          url:
                                            type: string
                                            description: URL of the hyperlink.
                                            maxLength: 1000
                                          customText:
                                            type: string
                                            description: Custom text of the hyperlink.
                                            maxLength: 30
                                        required:
                                          - url
                                  placement:
                                    type: object
                                    description: >-
                                      Placement of the item in the story.
                                      Currently not supported.
                                    properties:
                                      width:
                                        type: number
                                      height:
                                        type: number
                                      transform:
                                        type: object
                                        properties:
                                          translate_x:
                                            type: number
                                            description: Translation in the x-axis (in pixels)
                                          translate_y:
                                            type: number
                                            description: Translation in the y-axis (in pixels)
                                          scale_x:
                                            type: number
                                            description: Scale factor for the x-axis
                                          scale_y:
                                            type: number
                                            description: Scale factor for the y-axis
                                          rotate:
                                            type: number
                                            description: Rotation angle in degrees
                                    required:
                                      - data
                                example:
                                  type: hyperlink
                                  data:
                                    url: https://www.google.com
                                    customText: Google
                              maxItems: 10
                              default: []
                            data:
                              type: object
                              description: >-
                                Main data contained in the story, required only
                                1 field depends on dataType. The size of this
                                object must be less than 10 KB.
                              properties:
                                text:
                                  type: string
                                  description: post text.
                                fileId:
                                  type: string
                                  description: file key on cloud storage (for image type).
                                imageDisplayMode:
                                  type: string
                                  description: >
                                    image display mode (available if dataType is
                                    image) represents the display mode of an
                                    image for maintaining the correct visual
                                    dimensions when displaying or processing
                                    image.
                                  enum:
                                    - fit
                                    - fill
                                  default: fit
                                thumbnailFileId:
                                  type: string
                                  description: video thumbnail file id (for video type).
                                videoFileId:
                                  type: object
                                  description: >-
                                    video file id for each quality (for video
                                    type).
                                  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
                            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
                            createdAt:
                              type: string
                              description: The date/time when a story is created.
                              format: date-time
                            updatedAt:
                              type: string
                              description: The date/time when a story is deleted.
                              format: date-time
                            expiresAt:
                              type: string
                              description: >-
                                The date/time when a story is going to be
                                expired.
                              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
                            isDeleted:
                              type: boolean
                              default: false
                              description: A flag to deleted a story.
                            hasFlaggedComment:
                              type: boolean
                              default: false
                              description: >-
                                The flag for checking internally that comments
                                inside post is reported or not.
                            mentionedUsers:
                              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
                                      - channel
                                  userIds:
                                    type: array
                                    description: Array of UserId.
                                    items:
                                      type: string
                                  userPublicIds:
                                    type: array
                                    description: Array of UserId.
                                    items:
                                      type: string
                            impression:
                              type: integer
                              description: Number of non-unique user view of the story
                            reach:
                              type: integer
                              description: Number of unique user view of the story
                          required:
                            - storyId
                            - data
                        - type: object
                          properties:
                            referenceId:
                              type: string
                              description: >-
                                the id used for reference when optimistically
                                create the story. only avaliable in create story
                                API
                  comments:
                    type: array
                    items:
                      type: object
                      properties:
                        _id:
                          type: string
                          description: Private ID of a comment. (for real-time event)
                        path:
                          type: string
                          description: Path of a comment. (for real-time event)
                        commentId:
                          type: string
                          description: ID of a comment.
                        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.
                        parentId:
                          type: string
                          description: ID of a parent comment.
                        rootId:
                          type: string
                          description: ID of a root comment.
                        referenceId:
                          type: string
                          description: ID of a reference.
                        referenceType:
                          type: string
                          enum:
                            - post
                            - content
                            - story
                          description: Type of a reference (post/content).
                        dataType:
                          type: string
                          description: >-
                            Type of a comment (deprecated in new SDK version,
                            will be fixed as "text").
                        dataTypes:
                          type: array
                          description: >-
                            Types of a comment (a comment can contain multiple
                            types)
                          items:
                            type: string
                            enum:
                              - text
                              - image
                              - video
                        data:
                          type: object
                          description: Body of a comment.
                        metadata:
                          type: object
                          description: Additional properties to support custom fields.
                        childrenNumber:
                          type: number
                        flagCount:
                          type: integer
                          description: The number of users that has read this comment.
                        hashFlag:
                          type: object
                          description: >-
                            The flag for checking internally that this comment
                            is reported or not.
                          properties:
                            bits:
                              type: integer
                            hashes:
                              type: integer
                            hash:
                              type: array
                              items:
                                type: string
                        reactions:
                          type: object
                          description: The mapping of reaction with reactionCounter.
                          example:
                            like: 1
                        reactionsCount:
                          type: integer
                          description: The number of all reactions for this comment.
                          example: 1
                        myReactions:
                          type: array
                          items:
                            type: string
                            example: like
                          description: The list of my reactions to this comment.
                        isDeleted:
                          type: boolean
                          default: false
                          description: A flag to deleted a comment.
                        editedAt:
                          type: string
                          description: The date/time when comment is updated.
                          format: date-time
                        createdAt:
                          type: string
                          description: The date/time when a comment is created.
                          format: date-time
                        updatedAt:
                          type: string
                          description: The date/time when a comment is updated or deleted.
                          format: date-time
                        children:
                          type: array
                          items:
                            type: string
                            description: ID of a children comment.
                        segmentNumber:
                          type: integer
                          example: 1
                        mentionees:
                          type: array
                          description: >-
                            The object of the mentions type and user who get a
                            notification from the comment.
                          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
                        attachments:
                          type: array
                          description: The attachments/medias to be included in the comment
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - image
                                  - video
                              fileId:
                                type: string
                            required:
                              - type
                              - fileId
                        targetId:
                          type: string
                          description: ID of a comment target.
                        targetType:
                          type: string
                          description: Type of a comment target.
                          enum:
                            - community
                            - user
                            - content
                      required:
                        - commentId
                  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
                  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
                  roles:
                    type: array
                    items:
                      type: object
                      properties:
                        roleId:
                          type: string
                        displayName:
                          type: string
                        updatedAt:
                          type: string
                          description: The date/time when a role is updated or deleted.
                          format: date-time
                        createdAt:
                          type: string
                          description: The date/time when a role is created.
                          format: date-time
                        permissions:
                          type: array
                          items:
                            type: string
                          description: >-
                            The list of permission for this role.
                            https://docs.amity.co/amity-sdk/core-concepts/user/user-permission#permissions
                        isDeleted:
                          type: boolean
                          default: false
                      required:
                        - roleId
                        - permissions
                        - updatedAt
                        - isDeleted
                  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
                  communityUsers:
                    type: array
                    items:
                      type: object
                      properties:
                        userId:
                          type: string
                          description: ID of a user.
                        userPublicId:
                          type: string
                          description: Public ID of a user.
                        userInternalId:
                          type: string
                          description: Internal ID of a user.
                        channelId:
                          type: string
                          description: ID of a channel.
                        communityId:
                          type: string
                          description: ID of a community.
                        communityMembership:
                          type: string
                          enum:
                            - none
                            - member
                            - banned
                        notMemberReason:
                          type: string
                          description: Reason why a user is not a member of the community.
                        isBanned:
                          type: boolean
                          default: false
                        lastActivity:
                          type: string
                          format: date-time
                          description: >-
                            The date/time when a user last did something related
                            to the community such as add/remove members .
                        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
                        lastJoin:
                          type: string
                          format: date-time
                          description: The date/time when a user last joined the community.
                        createdAt:
                          type: string
                          description: The date/time when a community user is created.
                          format: date-time
                        updatedAt:
                          type: string
                          description: >-
                            The date/time when a community user is updated or
                            deleted.
                          format: date-time
                  categories:
                    type: array
                    items:
                      type: object
                      properties:
                        categoryId:
                          type: string
                          description: ID of a community category.
                        name:
                          type: string
                          description: Community category name for displaying.
                        metadata:
                          type: object
                          description: Additional properties to support custom fields.
                        avatarFileId:
                          type: string
                          description: ID of a avatar file.
                        isDeleted:
                          type: boolean
                          default: false
                          description: Is this community category deleted?
                        createdAt:
                          type: string
                          description: The date/time when a community category is created.
                          format: date-time
                        updatedAt:
                          type: string
                          description: >-
                            The date/time when a community category is updated
                            or deleted.
                          format: date-time
        '400':
          description: Bad request
          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
              examples:
                User reaches daily quota:
                  value:
                    status: error
                    code: 400000
                    message: >-
                      You have reached your daily story creation quota. You can
                      delete an existing story or wait for a story to expire
                      before creating a new one
                Target reaches quota:
                  value:
                    status: error
                    code: 400000
                    message: >-
                      This community has reached its daily story creation quota.
                      Please try again later.
                Text is required in story type text:
                  value:
                    status: error
                    code: 400000
                    message: Text is required in data object.
                File ID is required in story type media:
                  value:
                    status: error
                    code: 400000
                    message: File is required in data object.
                URL is required in hyperlink item.:
                  value:
                    status: error
                    code: 400000
                    message: url is required in hyperlink item.
                Invalid url format in hyperlink item (no TLD or else):
                  value:
                    status: error
                    code: 400000
                    message: Invalid url format in hyperlink item.
                Target not found.:
                  value:
                    status: error
                    code: 400000
                    message: Community not found.
                Target is deleted.:
                  value:
                    status: error
                    code: 400000
                    message: The community has been deleted.
        '403':
          description: No permission to create story.
          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
              examples:
                Have no permission in community to create a story:
                  value:
                    status: error
                    code: 400300
                    message: You are not allowed to do this
                URL provided in an item is not in the whitelist:
                  value:
                    status: error
                    code: 400309
                    message: Link is not allowed
        '422':
          description: Parameters Validation 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: Parameters Validation Error!
        '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

````