diff --git a/bundled.yaml b/bundled.yaml index d523655d..f4f425de 100644 --- a/bundled.yaml +++ b/bundled.yaml @@ -93,7 +93,7 @@ info: ## 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.103.0 + version: 4.99.1 servers: - url: https://apix.us.amity.co description: API Endpoint for US Region @@ -102,22871 +102,1085 @@ servers: - url: https://apix.sg.amity.co description: API Endpoint for SG Region paths: - /api/v1/ads/me: + /admin/v1/moderation-feeds: get: - summary: Query all network ads and settings + summary: Get moderation feeds + description: Get moderation feeds. tags: - - Ads - responses: - '200': - $ref: '#/components/responses/me-response-payload-200' - /api/v1/archives/channels: - get: - summary: Query all archived channels - tags: - - Archive - security: - - BearerAuth: [] - responses: - '200': - $ref: '#/components/responses/channels-response-payload-200' - /api/v1/archives/channels/{channelId}: - post: - summary: Archive channels - tags: - - Archive + - Moderation Feed security: - - BearerAuth: [] + - cookieAuth: [] parameters: - - $ref: '#/components/parameters/channelId' + - name: targetType + in: query + schema: + type: string + enum: + - user + - community + - name: targetIds + in: query + description: Target internal id + schema: + type: array + items: + type: string + maxLength: 900 + - name: contentTypes + in: query + schema: + type: array + items: + type: string + enum: + - post + - comment + - image + - video + - file + - name: creatorIds + in: query + description: Creator internal id + schema: + type: array + items: + type: string + maxLength: 900 + - name: tags + in: query + schema: + type: array + items: + type: string + maxLength: 24 + max: 5 + - name: isDeleted + in: query + description: | + For filter content that is deleted while reviewing
+ Will filter manualReview.reviewedType == 'deleted' || aiModeration.moderatedAction == 'deleted' + schema: + type: boolean + - name: isFlagCleared + in: query + description: | + For filter content that flag is cleared while reviewing
+ Will filter manualReview.reviewedType == "clearFlag" + schema: + type: boolean + - name: isReviewed + in: query + description: | + For filter content that is reviewed or not reviewed
+ Will filter lastReviewedAt exists + schema: + type: boolean + - name: options[token] + in: query + description: Token for pagination. Use the token from the previous response to get the next page. + schema: + type: string + maxLength: 1000 + - name: options[limit] + in: query + description: Limit the number of items in the response. Default is 20. + schema: + type: integer + minimum: 1 + maximum: 100 + default: 20 + - name: sortBy[type] + in: query + description: Sort by type. + schema: + type: string + default: lastFlaggedAt + enum: + - lastFlaggedAt + - flagCount + - lastReviewedAt + - name: sortBy[order] + in: query + description: Sort order. Default is desc. + schema: + type: string + enum: + - asc + - desc responses: '200': - $ref: '#/components/responses/channels_channelId-post-response-payload-200' + $ref: '#/components/responses/root-response-200' '400': $ref: '#/components/responses/BadRequestError' - '404': - $ref: '#/components/responses/NotFoundError' - delete: - summary: Unarchive channels + '500': + $ref: '#/components/responses/UnexpectedError' + /admin/v1/network-settings/premium-reports: + get: + summary: Get premium report settings + description: Get premium report settings. tags: - - Archive + - Premium Report security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/channelId' + - cookieAuth: [] responses: '200': - description: OK - content: - application/json: - schema: - properties: - success: - type: boolean - '400': - $ref: '#/components/responses/BadRequestError' - '404': - $ref: '#/components/responses/NotFoundError' - /api/v1/analytics/activities: - post: - summary: send analytic activities - description: |- - Send a batch of analytic activities to the server, currently only support viewing post/story and story link clicked activities. - - For viewing post/story activity, the `impression` and `reach` of the post/story will be updated list of users from `/api/v1/analytics/views/posts/{postId}/users` will be updated too. (but not immediately) - tags: - - Analytic - security: - - BearerAuth: [] - requestBody: - $ref: '#/components/requestBodies/activities-request-payload' - responses: - '202': - description: ok, not returning any data + $ref: '#/components/responses/premium-reports-get-response-200' '400': $ref: '#/components/responses/BadRequestError' - '422': - $ref: '#/components/responses/UnProcessableError' '500': $ref: '#/components/responses/UnexpectedError' - /api/v1/analytics/views/posts/{postId}/users: + /admin/v1/premium-reports: get: - summary: query post reach - description: Query a list of users who have viewed certain post, the user who have been global banned, community banned, or soft deleted will be excluded from the list of users. And if the post is soft deleted, post owner will be able to view this list, but others can not. + summary: Query report items + description: Retrieve the existing report tags: - - Analytic + - Premium Report security: - - BearerAuth: [] + - cookieAuth: [] parameters: - - $ref: '#/components/parameters/postId' - - $ref: '#/components/parameters/token' - - $ref: '#/components/parameters/limit' + - name: options[token] + in: query + description: Next page token for pagination. + required: false + schema: + type: string + example: 1w41l63U0xa8q7smH50vCxyTQqdxo69O3EmK28Bi5PcROI4wI/EyIJg== + maxLength: 1000 + - name: options[limit] + in: query + description: The limit for the number of report items. + schema: + type: integer + minimum: 1 + maximum: 100 + default: 20 responses: '200': - $ref: '#/components/responses/views-posts_postId-users-response-payload-200' - '403': - $ref: '#/components/responses/ForbiddenError' - '404': - $ref: '#/components/responses/NotFoundError' - '422': - $ref: '#/components/responses/UnProcessableError' + $ref: '#/components/responses/root-get-response-200' + '400': + $ref: '#/components/responses/BadRequestError' '500': $ref: '#/components/responses/UnexpectedError' - /api/v1/analytics/views/stories/{storyId}/users: + /admin/v1/premium-reports/download: get: - summary: query story reach - description: Query a list of users who have viewed certain story, the user who have been global banned, community banned, or soft deleted will be excluded from the list of users. And if the post is soft deleted, post owner will be able to view this list, but others can not. + summary: Download report item + description: Download the report item from S3 tags: - - Analytic + - Premium Report security: - - BearerAuth: [] + - cookieAuth: [] parameters: - - $ref: '#/components/parameters/storyId' - - $ref: '#/components/parameters/token' - - $ref: '#/components/parameters/limit' + - name: fileName + in: query + description: Base64 encoded file name of the report items. + required: true + schema: + type: string + example: c2FtcGxlLXRleHQtZmlsZS5qcGc= responses: - '200': - $ref: '#/components/responses/views-stories_storyId-users-response-payload-200' - '403': - $ref: '#/components/responses/ForbiddenError' - '404': - $ref: '#/components/responses/NotFoundError' - '422': - $ref: '#/components/responses/UnProcessableError' + '302': + $ref: '#/components/responses/download-response-302' + '400': + $ref: '#/components/responses/BadRequestError' '500': $ref: '#/components/responses/UnexpectedError' - /api/v3/authentication/token: + /internal/v1/premium-reports/list-networks: get: - summary: Get authentication token - deprecated: true - tags: - - Authentication + summary: List enabled networks + description: List networks that have the premium report enabled. parameters: - - $ref: '#/components/parameters/x-server-key' - - $ref: '#/components/parameters/userId' + - name: x-caller-context + in: header + description: The caller context header is used to identify the caller context. Must be a JSON string. + required: true + type: string + example: | + {} + tags: + - Premium Report + security: + - basicAuth: [] responses: '200': - $ref: '#/components/responses/token-get-response-payload-200' - '403': - $ref: '#/components/responses/ForbiddenError' + $ref: '#/components/responses/list-networks-get-response-200' + '400': + $ref: '#/components/responses/BadRequestError' '500': - $ref: '#/components/responses/ValidationError' - /api/v4/authentication/token: - post: - summary: Create authentication token for session creation API + $ref: '#/components/responses/UnexpectedError' + /internal/v1/network-settings/premium-report: + put: + summary: Update premium report settings + description: Update premium report settings. tags: - - Authentication + - Premium Report + security: + - basicAuth: [] parameters: - - $ref: '#/components/parameters/x-server-key' - description: | - Create authentication token for session creation API. Token userId need to match userId when using it + - name: x-internal-api-key + in: header + description: The internal API key of network to update + required: true + type: string requestBody: + required: true content: application/json: schema: - $ref: '#/components/schemas/token-post-request-payload' - responses: - '200': - $ref: '#/components/responses/token-post-response-200' - '401': - $ref: '#/components/responses/token-post-response-401' - '403': - $ref: '#/components/responses/token-post-response-403' - '422': - $ref: '#/components/responses/token-post-response-422' - /api/v2/channels/{channelId}/close: - post: - summary: close channel - tags: - - Channel - security: - - BearerAuth: [] - description: | - Close channel - parameters: - - $ref: '#/components/parameters/parameter_channelId' + type: object + properties: + enabled: + type: boolean + description: | + Whether the premium report is enabled or not. + example: true + default: false responses: '200': - description: OK - '403': - $ref: '#/components/responses/PermissionDeniedError' - '429': - $ref: '#/components/responses/RateLimitError' + $ref: '#/components/responses/premium-reports-put-response-200' + '400': + $ref: '#/components/responses/BadRequestError' '500': $ref: '#/components/responses/UnexpectedError' - /api/v2/channel/{channelId}/mute: - put: - summary: Mute channel + /admin/v1/admin: + post: + summary: Create a new admin user + description: Creates a new admin user with the specified details and permissions. tags: - - Channel + - Admin security: - - BearerAuth: [] - description: | - Mute all users in channel for a specific period of time. - parameters: - - $ref: '#/components/parameters/parameter_channelId' + - cookieAuth: [] requestBody: - $ref: '#/components/requestBodies/mute-put-request-payload' + required: true + content: + application/json: + schema: + type: object + properties: + username: + type: string + description: The username for the new admin. + example: newadmin + displayName: + type: string + description: The display name for the new admin. + example: New Admin + password: + type: string + description: The password for the new admin. + example: securepassword123 + firstname: + type: string + description: The first name of the new admin. + example: John + lastname: + type: string + description: The last name of the new admin. + example: Doe + permissions: + type: array + items: + type: string + description: List of permissions assigned to the new admin. + example: + - VIEW_DYNAMIC_UI + - VIEW_CHANNEL_MANAGEMENT + - MANAGE_CHANNEL + - MODERATE_CHANNEL + - VIEW_STORY_MANAGEMENT + - MANAGE_STORY + - VIEW_POST_AND_COMMENT_MANAGEMENT + - MODERATE_POST_AND_COMMENT + - MANAGE_POST_AND_COMMENT + - CAN_USE_BRAND_USERS + - CAN_MANAGE_BRAND_USERS + - CAN_MANAGE_GLOBAL_PINNED_POST + - CAN_MANAGE_PINNED_POST + - CAN_MANAGE_FEATURED_POST + - VIEW_LIVE_STREAMING_MANAGEMENT + - MANAGE_LIVE_STREAMING + - MODERATE_LIVE_STREAMING + - VIEW_COMMUNITY_MANAGEMENT + - MANAGE_COMMUNITY + - MODERATE_COMMUNITY + - DELETE_COMMUNITY + - VIEW_COMMUNITY_CATEGORY_MANAGEMENT + - MANAGE_COMMUNITY_CATEGORY + - VIEW_SPONSORED_CONTENT_MANAGEMENT + - MANAGE_SPONSORED_CONTENT + - MANAGE_AD_SETTING + - VIEW_USAGE + - VIEW_MODERATION_FEED + - MANAGE_ALLOW_LIST + - MANAGE_BLOCK_LIST + - MANAGE_IMAGE_MODERATION_SETTING + - MANAGE_LIVE_STREAMING_MODERATION_SETTING + - VIEW_USER_MANAGEMENT + - MANAGE_USER + - MODERATE_USER + - VIEW_USER_ROLE_MANAGEMENT + - MANAGE_USER_ROLE + - VIEW_ADMIN_USER + - MANAGE_ADMIN + - VIEW_ADMIN_ROLE + - VIEW_SETTING + - MANAGE_SETTING + - MANAGE_SECURITY + avatarFileId: + type: string + description: The file ID of the avatar for the new admin. + example: file-12345 + roleAssignments: + type: array + maxLength: 10 + items: + type: object + properties: + roleId: + type: string + description: The ID of the role to assign. + scope: + type: object + description: The scope of the role assignment. + properties: + communityIds: + type: array + description: Community internal id for the role assignment. + items: + type: string + maxLength: 250 + example: + - roleId: role-12345 + scope: + communityIds: + - community-67890 + description: List of role assignments for the new admin. + required: + - username + - displayName + - password + - roleAssignments responses: '200': - $ref: '#/components/responses/mute-response-payload-200' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' + $ref: '#/components/responses/root-post-response-200' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnAuthorizedError' '500': $ref: '#/components/responses/UnexpectedError' - /api/v2/channel/{channelId}/users/mute: - put: - summary: Mute user in channel + /admin/v1/admin/update: + post: + summary: Update admin user details + description: Updates the details of an existing admin user. tags: - - Channel + - Admin security: - - BearerAuth: [] - description: | - Mute a user in channel for a specific period of time. - parameters: - - $ref: '#/components/parameters/parameter_channelId' + - cookieAuth: [] requestBody: - $ref: '#/components/requestBodies/users-mute-put-request-payload' + required: true + content: + application/json: + schema: + type: object + properties: + userId: + type: string + description: The ID of the admin user to update. + example: 68259ab53825b47fcb5a518e + displayName: + type: string + description: The updated display name for the admin. + example: test + firstname: + type: string + description: The updated first name of the admin. + example: Test + lastname: + type: string + description: The updated last name of the admin. + example: test + permissions: + type: array + items: + type: string + description: Updated list of permissions assigned to the admin. + example: + - VIEW_DYNAMIC_UI + - VIEW_CHANNEL_MANAGEMENT + - MANAGE_CHANNEL + - MODERATE_CHANNEL + - VIEW_STORY_MANAGEMENT + - MANAGE_STORY + - VIEW_POST_AND_COMMENT_MANAGEMENT + - MODERATE_POST_AND_COMMENT + - MANAGE_POST_AND_COMMENT + - CAN_USE_BRAND_USERS + - CAN_MANAGE_BRAND_USERS + - CAN_MANAGE_GLOBAL_PINNED_POST + - CAN_MANAGE_PINNED_POST + - CAN_MANAGE_FEATURED_POST + - VIEW_LIVE_STREAMING_MANAGEMENT + - MANAGE_LIVE_STREAMING + - MODERATE_LIVE_STREAMING + - VIEW_COMMUNITY_MANAGEMENT + - MANAGE_COMMUNITY + - MODERATE_COMMUNITY + - DELETE_COMMUNITY + - VIEW_COMMUNITY_CATEGORY_MANAGEMENT + - MANAGE_COMMUNITY_CATEGORY + - VIEW_SPONSORED_CONTENT_MANAGEMENT + - MANAGE_SPONSORED_CONTENT + - MANAGE_AD_SETTING + - VIEW_USAGE + - VIEW_MODERATION_FEED + - MANAGE_ALLOW_LIST + - MANAGE_BLOCK_LIST + - MANAGE_IMAGE_MODERATION_SETTING + - MANAGE_LIVE_STREAMING_MODERATION_SETTING + - VIEW_USER_MANAGEMENT + - MANAGE_USER + - MODERATE_USER + - VIEW_USER_ROLE_MANAGEMENT + - MANAGE_USER_ROLE + - VIEW_ADMIN_USER + - MANAGE_ADMIN + - VIEW_ADMIN_ROLE + - VIEW_SETTING + - MANAGE_SETTING + - MANAGE_SECURITY + avatarFileId: + type: string + description: The updated file ID of the avatar for the admin. + example: 3b05fe26320945438543a34e3d19e648 + roleAssignments: + type: array + items: + type: object + maxLength: 10 + properties: + roleId: + type: string + description: The ID of the role to assign. + scope: + type: object + description: The scope of the role assignment. + properties: + communityIds: + type: array + maxLength: 250 + description: Community internal id for the role assignment. + items: + type: string + example: + - roleId: role-12345 + scope: + communityIds: + - community-67890 + description: List of role assignments for the admin. + required: + - userId + - displayName + - firstname + - lastname + - permissions + - avatarFileId + - roleAssignments responses: '200': - $ref: '#/components/responses/mute-response-payload-200' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' + $ref: '#/components/responses/root-post-response-200' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnAuthorizedError' '500': $ref: '#/components/responses/UnexpectedError' - /api/v2/search/channels: + /admin/v1/admin/roles: get: + summary: Query admin roles + description: Retrieve a list of admin roles based on query parameters. tags: - - Channel - summary: Search channels - description: Retrieve channels based on search criteria + - Admin security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/query' - - $ref: '#/components/parameters/exactMatch' - - $ref: '#/components/parameters/isMemberOnly' - - $ref: '#/components/parameters/types' - - $ref: '#/components/parameters/tags' - - $ref: '#/components/parameters/options' - responses: - '200': - $ref: '#/components/responses/search-channels-response-payload-200' - '422': - $ref: '#/components/responses/ParameterValidationError' - /api/v3/channels: - get: - summary: Query channel - tags: - - Channel - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/keyword' - - $ref: '#/components/parameters/isDeleted' - - $ref: '#/components/parameters/parameter_tags' - - $ref: '#/components/parameters/excludeTags' - - $ref: '#/components/parameters/excludeArchives' - - $ref: '#/components/parameters/filter' - - $ref: '#/components/parameters/parameter_types' - - $ref: '#/components/parameters/parameter_userId' - - $ref: '#/components/parameters/sortBy' - - $ref: '#/components/parameters/parameter_options' + - cookieAuth: [] responses: '200': - $ref: '#/components/responses/root-get-response-payload-200' - '403': - $ref: '#/components/responses/PermissionDeniedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' + $ref: '#/components/responses/roles-post-response-200' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnAuthorizedError' '500': $ref: '#/components/responses/UnexpectedError' post: - summary: Create channel + summary: Create a new admin role + description: Creates a new admin role with the specified details and permissions. Role create from this API will have type as 'consoleAdmin'. tags: - - Channel + - Admin security: - - BearerAuth: [] + - cookieAuth: [] requestBody: - $ref: '#/components/requestBodies/root-post-request-payload' + required: true + content: + application/json: + schema: + type: object + properties: + roleId: + type: string + description: The unique ID of the role. + example: f74c96f3-eab5-4cda-b7a9-5d8e9402a43c + maxLength: 100 + displayName: + type: string + description: The display name of the role. + example: some role test + maxLength: 100 + description: + type: string + maxLength: 1024 + description: A brief description of the role. + example: This is a test role + permissions: + type: array + items: + type: string + description: List of permissions assigned to the role. + example: + - VIEW_DYNAMIC_UI + - VIEW_CHANNEL_MANAGEMENT + - MANAGE_CHANNEL + - MODERATE_CHANNEL + - VIEW_STORY_MANAGEMENT + - MANAGE_STORY + - VIEW_POST_AND_COMMENT_MANAGEMENT + - MODERATE_POST_AND_COMMENT + - MANAGE_POST_AND_COMMENT + - CAN_USE_BRAND_USERS + - CAN_MANAGE_BRAND_USERS + - CAN_MANAGE_GLOBAL_PINNED_POST + - CAN_MANAGE_PINNED_POST + - CAN_MANAGE_FEATURED_POST + - VIEW_LIVE_STREAMING_MANAGEMENT + - MANAGE_LIVE_STREAMING + - MODERATE_LIVE_STREAMING + - VIEW_COMMUNITY_MANAGEMENT + - MANAGE_COMMUNITY + - MODERATE_COMMUNITY + - DELETE_COMMUNITY + - VIEW_COMMUNITY_CATEGORY_MANAGEMENT + - MANAGE_COMMUNITY_CATEGORY + - VIEW_SPONSORED_CONTENT_MANAGEMENT + - MANAGE_SPONSORED_CONTENT + - MANAGE_AD_SETTING + - VIEW_USAGE + - VIEW_MODERATION_FEED + - MANAGE_ALLOW_LIST + - MANAGE_BLOCK_LIST + - MANAGE_IMAGE_MODERATION_SETTING + - MANAGE_LIVE_STREAMING_MODERATION_SETTING + - VIEW_USER_MANAGEMENT + - MANAGE_USER + - MODERATE_USER + - VIEW_USER_ROLE_MANAGEMENT + - MANAGE_USER_ROLE + - VIEW_ADMIN_USER + - MANAGE_ADMIN + - VIEW_ADMIN_ROLE + - VIEW_SETTING + - MANAGE_SETTING + - MANAGE_SECURITY + required: + - roleId + - displayName + - permissions responses: '200': - $ref: '#/components/responses/common-channels-response-200' - '403': - description: Error Response - content: - application/json: - examples: - ForbiddenAvatarError: - $ref: '#/components/examples/ForbiddenAvatarError' - PermissionDeniedError: - $ref: '#/components/examples/PermissionDeniedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' + $ref: '#/components/responses/roles-post-response-200' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnAuthorizedError' '500': $ref: '#/components/responses/UnexpectedError' - /api/v3/channels/seen: - post: - summary: Bulk mark seen + /admin/v1/admin/roles/{roleId}: + get: + summary: Get admin role details + description: Retrieve details of a specific admin role by its ID. tags: - - Channel + - Admin security: - - BearerAuth: [] - requestBody: - $ref: '#/components/requestBodies/seen-post-request-payload' + - cookieAuth: [] + parameters: + - name: roleId + in: path + required: true + description: The ID of the role to retrieve. + schema: + type: string + example: f74c96f3-eab5-4cda-b7a9-5d8e9402a43c responses: '200': - description: This endpoint returns 200 OK if the request is successful. + $ref: '#/components/responses/roles-post-response-200' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnAuthorizedError' '404': $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' '500': $ref: '#/components/responses/UnexpectedError' - /api/v3/channels/{channelId}: - get: - summary: get a channel by ID. + put: + summary: Update an admin role + description: Updates the details of an existing admin role. tags: - - Channel + - Admin security: - - BearerAuth: [] + - cookieAuth: [] parameters: - - $ref: '#/components/parameters/parameter_channelId' - responses: - '200': - $ref: '#/components/responses/common-channels-response-200' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - put: - summary: update a channel - tags: - - Channel - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/parameter_channelId' - requestBody: - $ref: '#/components/requestBodies/_channelId-post-request-payload' - responses: - '200': - $ref: '#/components/responses/common-channels-response-200' - '403': - description: Error Response - content: - application/json: - examples: - ForbiddenAvatarError: - $ref: '#/components/examples/ForbiddenAvatarError' - PermissionDeniedError: - $ref: '#/components/examples/PermissionDeniedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - delete: - summary: delete a channel - tags: - - Channel - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/parameter_channelId' - responses: - '200': - $ref: '#/components/responses/_channelId-delete-response-payload-200' - '403': - $ref: '#/components/responses/PermissionDeniedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/channels/{channelId}/join: - post: - summary: join a channel - tags: - - Channel - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/parameter_channelId' - responses: - '200': - $ref: '#/components/responses/common-channels-response-200' - '403': - description: Error Response - content: - application/json: - examples: - ForbiddenError: - $ref: '#/components/examples/ForbiddenError' - PermissionDeniedError: - $ref: '#/components/examples/PermissionDeniedError' - UserIsBannedError: - $ref: '#/components/examples/UserIsBannedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/channels/{channelId}/leave: - delete: - summary: leave a channel - tags: - - Channel - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/parameter_channelId' - responses: - '200': - $ref: '#/components/responses/common-channels-response-200' - '403': - description: Error Response - content: - application/json: - examples: - PermissionDeniedError: - $ref: '#/components/examples/PermissionDeniedError' - UserIsBannedError: - $ref: '#/components/examples/UserIsBannedError' - ForbiddenError: - $ref: '#/components/examples/ForbiddenError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/channels/{channelId}/seen: - post: - summary: Mark user message read position inside channel - tags: - - Channel - security: - - BearerAuth: [] - description: | - Mark user message read position inside channel - parameters: - - $ref: '#/components/parameters/parameter_channelId' - requestBody: - $ref: '#/components/requestBodies/_channelId-seen-post-request-payload' - responses: - '200': - description: OK - '403': - description: Error Response - content: - application/json: - examples: - PermissionDeniedError: - $ref: '#/components/examples/PermissionDeniedError' - UserIsBannedError: - $ref: '#/components/examples/UserIsBannedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/channels/{channelId}/users: - get: - summary: query channel users - tags: - - Channel - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/parameter_channelId' - - $ref: '#/components/parameters/roles' - - $ref: '#/components/parameters/users-filter' - - $ref: '#/components/parameters/users-sortBy' - - $ref: '#/components/parameters/parameter_options' - - $ref: '#/components/parameters/users-isDeleted' - responses: - '200': - $ref: '#/components/responses/root-get-response-payload-200' - '403': - $ref: '#/components/responses/ForbiddenError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - post: - summary: add channel users - tags: - - Channel - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/parameter_channelId' - requestBody: - $ref: '#/components/requestBodies/_channelId-users-post-request-payload' - responses: - '200': - $ref: '#/components/responses/common-channels-response-200' - '403': - description: Error Response - content: - application/json: - examples: - ForbiddenError: - $ref: '#/components/examples/ForbiddenError' - PermissionDeniedError: - $ref: '#/components/examples/PermissionDeniedError' - UserIsBannedError: - $ref: '#/components/examples/UserIsBannedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - delete: - summary: remove channel users - tags: - - Channel - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/parameter_channelId' - - $ref: '#/components/parameters/userIds' - responses: - '200': - $ref: '#/components/responses/common-channels-response-200' - '403': - description: Error Response - content: - application/json: - examples: - ForbiddenError: - $ref: '#/components/examples/ForbiddenError' - PermissionDeniedError: - $ref: '#/components/examples/PermissionDeniedError' - UserIsBannedError: - $ref: '#/components/examples/UserIsBannedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/channels/{channelId}/users/ban: - put: - summary: ban channel users - tags: - - Channel - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/parameter_channelId' - requestBody: - $ref: '#/components/requestBodies/_channelId-users-post-request-payload' - responses: - '200': - $ref: '#/components/responses/common-channels-response-200' - '403': - description: Error Response - content: - application/json: - examples: - ForbiddenError: - $ref: '#/components/examples/ForbiddenError' - PermissionDeniedError: - $ref: '#/components/examples/PermissionDeniedError' - UserIsBannedError: - $ref: '#/components/examples/UserIsBannedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/channels/{channelId}/users/unban: - put: - summary: unban channel users - tags: - - Channel - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/parameter_channelId' - requestBody: - $ref: '#/components/requestBodies/_channelId-users-post-request-payload' - responses: - '200': - $ref: '#/components/responses/common-channels-response-200' - '403': - description: Error Response - content: - application/json: - examples: - ForbiddenError: - $ref: '#/components/examples/ForbiddenError' - PermissionDeniedError: - $ref: '#/components/examples/PermissionDeniedError' - UserIsBannedError: - $ref: '#/components/examples/UserIsBannedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/channels/{channelId}/users/roles: - post: - summary: Add role to channel users - tags: - - Channel - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/parameter_channelId' - requestBody: - $ref: '#/components/requestBodies/_channelId-users-roles-post-request-payload' - responses: - '200': - $ref: '#/components/responses/common-channels-response-200' - '403': - description: Error Response - content: - application/json: - examples: - GenericPermissionDeniedError: - $ref: '#/components/examples/GenericPermissionDeniedError' - UserIsBannedError: - $ref: '#/components/examples/UserIsBannedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - delete: - summary: Remove role from channel users - tags: - - Channel - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/parameter_channelId' - - $ref: '#/components/parameters/userIds' - - $ref: '#/components/parameters/role' - responses: - '200': - $ref: '#/components/responses/common-channels-response-200' - '403': - description: Error Response - content: - application/json: - examples: - GenericPermissionDeniedError: - $ref: '#/components/examples/GenericPermissionDeniedError' - UserIsBannedError: - $ref: '#/components/examples/UserIsBannedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/channels/conversation: - post: - summary: create a conversation channel - tags: - - Channel - security: - - BearerAuth: [] - requestBody: - $ref: '#/components/requestBodies/conversation-post-request-payload' - responses: - '200': - $ref: '#/components/responses/common-channels-response-200' - '403': - description: Error Response - content: - application/json: - examples: - ForbiddenAvatarError: - $ref: '#/components/examples/ForbiddenAvatarError' - PermissionDeniedError: - $ref: '#/components/examples/PermissionDeniedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/channels/list: - get: - summary: get list of channel - tags: - - Channel - security: - - BearerAuth: [] - description: | - Get list of channel - parameters: - - $ref: '#/components/parameters/channelIds' - responses: - '200': - $ref: '#/components/responses/common-channels-response-200' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v4/channels/{channelId}/users: - get: - summary: query channel users - tags: - - Channel - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/_channelId' - - $ref: '#/components/parameters/parameter_role' - - $ref: '#/components/parameters/parameter_sortBy' - - $ref: '#/components/parameters/memberships' - - $ref: '#/components/parameters/parameter_options-2' - - $ref: '#/components/parameters/search' - - $ref: '#/components/parameters/parameter_isDeleted' - - $ref: '#/components/parameters/isBrand' - responses: - '200': - $ref: '#/components/responses/_channelId-users-response-200' - '403': - $ref: '#/components/responses/ForbiddenError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/comments: - get: - summary: query comments - tags: - - Comment - security: - - ApiKeyAuth: [] - description: | - query comments (pagination support). - * `scrollable` - 'after', 'first', 'before' and 'last' will be set for page size with direction. - * `pagination` - 'skip' and 'limit' will be the number of records to skip and max records size. - - (default: scrollable) - parameters: - - $ref: '#/components/parameters/authorization' - - $ref: '#/components/parameters/content-type' - - $ref: '#/components/parameters/referenceId' - - $ref: '#/components/parameters/referenceType' - - $ref: '#/components/parameters/filterByParentId' - - $ref: '#/components/parameters/parentId' - - $ref: '#/components/parameters/hasFlag' - - $ref: '#/components/parameters/parameter_isDeleted-2' - - $ref: '#/components/parameters/parameter_sortBy-2' - - $ref: '#/components/parameters/parameter_options-3' - - $ref: '#/components/parameters/dataTypes' - responses: - '200': - $ref: '#/components/responses/root-get-response-200' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - post: - summary: create a comment. - tags: - - Comment - security: - - BearerAuth: [] - requestBody: - $ref: '#/components/requestBodies/request_root-post-request-payload' - responses: - '200': - $ref: '#/components/responses/common-post-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/comments/{commentId}: - get: - summary: get a comment. - tags: - - Comment - security: - - BearerAuth: [] - description: | - get a comment. - parameters: - - $ref: '#/components/parameters/authorization' - responses: - '200': - $ref: '#/components/responses/common-post-response-200' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - put: - summary: update a comment. - tags: - - Comment - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/commentId' - - $ref: '#/components/parameters/preserve-edited-at' + - name: roleId + in: path + required: true + description: The ID of the role to update. + schema: + type: string + example: f74c96f3-eab5-4cda-b7a9-5d8e9402a43c requestBody: - $ref: '#/components/requestBodies/_commentId-put-request-payload' + required: true + content: + application/json: + schema: + type: object + properties: + displayName: + type: string + description: The updated display name of the role. + example: updated role test + maxLength: 100 + description: + type: string + description: An updated brief description of the role. + example: This is an updated test role + maxLength: 1024 + permissions: + type: array + items: + type: string + description: Updated list of permissions assigned to the role. + example: + - VIEW_DYNAMIC_UI + - VIEW_CHANNEL_MANAGEMENT + - MANAGE_CHANNEL + - MODERATE_CHANNEL + - VIEW_STORY_MANAGEMENT + - MANAGE_STORY + - VIEW_POST_AND_COMMENT_MANAGEMENT + - MODERATE_POST_AND_COMMENT + - MANAGE_POST_AND_COMMENT + - CAN_USE_BRAND_USERS + - CAN_MANAGE_BRAND_USERS + - CAN_MANAGE_GLOBAL_PINNED_POST + - CAN_MANAGE_PINNED_POST + - CAN_MANAGE_FEATURED_POST + - VIEW_LIVE_STREAMING_MANAGEMENT + - MANAGE_LIVE_STREAMING + - MODERATE_LIVE_STREAMING + - VIEW_COMMUNITY_MANAGEMENT + - MANAGE_COMMUNITY + - MODERATE_COMMUNITY + - DELETE_COMMUNITY + - VIEW_COMMUNITY_CATEGORY_MANAGEMENT + - MANAGE_COMMUNITY_CATEGORY + - VIEW_SPONSORED_CONTENT_MANAGEMENT + - MANAGE_SPONSORED_CONTENT + - MANAGE_AD_SETTING + - VIEW_USAGE + - VIEW_MODERATION_FEED + - MANAGE_ALLOW_LIST + - MANAGE_BLOCK_LIST + - MANAGE_IMAGE_MODERATION_SETTING + - MANAGE_LIVE_STREAMING_MODERATION_SETTING + - VIEW_USER_MANAGEMENT + - MANAGE_USER + - MODERATE_USER + - VIEW_USER_ROLE_MANAGEMENT + - MANAGE_USER_ROLE + - VIEW_ADMIN_USER + - MANAGE_ADMIN + - VIEW_ADMIN_ROLE + - VIEW_SETTING + - MANAGE_SETTING + - MANAGE_SECURITY + required: + - roleId + - displayName + - permissions responses: '200': - $ref: '#/components/responses/common-post-response-200' + $ref: '#/components/responses/roles-post-response-200' '400': $ref: '#/components/responses/BadRequestError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - delete: - summary: delete a comment. - deprecated: true - tags: - - Comment - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/commentId' - responses: - '200': - description: comment information - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - type: object - properties: - success: - type: boolean - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/comments/{commentId}/flag: - post: - summary: flag a comment. - tags: - - Comment - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/commentId' - requestBody: - $ref: '#/components/requestBodies/_commentId-flag-request-payload' - responses: - '200': - $ref: '#/components/responses/common-post-response-200' - '403': - $ref: '#/components/responses/NumberOfFlagExceedError' - '404': - $ref: '#/components/responses/NotFoundError' + '401': + $ref: '#/components/responses/UnAuthorizedError' '500': $ref: '#/components/responses/UnexpectedError' - /api/v3/comments/{commentId}/isflagbyme: - get: - summary: Check whether user flag a given comment. - tags: - - Comment - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/commentId' - description: | - Check whether user flag a given comment. - responses: - '200': - $ref: '#/components/responses/IsSocialFlagByMeResponse' - '404': - $ref: '#/components/responses/NotFoundError' - /api/v3/comments/{commentId}/unflag: - delete: - summary: unflag a comment. - tags: - - Comment - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/commentId' - responses: - '200': - $ref: '#/components/responses/common-post-response-200' - '404': - $ref: '#/components/responses/NotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/comments/list: - get: - summary: get comments by IDs. - tags: - - Comment - security: - - BearerAuth: [] - description: | - get comments by IDs. - parameters: - - $ref: '#/components/parameters/commentIds' - responses: - '200': - $ref: '#/components/responses/common-post-response-200' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/comments/{commentId}/flags: - delete: - summary: clear flags. - tags: - - Comment - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/commentId' - responses: - '200': - $ref: '#/components/responses/common-post-response-200' - '403': - $ref: '#/components/responses/PermissionDeniedError' - '404': - $ref: '#/components/responses/NotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v4/comments/{commentId}: - delete: - summary: delete a comment. - tags: - - Comment - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/_commentId' - - $ref: '#/components/parameters/permanent' - responses: - '200': - $ref: '#/components/responses/comment-delete-response-200' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/communities: - get: - summary: query communities. - tags: - - Community - security: - - BearerAuth: [] - description: | - query communities. - parameters: - - $ref: '#/components/parameters/parameter_keyword' - - $ref: '#/components/parameters/parameter_tags-2' - - $ref: '#/components/parameters/parameter_filter' - - $ref: '#/components/parameters/categoryId' - - $ref: '#/components/parameters/parameter_sortBy-3' - - $ref: '#/components/parameters/parameter_isDeleted-3' - - $ref: '#/components/parameters/parameter_hasFlag' - - $ref: '#/components/parameters/parameter_options-4' - responses: - '200': - $ref: '#/components/responses/common-get-response-200' - '403': - $ref: '#/components/responses/ForbiddenError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - post: - summary: create a community. - tags: - - Community - security: - - BearerAuth: [] - requestBody: - $ref: '#/components/requestBodies/request_root-post-request-payload-2' - responses: - '200': - $ref: '#/components/responses/common-response-200' - '403': - description: Error Response - content: - application/json: - examples: - ForbiddenError: - $ref: '#/components/examples/ForbiddenError' - DuplicateEntryError: - $ref: '#/components/examples/DuplicateEntryError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/communities/{communityId}: - get: - summary: get a community by ID. - tags: - - Community - security: - - BearerAuth: [] - description: | - Get a community by ID - parameters: - - $ref: '#/components/parameters/communityId' - - $ref: '#/components/parameters/type' - responses: - '200': - $ref: '#/components/responses/common-response-200' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - put: - summary: update a community. - tags: - - Community - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/communityId' - requestBody: - $ref: '#/components/requestBodies/_communityId-put-request-payload' - responses: - '200': - $ref: '#/components/responses/common-response-200' - '403': - description: Error Response - content: - application/json: - examples: - ForbiddenError: - $ref: '#/components/examples/ForbiddenError' - DuplicateEntryError: - $ref: '#/components/examples/DuplicateEntryError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - delete: - summary: delete a community. - tags: - - Community - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/communityId' - responses: - '200': - $ref: '#/components/responses/DeleteApiResponse' - '403': - $ref: '#/components/responses/PermissionDeniedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/communities/{communityId}/join: - post: - summary: Join a community - tags: - - Community - security: - - BearerAuth: [] - description: | - Join community by ID - parameters: - - $ref: '#/components/parameters/communityId' - responses: - '200': - $ref: '#/components/responses/common-response-200' - '403': - $ref: '#/components/responses/UserIsBannedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/communities/{communityId}/leave: - delete: - summary: Leave a community. - tags: - - Community - security: - - BearerAuth: [] - description: | - Leave community by ID - parameters: - - $ref: '#/components/parameters/communityId' - responses: - '200': - $ref: '#/components/responses/common-response-200' - '401': - $ref: '#/components/responses/UnAuthorizedError' - '403': - $ref: '#/components/responses/UserIsBannedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/communities/{communityId}/users: - get: - summary: query community users - tags: - - Community - security: - - BearerAuth: [] - description: | - query community users. - parameters: - - $ref: '#/components/parameters/communityId' - - $ref: '#/components/parameters/parameter_memberships' - - $ref: '#/components/parameters/parameter_roles' - - $ref: '#/components/parameters/parameter_sortBy-3' - - $ref: '#/components/parameters/parameter_options-4' - - $ref: '#/components/parameters/parameter_search' - - $ref: '#/components/parameters/type' - - $ref: '#/components/parameters/isDeleted-users' - - $ref: '#/components/parameters/isBrand' - responses: - '200': - $ref: '#/components/responses/common-get-response-200' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - post: - summary: add community users - tags: - - Community - security: - - BearerAuth: [] - description: | - add community users - parameters: - - $ref: '#/components/parameters/communityId' - requestBody: - $ref: '#/components/requestBodies/_communityId-users-post-request-payload' - responses: - '200': - $ref: '#/components/responses/common-response-200' - '403': - description: Error Response - content: - application/json: - examples: - PermissionDeniedError: - $ref: '#/components/examples/PermissionDeniedError' - UserIsBannedError: - $ref: '#/components/examples/UserIsBannedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - delete: - summary: remove community users - tags: - - Community - security: - - BearerAuth: [] - description: | - remove community users - parameters: - - $ref: '#/components/parameters/communityId' - - $ref: '#/components/parameters/parameter_userIds' - responses: - '200': - $ref: '#/components/responses/common-response-200' - '403': - $ref: '#/components/responses/PermissionDeniedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/communities/{communityId}/users/ban: - put: - summary: ban community users - tags: - - Community - security: - - BearerAuth: [] - description: | - ban community users. - parameters: - - $ref: '#/components/parameters/communityId' - requestBody: - $ref: '#/components/requestBodies/_communityId-users-put-request-payload' - responses: - '200': - $ref: '#/components/responses/common-response-200' - '403': - description: Error Response - content: - application/json: - examples: - PermissionDeniedError: - $ref: '#/components/examples/PermissionDeniedError' - ExemptFromBanError: - $ref: '#/components/examples/ExemptFromBanError' - UserIsBannedError: - $ref: '#/components/examples/UserIsBannedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/communities/{communityId}/users/unban: - put: - summary: unban community users - tags: - - Community - security: - - BearerAuth: [] - description: | - unban community users. - parameters: - - $ref: '#/components/parameters/communityId' - requestBody: - $ref: '#/components/requestBodies/_communityId-users-put-request-payload' - responses: - '200': - $ref: '#/components/responses/common-response-200' - '403': - description: Error Response - content: - application/json: - examples: - PermissionDeniedError: - $ref: '#/components/examples/PermissionDeniedError' - UserIsUnbannedError: - $ref: '#/components/examples/UserIsUnbannedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/communities/{communityId}/users/roles: - post: - summary: Add role to community users - tags: - - Community - security: - - ApiKeyAuth: [] - description: | - Add role to community users. - parameters: - - $ref: '#/components/parameters/communityId' - requestBody: - $ref: '#/components/requestBodies/_communityId-users-roles-post-request-payload' - responses: - '200': - $ref: '#/components/responses/common-response-200' - '403': - description: Error Response - content: - application/json: - examples: - GenericPermissionDeniedError: - $ref: '#/components/examples/GenericPermissionDeniedError' - UserIsBannedError: - $ref: '#/components/examples/UserIsBannedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - delete: - summary: Remove role from community users - tags: - - Community - security: - - BearerAuth: [] - description: | - Remove role from community users. - parameters: - - $ref: '#/components/parameters/communityId' - - $ref: '#/components/parameters/parameter_userIds' - - $ref: '#/components/parameters/parameter_role-2' - responses: - '200': - $ref: '#/components/responses/common-response-200' - '403': - description: Error Response - content: - application/json: - examples: - GenericPermissionDeniedError: - $ref: '#/components/examples/GenericPermissionDeniedError' - UserIsBannedError: - $ref: '#/components/examples/UserIsBannedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/communities/{communityId}/permissions/me: - get: - summary: Get self permission in community - tags: - - Community - security: - - BearerAuth: [] - description: | - query comments. - parameters: - - $ref: '#/components/parameters/communityId' - responses: - '200': - $ref: '#/components/responses/_communityId-permissions-me-get-response-200' - '403': - $ref: '#/components/responses/ForbiddenError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/communities/list: - get: - summary: get list of community - tags: - - Community - security: - - BearerAuth: [] - description: | - Get list of community - parameters: - - $ref: '#/components/parameters/communityIds' - - $ref: '#/components/parameters/type' - responses: - '200': - $ref: '#/components/responses/common-response-200' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/communities/recommended: - get: - summary: get list of recommended community - tags: - - Community - security: - - BearerAuth: [] - description: | - Get list of recommended community - parameters: - - $ref: '#/components/parameters/content-type' - - name: options - in: query - style: deepObject - schema: - type: object - properties: - limit: - type: integer - minimum: 1 - maximum: 100 - default: 5 - responses: - '200': - $ref: '#/components/responses/common-response-200' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/communities/top-trending: - get: - summary: get list of top trend community - tags: - - Community - security: - - BearerAuth: [] - description: | - Get list of top trend community - parameters: - - $ref: '#/components/parameters/content-type' - - name: options - in: query - style: deepObject - schema: - type: object - properties: - limit: - type: integer - minimum: 1 - maximum: 100 - default: 5 - responses: - '200': - $ref: '#/components/responses/common-response-200' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v4/communities/{communityId}/users/roles: - post: - summary: Add roles to community users - tags: - - Community - security: - - BearerAuth: [] - description: | - Add roles to community users. - parameters: - - $ref: '#/components/parameters/_communityId' - requestBody: - $ref: '#/components/requestBodies/_communityId-users-roles-request-payload' - responses: - '200': - $ref: '#/components/responses/response_common-response-200' - '403': - description: Error Response - content: - application/json: - examples: - GenericPermissionDeniedError: - $ref: '#/components/examples/GenericPermissionDeniedError' - UserIsBannedError: - $ref: '#/components/examples/UserIsBannedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - delete: - summary: Remove roles from community users - tags: - - Community - security: - - ApiKeyAuth: [] - description: | - Remove roles from community users. - parameters: - - $ref: '#/components/parameters/authorization' - - $ref: '#/components/parameters/content-type' - - $ref: '#/components/parameters/_communityId' - - $ref: '#/components/parameters/parameter_roles-2' - - $ref: '#/components/parameters/parameter_userIds' - responses: - '200': - $ref: '#/components/responses/response_common-response-200' - '403': - description: Error Response - content: - application/json: - examples: - GenericPermissionDeniedError: - $ref: '#/components/examples/GenericPermissionDeniedError' - UserIsBannedError: - $ref: '#/components/examples/UserIsBannedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/community-categories: - get: - summary: query community categories. - tags: - - Community category - security: - - BearerAuth: [] - description: | - query community categories. - parameters: - - $ref: '#/components/parameters/parameter_sortBy-4' - - $ref: '#/components/parameters/parameter_isDeleted-4' - - $ref: '#/components/parameters/parameter_options-5' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-2' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - post: - summary: create a community categories. - tags: - - Community category - security: - - BearerAuth: [] - requestBody: - $ref: '#/components/requestBodies/request_root-post-request-payload-3' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-2' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/community-categories/{categoryId}: - get: - summary: get a community category. - tags: - - Community category - security: - - BearerAuth: [] - description: | - get a community category. - parameters: - - $ref: '#/components/parameters/_categoryId' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-2' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - put: - summary: update a community categories. - tags: - - Community category - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/_categoryId' - requestBody: - $ref: '#/components/requestBodies/_categoryId-put-request-payload' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-2' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - delete: - summary: delete a community category. - tags: - - Community category - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/_categoryId' - - $ref: '#/components/parameters/parameter_categoryId' - responses: - '200': - description: community category information - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - type: object - properties: - success: - type: boolean - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/community-categories/list: - get: - summary: get list of community category. - tags: - - Community category - security: - - BearerAuth: [] - description: | - Get list of community category. - parameters: - - $ref: '#/components/parameters/parameter_categoryId' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-2' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v1/me/following-feeds: - get: - summary: Get following feeds - description: Get posts from your wall, people you follow and communities you join - tags: - - Feed - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/parameters_sortBy' - - $ref: '#/components/parameters/parameters_limit' - - $ref: '#/components/parameters/parameters_token' - responses: - '200': - $ref: '#/components/responses/response_root-get-response-200' - '422': - $ref: '#/components/responses/ParameterValidationError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/content-feeds: - get: - summary: Get list of contents. - tags: - - Feed - security: - - BearerAuth: [] - description: | - Get paginable list of contents. - parameters: - - $ref: '#/components/parameters/parameter_sortBy-5' - - $ref: '#/components/parameters/parameter_hasFlag-2' - - $ref: '#/components/parameters/parameter_isDeleted-4' - - $ref: '#/components/parameters/parameter_options-5' - responses: - '200': - $ref: '#/components/responses/response_root-get-response-200-2' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/community-feeds/{communityId}: - get: - summary: Get list of posts. - tags: - - Feed - security: - - BearerAuth: [] - description: | - Get paginable list of posts. - parameters: - - $ref: '#/components/parameters/parameter__communityId' - - $ref: '#/components/parameters/parameter_sortBy-5' - - $ref: '#/components/parameters/parameter_hasFlag-3' - - $ref: '#/components/parameters/parameter_isDeleted-4' - - $ref: '#/components/parameters/parameter_options-5' - - $ref: '#/components/parameters/parameter_dataTypes' - responses: - '200': - $ref: '#/components/responses/_communityId-get-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnAuthorizedError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/global-feeds: - get: - summary: Get global feed. - tags: - - Feed - security: - - BearerAuth: [] - description: | - Get paginable list of active posts (not deleted) from users and community. - parameters: - - $ref: '#/components/parameters/showOnlyMyFeed' - - $ref: '#/components/parameters/parameter_dataTypes' - - $ref: '#/components/parameters/parameter_options-5' - responses: - '200': - $ref: '#/components/responses/response_root-get-response-200-3' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/user-feeds/{userId}: - get: - summary: Get list of posts. - tags: - - Feed - security: - - BearerAuth: [] - description: | - Get paginable list of posts. - parameters: - - $ref: '#/components/parameters/_userId' - - $ref: '#/components/parameters/parameter_sortBy-5' - - $ref: '#/components/parameters/parameter_hasFlag-4' - - $ref: '#/components/parameters/parameter_isDeleted-4' - - $ref: '#/components/parameters/parameter_options-5' - - $ref: '#/components/parameters/parameter_dataTypes' - responses: - '200': - $ref: '#/components/responses/_userId-get-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/user-feeds/{userId}/count: - get: - summary: Get number of post. - tags: - - Feed - security: - - BearerAuth: [] - description: | - Get number of post. - parameters: - - $ref: '#/components/parameters/_userId' - - $ref: '#/components/parameters/parameter_isDeleted-4' - responses: - '200': - $ref: '#/components/responses/_userId-count-get-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v4/me/global-feeds: - get: - summary: Get global feed. - tags: - - Feed - security: - - BearerAuth: [] - description: | - Get paginable list of active posts (not deleted) from users and community. - parameters: - - $ref: '#/components/parameters/parameter_limit' - - $ref: '#/components/parameters/parameter_token' - - $ref: '#/components/parameters/parameter_dataTypes' - responses: - '200': - $ref: '#/components/responses/root-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v5/me/global-feeds: - get: - summary: Get global feed. - tags: - - Feed - security: - - BearerAuth: [] - description: | - Get posts from your wall, people you follow and communities you join sorted by custom rannking algorithm - parameters: - - $ref: '#/components/parameters/parameter_limit' - - $ref: '#/components/parameters/parameter_token-2' - responses: - '200': - $ref: '#/components/responses/response_root-get-response-200-3' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/files: - post: - summary: Upload file. - tags: - - File - security: - - BearerAuth: [] - description: | - Upload file to cloud storage - requestBody: - $ref: '#/components/requestBodies/request_root-post-request-payload-4' - responses: - '200': - $ref: '#/components/responses/root-post-response-200' - '413': - $ref: '#/components/responses/PayloadTooLargeError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/files/{fileId}: - get: - summary: Get file info - security: - - BearerAuth: [] - tags: - - File - description: | - Get file info of fileId (ex. type, attributes) - parameters: - - $ref: '#/components/parameters/_fileId' - responses: - '200': - $ref: '#/components/responses/_fileId-get-response-200' - '400': - $ref: '#/components/responses/NotFoundError' - delete: - summary: Delete file - tags: - - File - security: - - BearerAuth: [] - description: | - Delete file (also remove from cloud). Only uploader and admin can remove. - parameters: - - $ref: '#/components/parameters/_fileId' - responses: - '200': - $ref: '#/components/responses/_fileId-delete-response-200' - '403': - $ref: '#/components/responses/GenericPermissionDeniedError' - '404': - $ref: '#/components/responses/NotFoundError' - '422': - $ref: '#/components/responses/ValidationError' - /api/v3/files/{fileId}/download: - get: - summary: Download file - tags: - - File - description: Download file data - parameters: - - $ref: '#/components/parameters/parameter_authorization' - - $ref: '#/components/parameters/_ascSession' - - $ref: '#/components/parameters/content-type' - - $ref: '#/components/parameters/_fileId' - - $ref: '#/components/parameters/size' - responses: - '302': - description: Redirect to retrieve file data - headers: - Location: - description: Signed URL to redirect to - schema: - type: string - '404': - $ref: '#/components/responses/NotFoundError' - /api/v4/images: - post: - summary: Upload image file. - security: - - BearerAuth: [] - tags: - - File - parameters: - - $ref: '#/components/parameters/content-type' - description: | - Upload image to cloud storage - - Image size limit: 1,073,741,824 byte - requestBody: - $ref: '#/components/requestBodies/common-post-request-payload' - responses: - '200': - $ref: '#/components/responses/images-response-200' - '413': - $ref: '#/components/responses/PayloadTooLargeError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v4/files: - post: - summary: Upload file. - security: - - BearerAuth: [] - tags: - - File - parameters: - - $ref: '#/components/parameters/content-type' - description: | - Upload file to cloud storage - - File size limit: 1,073,741,824 byte - requestBody: - $ref: '#/components/requestBodies/common-post-request-payload' - responses: - '200': - $ref: '#/components/responses/files-response-200' - '413': - $ref: '#/components/responses/PayloadTooLargeError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v4/videos: - post: - summary: Upload video file. - security: - - BearerAuth: [] - tags: - - File - parameters: - - $ref: '#/components/parameters/content-type' - description: | - Upload video to cloud storage - - Video size limit: 2,147,483,648 byte (2GB) - requestBody: - $ref: '#/components/requestBodies/common-post-request-payload' - responses: - '200': - $ref: '#/components/responses/videos-response-200' - '413': - $ref: '#/components/responses/PayloadTooLargeError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v4/images/from-url: - post: - summary: Upload image from URL. - security: - - BearerAuth: [] - tags: - - File - parameters: - - $ref: '#/components/parameters/content-type' - description: | - This endpoint allows you to upload an image from a URL to Social+ cloud storage. - - File size limit: 1,073,741,824 byte - requestBody: - $ref: '#/components/requestBodies/upload-from-url-payload' - responses: - '200': - $ref: '#/components/responses/images-response-200' - '401': - $ref: '#/components/responses/UnAuthorizedError' - '403': - $ref: '#/components/responses/ForbiddenError' - '422': - $ref: '#/components/responses/UnProcessableError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v4/videos/from-url: - post: - summary: Upload video from URL. - security: - - BearerAuth: [] - tags: - - File - parameters: - - $ref: '#/components/parameters/content-type' - description: | - This endpoint allows you to upload an video from a URL to Social+ cloud storage. - - File size limit: 1,073,741,824 byte - requestBody: - $ref: '#/components/requestBodies/upload-from-url-payload' - responses: - '200': - $ref: '#/components/responses/videos-response-200' - '401': - $ref: '#/components/responses/UnAuthorizedError' - '403': - $ref: '#/components/responses/ForbiddenError' - '422': - $ref: '#/components/responses/UnProcessableError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v4/files/from-url: - post: - summary: Upload file from URL. - security: - - BearerAuth: [] - tags: - - File - parameters: - - $ref: '#/components/parameters/content-type' - description: | - This endpoint allows you to upload a file from a URL to Social+ cloud storage. - - File size limit: 1,073,741,824 byte - requestBody: - $ref: '#/components/requestBodies/upload-from-url-payload' - responses: - '200': - $ref: '#/components/responses/files-response-200' - '401': - $ref: '#/components/responses/UnAuthorizedError' - '403': - $ref: '#/components/responses/ForbiddenError' - '422': - $ref: '#/components/responses/UnProcessableError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v4/me/following/{userId}: - post: - summary: Follow user. - tags: - - Follow - security: - - BearerAuth: [] - description: | - Follow user - parameters: - - $ref: '#/components/parameters/_userId' - responses: - '200': - $ref: '#/components/responses/follow-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '404': - $ref: '#/components/responses/NotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - delete: - summary: Unfollow or Cancel follow request - tags: - - Follow - security: - - BearerAuth: [] - description: | - Unfollow or Cancel follow request - parameters: - - $ref: '#/components/parameters/_userId' - responses: - '200': - $ref: '#/components/responses/follow-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '404': - $ref: '#/components/responses/NotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v4/me/followers/{userId}: - post: - summary: Accept follow request. - tags: - - Follow - security: - - BearerAuth: [] - description: | - Accept follow request. - parameters: - - $ref: '#/components/parameters/_userId' - responses: - '200': - $ref: '#/components/responses/follow-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '404': - $ref: '#/components/responses/NotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - delete: - summary: Decline follow request or delete followers. - tags: - - Follow - security: - - BearerAuth: [] - description: | - Delete follower. - parameters: - - $ref: '#/components/parameters/_userId' - responses: - '200': - $ref: '#/components/responses/follow-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '404': - $ref: '#/components/responses/NotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v4/me/followers: - get: - summary: Get my follower list. - tags: - - Follow - security: - - BearerAuth: [] - description: | - Get follower information (pagination supported) - parameters: - - $ref: '#/components/parameters/status' - - $ref: '#/components/parameters/parameter_limit' - - $ref: '#/components/parameters/parameter_token' - responses: - '200': - $ref: '#/components/responses/follow-pagination-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v4/users/{userId}/followers: - get: - summary: Get other follower list. - tags: - - Follow - security: - - BearerAuth: [] - description: | - Get follower information (pagination supported) - parameters: - - $ref: '#/components/parameters/_userId' - - $ref: '#/components/parameters/status' - - $ref: '#/components/parameters/parameter_limit' - - $ref: '#/components/parameters/parameter_token' - responses: - '200': - $ref: '#/components/responses/follow-pagination-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v4/me/following: - get: - summary: Get my following list - tags: - - Follow - security: - - BearerAuth: [] - description: | - Get following information (pagination supported) - parameters: - - $ref: '#/components/parameters/status' - - $ref: '#/components/parameters/parameter_limit' - - $ref: '#/components/parameters/parameter_token' - responses: - '200': - $ref: '#/components/responses/follow-pagination-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v4/users/{userId}/following: - get: - summary: Get other following list. - tags: - - Follow - security: - - BearerAuth: [] - description: | - Get following information (pagination supported) - parameters: - - $ref: '#/components/parameters/_userId' - - $ref: '#/components/parameters/status' - - $ref: '#/components/parameters/parameter_limit' - - $ref: '#/components/parameters/parameter_token' - responses: - '200': - $ref: '#/components/responses/follow-pagination-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v4/me/followInfo: - get: - summary: Get my follow information. - tags: - - Follow - security: - - BearerAuth: [] - description: | - Get my follow information. - responses: - '200': - $ref: '#/components/responses/FollowCountResponse' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v4/users/{userId}/followInfo: - get: - summary: Get other follow information. - tags: - - Follow - security: - - BearerAuth: [] - description: | - Get other follow information. - parameters: - - $ref: '#/components/parameters/_userId' - responses: - '200': - $ref: '#/components/responses/FollowInformationResponse' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v5/users/{userId}/followInfo: - get: - summary: Get other follow information. - tags: - - Follow - security: - - BearerAuth: [] - description: | - Get other follow information. - parameters: - - $ref: '#/components/parameters/parameter__userId' - responses: - '200': - $ref: '#/components/responses/_userId-followInfo-get-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v1/pinned-posts/global: - get: - summary: Query global pinned post - tags: - - Global Featured Post - security: - - BearerAuth: [] - description: | - Query global pinned post - responses: - '200': - $ref: '#/components/responses/response_common-response-200-3' - '500': - $ref: '#/components/responses/UnexpectedError' - delete: - summary: Clear all global pinned post in a global feed - tags: - - Global Featured Post - security: - - BearerAuth: [] - description: | - Clear all global pinned post in a global feed - responses: - '200': - $ref: '#/components/responses/response_common-response-200-3' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v1/pinned-posts/global/{postId}: - post: - summary: Global pin a post in a global feed - tags: - - Global Featured Post - security: - - BearerAuth: [] - description: | - Global pin a post in a global feed - parameters: - - $ref: '#/components/parameters/parameter_postId' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-3' - '400': - $ref: '#/components/responses/common-response-400' - '403': - description: No permission to global pin a post in a global feed - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - Admin do not have permission.: - value: - status: error - code: 400300 - message: Insufficient permission - '404': - description: The postId is not found. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - The postId is not found: - value: - status: error - code: 400400 - message: PostId ${postId} not found - '422': - $ref: '#/components/responses/ParameterValidationError' - '500': - $ref: '#/components/responses/UnexpectedError' - delete: - summary: Global Unpin a post in a global feed - tags: - - Global Featured Post - security: - - BearerAuth: [] - description: | - Global Unpin a post in a global feed - parameters: - - $ref: '#/components/parameters/parameter_postId' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-3' - '400': - description: badRequest Error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - This post is not pinned.: - value: - status: error - code: 400000 - message: Post ${postId} is not pinned - '403': - description: No permission to global pin a post in a global feed - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - Admin do not have permission.: - value: - status: error - code: 400300 - message: Insufficient permission - '404': - description: The postId is not found. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - The postId is not found: - value: - status: error - code: 400400 - message: PostId ${postId} not found - '422': - $ref: '#/components/responses/ParameterValidationError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v1/markers/channels: - get: - tags: - - Marker - summary: Get marker for channels - security: - - BearerAuth: [] - description: Get marker for channels - parameters: - - $ref: '#/components/parameters/parameter_channelIds' - responses: - '200': - $ref: '#/components/responses/channels-get-response-payload-200' - '404': - description: Not found error - '422': - description: Parameters validation error - /api/v1/markers/channels/{channelId}/mark-read: - put: - tags: - - Marker - summary: Mark all messages in channel as read - security: - - BearerAuth: [] - description: Mark all messages in channel as read - parameters: - - $ref: '#/components/parameters/parameter_channelId-2' - responses: - '200': - $ref: '#/components/responses/channels_channelId-mark-read-put-response-payload-200' - '404': - description: Not found error - '422': - description: Parameters validation error - /api/v1/markers/message-feeds: - get: - tags: - - Marker - summary: Get marker for message feeds - security: - - BearerAuth: [] - description: Get marker for message feeds - parameters: - - $ref: '#/components/parameters/messageFeedIds' - responses: - '200': - $ref: '#/components/responses/message-feeds-get-response-payload-200' - '404': - description: Not found error - '422': - description: Parameters validation error - /api/v1/markers/message-feeds/{messageFeedId}/mark-delivering: - put: - tags: - - Marker - summary: Mark message feeds as delivering - security: - - BearerAuth: [] - description: Mark message feeds as delivering - parameters: - - $ref: '#/components/parameters/messageFeedId' - requestBody: - $ref: '#/components/requestBodies/message-feeds_messageFeedId-mark-delivering-request-payload' - responses: - '200': - $ref: '#/components/responses/message-feeds_messageFeedId-mark-delivering-put-response-payload-200' - '404': - description: Not found error - '422': - description: Parameters validation error - /api/v1/markers/message-feeds/{messageFeedId}/mark-read: - put: - tags: - - Marker - summary: Mark message feeds as read - security: - - BearerAuth: [] - description: Mark message feeds as read - parameters: - - $ref: '#/components/parameters/messageFeedId' - requestBody: - $ref: '#/components/requestBodies/message-feeds_messageFeedId-mark-read-request-payload' - responses: - '200': - $ref: '#/components/responses/message-feeds_messageFeedId-mark-read-put-response-payload-200' - '404': - description: Not found error - '422': - description: Parameters validation error - /api/v1/markers/message-feeds/{messageFeedId}/start-reading: - post: - tags: - - Marker - summary: Start reading message feeds - security: - - BearerAuth: [] - description: Start reading message feeds - parameters: - - $ref: '#/components/parameters/messageFeedId' - responses: - '200': - $ref: '#/components/responses/message-feeds_messageFeedId-start-reading-post-response-payload-200' - '404': - description: Not found error - '422': - description: Parameters validation error - /api/v1/markers/message-feeds/{messageFeedId}/stop-readings: - post: - tags: - - Marker - summary: Stop reading message feeds - security: - - BearerAuth: [] - description: Stop reading message feeds - parameters: - - $ref: '#/components/parameters/messageFeedId' - responses: - '200': - $ref: '#/components/responses/message-feeds_messageFeedId-stop-readings-post-response-payload-200' - '404': - description: Not found error - '422': - description: Parameters validation error - /api/v1/markers/message-feeds/reading: - post: - tags: - - Marker - summary: Mark message feeds as read - security: - - BearerAuth: [] - description: Mark message feeds as read - requestBody: - $ref: '#/components/requestBodies/message-feeds-reading-request-payload' - responses: - '200': - $ref: '#/components/responses/message-feeds-reading-post-response-payload-200' - '404': - description: Not found error - '422': - description: Parameters validation error - /api/v1/markers/messages: - get: - tags: - - Marker - summary: Get marker for messages - security: - - BearerAuth: [] - description: Get marker for messages - parameters: - - $ref: '#/components/parameters/messageIds' - responses: - '200': - $ref: '#/components/responses/messages-get-response-payload-200' - '404': - description: Not found error - '422': - description: Parameters validation error - /api/v1/markers/messages/{messageId}/delivered-users: - get: - tags: - - Marker - summary: Get list of users who delivered the message - security: - - BearerAuth: [] - description: Get list of users who delivered the message - parameters: - - $ref: '#/components/parameters/parameter_channelId-2' - responses: - '200': - $ref: '#/components/responses/messages_messageId-delivered-users-get-response-payload-200' - '404': - description: Not found error - '422': - description: Parameters validation error - /api/v1/markers/messages/{messageId}/read-users: - get: - tags: - - Marker - summary: Get list of users who read the message - security: - - BearerAuth: [] - description: Get list of users who read the message - parameters: - - $ref: '#/components/parameters/parameter_channelId-2' - responses: - '200': - $ref: '#/components/responses/messages_messageId-read-users-get-response-payload-200' - '404': - description: Not found error - '422': - description: Parameters validation error - /api/v1/markers/sync: - post: - tags: - - Marker - summary: Marker sync - security: - - BearerAuth: [] - description: Marker sync for update unread count - requestBody: - $ref: '#/components/requestBodies/sync-request-payload' - responses: - '200': - $ref: '#/components/responses/sync-post-response-payload-200' - '404': - description: Not found error - '422': - description: Parameters validation error - /api/v1/markers/user-message-feed: - get: - tags: - - Marker - summary: Query Latest 100 user feed marker by a list of entity Id (channel id) - security: - - BearerAuth: [] - description: Query Latest 100 user feed marker by a list of entity Id (channel id) - parameters: - - $ref: '#/components/parameters/parameter_channelIds' - responses: - '200': - $ref: '#/components/responses/user-message-feed-get-response-payload-200' - '422': - description: Parameters validation error - /api/v1/markers/userMarker: - get: - tags: - - Marker - summary: Get marker for user - security: - - BearerAuth: [] - description: Get marker for user - responses: - '200': - $ref: '#/components/responses/userMarker-get-response-payload-200' - '404': - description: Not found error - '422': - description: Parameters validation error - /v1/blacklist/records: - put: - summary: Refresh black list - tags: - - Moderation - security: - - ApiKeyAuth: [] - description: | - Refresh the black list - requestBody: - description: | - Regular expression to refresh. - $ref: '#/components/requestBodies/blacklist-records-request-payload' - responses: - '200': - description: OK - post: - summary: Add rules to black list - tags: - - Moderation - security: - - ApiKeyAuth: [] - description: | - Add rules to the black list - requestBody: - description: | - Regular expression to add. - $ref: '#/components/requestBodies/blacklist-records-request-payload' - responses: - '200': - description: OK - delete: - summary: Delete rules from black list - tags: - - Moderation - security: - - ApiKeyAuth: [] - description: | - Delete rules from the black list - parameters: - - $ref: '#/components/parameters/ruleIds' - responses: - '200': - description: OK - /api/v2/blacklist/records: - get: - summary: get rules of blacklist. - tags: - - Moderation - security: - - ApiKeyAuth: [] - description: | - Get rules of blacklist. - parameters: - - $ref: '#/components/parameters/authorization' - - $ref: '#/components/parameters/content-type' - - $ref: '#/components/parameters/regexs' - responses: - '200': - $ref: '#/components/responses/blacklist-records-get-response-payload-200' - '404': - $ref: '#/components/responses/NotFoundError404' - '500': - $ref: '#/components/responses/UnexpectedError500' - put: - summary: refresh rules of blacklist. - tags: - - Moderation - security: - - ApiKeyAuth: [] - description: | - Refresh rules of blacklist. - parameters: - - $ref: '#/components/parameters/authorization' - - $ref: '#/components/parameters/content-type' - requestBody: - $ref: '#/components/requestBodies/records-put-request-payload' - responses: - '200': - description: OK - '404': - $ref: '#/components/responses/NotFoundError404' - '500': - $ref: '#/components/responses/UnexpectedError500' - post: - summary: add rules to blacklist. - tags: - - Moderation - security: - - ApiKeyAuth: [] - description: | - Add rules to blacklist - parameters: - - $ref: '#/components/parameters/authorization' - - $ref: '#/components/parameters/content-type' - requestBody: - $ref: '#/components/requestBodies/records-post-request-payload' - responses: - '200': - description: OK - '404': - $ref: '#/components/responses/NotFoundError404' - '500': - $ref: '#/components/responses/UnexpectedError500' - delete: - summary: delete rules from blacklist - tags: - - Moderation - security: - - ApiKeyAuth: [] - description: | - Delete rule from blacklist - parameters: - - $ref: '#/components/parameters/authorization' - - $ref: '#/components/parameters/content-type' - - $ref: '#/components/parameters/parameter_ruleIds' - responses: - '200': - description: OK - '404': - $ref: '#/components/responses/NotFoundError404' - '500': - $ref: '#/components/responses/UnexpectedError500' - /api/v2/blacklist/records/{ruleId}: - put: - summary: update rule of blacklist. - tags: - - Moderation - security: - - ApiKeyAuth: [] - description: | - Update rule of blacklist. - parameters: - - $ref: '#/components/parameters/authorization' - - $ref: '#/components/parameters/content-type' - requestBody: - $ref: '#/components/requestBodies/records_ruleId-put-request-payload' - responses: - '200': - $ref: '#/components/responses/blacklist-records_ruleId-put-response-payload-200' - '404': - $ref: '#/components/responses/NotFoundError404' - '500': - $ref: '#/components/responses/UnexpectedError500' - /api/v2/moderation-settings: - get: - summary: get a moderation setting - tags: - - Moderation - security: - - ApiKeyAuth: [] - parameters: - - $ref: '#/components/parameters/authorization' - description: | - Get a moderation setting. - responses: - '200': - $ref: '#/components/responses/settings-get-response-payload-200' - '400': - $ref: '#/components/responses/BadRequestError400' - '500': - $ref: '#/components/responses/UnexpectedError500' - put: - summary: update a moderation setting - tags: - - Moderation - security: - - ApiKeyAuth: [] - description: | - Update a moderation setting - parameters: - - $ref: '#/components/parameters/authorization' - - $ref: '#/components/parameters/content-type' - requestBody: - $ref: '#/components/requestBodies/settings-put-request-payload' - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - status: - type: string - code: - type: string - example: - status: success - code: 200 - '400': - $ref: '#/components/responses/BadRequestError400' - '500': - $ref: '#/components/responses/UnexpectedError500' - /api/v2/whitelist/records: - get: - summary: get rules of whitelist. - tags: - - Moderation - security: - - ApiKeyAuth: [] - description: | - Get rules of whitelist. - parameters: - - $ref: '#/components/parameters/authorization' - - $ref: '#/components/parameters/content-type' - - $ref: '#/components/parameters/regexs' - responses: - '200': - $ref: '#/components/responses/whitelist-records-get-response-payload-200' - '404': - $ref: '#/components/responses/NotFoundError404' - '500': - $ref: '#/components/responses/UnexpectedError500' - put: - summary: refresh rules of whitelist. - tags: - - Moderation - security: - - ApiKeyAuth: [] - description: | - Refresh rules of whitelist. - parameters: - - $ref: '#/components/parameters/authorization' - - $ref: '#/components/parameters/content-type' - requestBody: - $ref: '#/components/requestBodies/records-put-request-payload' - responses: - '200': - description: OK - '404': - $ref: '#/components/responses/NotFoundError404' - '500': - $ref: '#/components/responses/UnexpectedError500' - post: - summary: add rules to whitelist. - tags: - - Moderation - security: - - ApiKeyAuth: [] - description: | - Add rules to whitelist - parameters: - - $ref: '#/components/parameters/authorization' - - $ref: '#/components/parameters/content-type' - requestBody: - $ref: '#/components/requestBodies/records-post-request-payload' - responses: - '200': - description: OK - '404': - $ref: '#/components/responses/NotFoundError404' - '500': - $ref: '#/components/responses/UnexpectedError500' - delete: - summary: delete rules from whitelist - tags: - - Moderation - security: - - ApiKeyAuth: [] - description: | - Delete rule from whitelist - parameters: - - $ref: '#/components/parameters/authorization' - - $ref: '#/components/parameters/content-type' - - $ref: '#/components/parameters/parameter_ruleIds' - responses: - '200': - description: OK - '404': - $ref: '#/components/responses/NotFoundError404' - '500': - $ref: '#/components/responses/UnexpectedError500' - /api/v2/whitelist/records/{ruleId}: - put: - summary: update rule of whitelist. - tags: - - Moderation - security: - - ApiKeyAuth: [] - description: | - Update rule of whitelist. - parameters: - - $ref: '#/components/parameters/authorization' - - $ref: '#/components/parameters/content-type' - requestBody: - $ref: '#/components/requestBodies/records_ruleId-put-request-payload' - responses: - '200': - $ref: '#/components/responses/whitelist-records_ruleId-put-response-payload-200' - '404': - $ref: '#/components/responses/NotFoundError404' - '500': - $ref: '#/components/responses/UnexpectedError500' - /api/v3/allowlists: - get: - summary: Get list of allowed words - security: - - BearerAuth: [] - tags: - - Moderation - parameters: - - $ref: '#/components/parameters/regex' - - $ref: '#/components/parameters/parameter_sortBy-6' - - $ref: '#/components/parameters/parameter_options-6' - responses: - '200': - $ref: '#/components/responses/allowlists-get-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - post: - summary: Add rules of allowlist V3 - tags: - - Moderation - security: - - BearerAuth: [] - description: | - Add rules of allowlist. - parameters: - - $ref: '#/components/parameters/authorization' - - $ref: '#/components/parameters/content-type' - requestBody: - $ref: '#/components/requestBodies/allowlists-post-request-payload' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-4' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/blocklists: - get: - summary: Get list of banned words - security: - - BearerAuth: [] - tags: - - Moderation - parameters: - - $ref: '#/components/parameters/regex' - - $ref: '#/components/parameters/parameter_sortBy-6' - - $ref: '#/components/parameters/parameter_options-6' - responses: - '200': - $ref: '#/components/responses/blocklists-get-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - post: - summary: Add rules of blocklist V3 - tags: - - Moderation - security: - - BearerAuth: [] - description: | - Add rules of blocklist. - parameters: - - $ref: '#/components/parameters/authorization' - - $ref: '#/components/parameters/content-type' - requestBody: - $ref: '#/components/requestBodies/blocklists-post-request-payload' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-4' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/allowlists/verify: - post: - tags: - - Moderation - security: - - BearerAuth: [] - summary: Verify allowlist - description: Verify URLs with the allowlist rules. - operationId: verifyAllowlist - requestBody: - $ref: '#/components/requestBodies/verify-request-payload' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-4' - '400': - description: Some URLs are not valid - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400000 - message: Some URLs are not valid - '403': - description: Some URLs are not in the allow list - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400309 - message: Some URLs are not in the allow list - '500': - description: Internal Server Error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - /api/v3/blocklists/verify: - post: - tags: - - Moderation - security: - - BearerAuth: [] - summary: Verify blocklist - description: Verify texts with the blocklist rules. - operationId: verifyBlocklist - requestBody: - $ref: '#/components/requestBodies/verify-request-payload' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-4' - '403': - description: Some texts contain blocked words - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400308 - message: Some texts contain blocked words - '500': - description: Internal Server Error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - /api/v5/message-feeds: - post: - tags: - - Message Feed - summary: Add a new message feed - security: - - BearerAuth: [] - description: Add a new message feed - requestBody: - $ref: '#/components/requestBodies/request_root-post-request-payload-5' - responses: - '200': - $ref: '#/components/responses/message-feed-response-200' - '404': - description: Not found error - '422': - description: Parameters validation error - /api/v5/message-feeds/{messageFeedId}: - get: - tags: - - Message Feed - summary: Find a message feed by ID - security: - - BearerAuth: [] - description: Return a single message feed - parameters: - - $ref: '#/components/parameters/_messageFeedId' - responses: - '200': - $ref: '#/components/responses/message-feed-response-200' - '404': - description: Not found error - '422': - description: Parameters validation error - put: - tags: - - Message Feed - summary: Update a message feed - description: Update an existing message feed except the default message feed - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/_messageFeedId' - requestBody: - $ref: '#/components/requestBodies/_messageFeedId-put-request-payload' - responses: - '200': - $ref: '#/components/responses/message-feed-response-200' - '403': - description: Forbidden error - '404': - description: Not found error - '422': - description: Parameters validation error - delete: - tags: - - Message Feed - summary: Delete a message feed - security: - - BearerAuth: [] - description: Delete an existing message feed except the default message feed - parameters: - - $ref: '#/components/parameters/_messageFeedId' - - $ref: '#/components/parameters/parameter_permanent' - responses: - '200': - description: Successful operation - '403': - description: Forbidden error - '404': - description: Not found error - '422': - description: Parameters validation error - /api/v5/message-feeds/channel/{channelId}: - get: - tags: - - Message Feed - summary: Finds message feeds by channelId and multiple conditions - description: Multiple conditions can be provided by query string - security: - - BearerAuth: [] - operationId: findMessageFeedsByConditions - parameters: - - $ref: '#/components/parameters/parameter__channelId' - - $ref: '#/components/parameters/parameter_isDeleted-5' - - $ref: '#/components/parameters/paging-options' - responses: - '200': - $ref: '#/components/responses/paginated-message-feed-response-200' - '404': - description: Not found error - '422': - description: Parameters validation error - /api/v5/message-feeds/list: - get: - tags: - - Message Feed - summary: Find message feeds by list of ID's - description: Multiple message feed id values can be provided with array format - parameters: - - $ref: '#/components/parameters/parameter_messageFeedIds' - responses: - '200': - $ref: '#/components/responses/message-feed-response-200' - '404': - description: Not found error - '422': - description: Parameters validation error - /api/v5/message-feeds/user/{creatorId}: - get: - tags: - - Message Feed - summary: Finds message feeds by creatorId and multiple conditions - description: Conditions can be provided in query string - operationId: findMessageFeedsByCreatorId - parameters: - - $ref: '#/components/parameters/_creatorId' - - $ref: '#/components/parameters/parameter_isDeleted-5' - - $ref: '#/components/parameters/paging-options' - responses: - '200': - $ref: '#/components/responses/message-feed-response-200' - '404': - description: Not found error - '422': - description: Parameters validation error - /api/v3/messages: - get: - summary: query messages - tags: - - Message - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/parameter_channelId-3' - - $ref: '#/components/parameters/parameter_type' - - $ref: '#/components/parameters/parameter_parentId' - - $ref: '#/components/parameters/parameter_filterByParentId' - - $ref: '#/components/parameters/parameter_hasFlag-5' - - $ref: '#/components/parameters/parameter_isDeleted-6' - - $ref: '#/components/parameters/parameter_tags-3' - - $ref: '#/components/parameters/parameter_excludeTags' - - $ref: '#/components/parameters/parameter_options-7' - responses: - '200': - $ref: '#/components/responses/response_root-get-response-200-4' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - post: - summary: create a message - tags: - - Message - security: - - BearerAuth: [] - requestBody: - $ref: '#/components/requestBodies/request_root-post-request-payload-6' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-5' - '403': - description: Error Response - content: - application/json: - examples: - ForbiddenAvatarError: - $ref: '#/components/examples/ForbiddenAvatarError' - PermissionDeniedError: - $ref: '#/components/examples/PermissionDeniedError' - UserIsMutedError: - $ref: '#/components/examples/UserIsMutedError' - ChannelIsMutedError: - $ref: '#/components/examples/ChannelIsMutedError' - UserIsBannedError: - $ref: '#/components/examples/UserIsBannedError' - MaxRepetitionExceed: - $ref: '#/components/examples/MaxRepetitionExceed' - BanWordFoundError: - $ref: '#/components/examples/BanWordFoundError' - LinkNotAllowedError: - $ref: '#/components/examples/LinkNotAllowedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/ValidationError' - /api/v3/messages/list: - get: - summary: get list of messages - tags: - - Message - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/parameter_messageIds' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-5' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/messages/{messageId}: - get: - summary: get a message - tags: - - Message - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/messageId' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-5' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - put: - summary: update a message - tags: - - Message - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/messageId' - requestBody: - $ref: '#/components/requestBodies/_messageId-post-request-payload' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-5' - '403': - description: Error Response - content: - application/json: - examples: - ForbiddenAvatarError: - $ref: '#/components/examples/ForbiddenAvatarError' - PermissionDeniedError: - $ref: '#/components/examples/PermissionDeniedError' - MaxRepetitionExceed: - $ref: '#/components/examples/MaxRepetitionExceed' - BanWordFoundError: - $ref: '#/components/examples/BanWordFoundError' - LinkNotAllowedError: - $ref: '#/components/examples/LinkNotAllowedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/ValidationError' - delete: - summary: delete a message - tags: - - Message - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/messageId' - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - type: object - properties: - success: - type: boolean - message: - type: string - '403': - $ref: '#/components/responses/PermissionDeniedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/messages/{messageId}/flag: - post: - summary: flag a message - tags: - - Message - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/messageId' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-5' - '403': - description: Error Response - content: - application/json: - examples: - ForbiddenError: - $ref: '#/components/examples/ForbiddenError' - PermissionDeniedError: - $ref: '#/components/examples/PermissionDeniedError' - UserIsBannedError: - $ref: '#/components/examples/UserIsBannedError' - '404': - $ref: '#/components/responses/NotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/messages/{messageId}/unflag: - delete: - summary: unflag a message - tags: - - Message - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/messageId' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-5' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/messages/{messageId}/clearFlags: - delete: - summary: clear flags - tags: - - Message - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/messageId' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-5' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/messages/{messageId}/isFlaggedByMe: - get: - summary: is message flag by me - tags: - - Message - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/messageId' - responses: - '200': - $ref: '#/components/responses/IsSocialFlagByMeResponse' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v5/messages: - post: - tags: - - Message - summary: Create a new message in message feed - description: Create a new message - requestBody: - $ref: '#/components/requestBodies/create-message-request-payload' - responses: - '200': - $ref: '#/components/responses/create-message-response-200' - '404': - description: Not found error - '422': - description: Parameters validation error - security: - - BearerAuth: [] - get: - tags: - - Message - summary: Find message by message feed id and multiple conditions - description: Multiple conditions can be provided in query string - parameters: - - $ref: '#/components/parameters/parameter_messageFeedId' - - $ref: '#/components/parameters/parameter_parentId-2' - - $ref: '#/components/parameters/parameter_isDeleted-7' - - $ref: '#/components/parameters/includeTags' - - $ref: '#/components/parameters/parameter_excludeTags-2' - - $ref: '#/components/parameters/hasFlags' - - $ref: '#/components/parameters/dataType' - - $ref: '#/components/parameters/parameter_paging-options' - responses: - '200': - $ref: '#/components/responses/paginated-message-response-200' - '404': - description: Not found error - '422': - description: Parameters validation error - security: - - BearerAuth: [] - /api/v5/messages/{messageId}: - delete: - tags: - - Message - summary: Delete a message - description: Delete a message - parameters: - - $ref: '#/components/parameters/_messageId' - - $ref: '#/components/parameters/parameter_permanent-2' - responses: - '200': - description: Successful operation - '404': - description: Not found error - '422': - description: Parameters validation error - security: - - BearerAuth: [] - get: - tags: - - Message - summary: Find message by ID - description: Returns a single message - parameters: - - $ref: '#/components/parameters/_messageId' - responses: - '200': - $ref: '#/components/responses/message-common-response-200' - '404': - description: Not found error - '422': - description: Parameters validation error - security: - - BearerAuth: [] - put: - tags: - - Message - summary: Update a message - description: Update a message - parameters: - - $ref: '#/components/parameters/_messageId' - requestBody: - $ref: '#/components/requestBodies/update-message-request-payload' - responses: - '200': - $ref: '#/components/responses/message-common-response-200' - '404': - description: Not found error - '422': - description: Parameters validation error - security: - - BearerAuth: [] - /api/v5/messages/{messageId}/flags/all: - delete: - tags: - - Message - summary: Delete all flags in message - description: Delete all flags in message - parameters: - - $ref: '#/components/parameters/_messageId' - responses: - '200': - $ref: '#/components/responses/message-common-response-200' - '404': - description: Not found error - '422': - description: Parameters validation error - security: - - BearerAuth: [] - /api/v5/messages/{messageId}/flags: - delete: - tags: - - Message - summary: Delete my flag in a message - description: Delete my flag in a message - parameters: - - $ref: '#/components/parameters/_messageId' - responses: - '200': - $ref: '#/components/responses/message-common-response-200' - '404': - description: Not found error - '422': - description: Parameters validation error - security: - - BearerAuth: [] - get: - tags: - - Message - summary: Find my flag in message by ID - description: Return my flag in message - parameters: - - $ref: '#/components/parameters/_messageId' - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - result: - $ref: '#/components/schemas/MessageV5_hasFlags' - '404': - description: Not found error - '422': - description: Parameters validation error - security: - - BearerAuth: [] - post: - tags: - - Message - summary: Create my flag in a message - description: Flag a message - parameters: - - $ref: '#/components/parameters/_messageId' - responses: - '200': - $ref: '#/components/responses/message-common-response-200' - '404': - description: Not found error - '422': - description: Parameters validation error - security: - - BearerAuth: [] - /api/v5/messages/list: - get: - tags: - - Message - summary: Find messages by message id (max=10) - description: Multiple message id values can be provided with array format - parameters: - - $ref: '#/components/parameters/parameter_messageIds-2' - responses: - '200': - $ref: '#/components/responses/message-common-response-200' - '404': - description: Not found error - '422': - description: Parameters validation error - security: - - BearerAuth: [] - /api/v5/messages/user/{creatorId}: - get: - tags: - - Message - summary: Find messages by creatorId - description: This API can be called by admin user only - parameters: - - $ref: '#/components/parameters/parameter__creatorId' - - $ref: '#/components/parameters/parameter_channelId-4' - - $ref: '#/components/parameters/hasFlags' - - $ref: '#/components/parameters/paging-options-admin' - responses: - '200': - $ref: '#/components/responses/paginated-message-response-200' - '404': - description: Not found error - '422': - description: Parameters validation error - security: - - BearerAuth: [] - /api/v3/network-settings: - put: - summary: Update network setting configuration. - tags: - - Network Setting - security: - - BearerAuth: [] - description: | - Update network setting configuration. - requestBody: - $ref: '#/components/requestBodies/root-put-request-payload' - responses: - '200': - $ref: '#/components/responses/response_root-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/network-settings/chat: - put: - summary: Update chat network setting configuration. - tags: - - Network Setting - security: - - BearerAuth: [] - description: | - Update chat network setting configuration. - requestBody: - $ref: '#/components/requestBodies/chat-put-request-payload' - responses: - '200': - $ref: '#/components/responses/chat-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - get: - summary: Get chat network setting configuration. - tags: - - Network Setting - security: - - BearerAuth: [] - description: | - Get chat network setting configuration. - responses: - '200': - $ref: '#/components/responses/chat-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/network-settings/feed-setting: - get: - summary: Get feed setting check configuration. - tags: - - Network Setting - security: - - BearerAuth: [] - description: | - Using for get network feed setting check configuration. - responses: - '200': - $ref: '#/components/responses/feed-setting-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - put: - summary: Update feed setting check configuration. - tags: - - Network Setting - security: - - BearerAuth: [] - description: | - Update feed setting check configuration. - requestBody: - description: | - information for a network setting - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/FeedSettingNetworkSetting' - responses: - '200': - $ref: '#/components/responses/feed-setting-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/network-settings/moderation: - get: - summary: Get moderation configuration. - tags: - - Network Setting - security: - - BearerAuth: [] - description: | - Using for get network moderation configuration. - responses: - '200': - $ref: '#/components/responses/moderation-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - put: - summary: Update moderation configuration. - tags: - - Network Setting - security: - - BearerAuth: [] - description: | - Update moderation configuration. - requestBody: - description: | - information for a network setting - required: true - content: - application/json: - schema: - type: object - properties: - isWhitelistEnabled: - type: boolean - description: | - `true` - Enabled whitelist validation. - `false` - Disabled whitelist validation. - responses: - '200': - $ref: '#/components/responses/moderation-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/network-settings/prehook: - get: - tags: - - Network Setting - summary: Get prehook configuration. - description: Get prehook configuration. - security: - - BearerAuth: [] - responses: - '200': - $ref: '#/components/responses/prehook-get-response-200' - '403': - description: Permission denied. - content: - application/json: - schema: - $ref: '#/components/schemas/PermissionDeniedError' - example: - status: error - code: 400301 - message: Only administrator can do this - '500': - description: Unexpected error. - content: - application/json: - schema: - $ref: '#/components/schemas/UnexpectedError' - example: - status: error - code: 500000 - message: Unexpected error - put: - tags: - - Network Setting - summary: Update prehook configuration - description: Update prehook configuration - security: - - BearerAuth: [] - requestBody: - $ref: '#/components/requestBodies/prehook-put-request-payload' - responses: - '200': - $ref: '#/components/responses/prehook-put-response-200' - '400': - description: Bad request. - content: - application/json: - schema: - $ref: '#/components/schemas/BadRequestError' - example: - status: error - code: 400000 - message: This feature is not available on your network - '403': - description: Permission denied. - content: - application/json: - schema: - $ref: '#/components/schemas/PermissionDeniedError' - example: - status: error - code: 400301 - message: Only administrator can do this - '500': - description: Unexpected error. - content: - application/json: - schema: - $ref: '#/components/schemas/UnexpectedError' - example: - status: error - code: 500000 - message: Unexpected error - /api/v3/network-settings/social: - put: - summary: Update social configuration. - tags: - - Network Setting - security: - - BearerAuth: [] - description: | - Update social configuration. - requestBody: - $ref: '#/components/requestBodies/social-put-request-payload' - responses: - '200': - $ref: '#/components/responses/social-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - get: - summary: Get social configuration. - tags: - - Network Setting - security: - - BearerAuth: [] - description: | - Get social configuration. - responses: - '200': - $ref: '#/components/responses/social-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/network-settings/semantic-search: - put: - summary: Update Semantics search configuration. - tags: - - Network Setting - security: - - BearerAuth: [] - description: | - Update Network setting for Semantics search. - requestBody: - $ref: '#/components/requestBodies/semantic-search-put-request-payload' - responses: - '200': - $ref: '#/components/responses/semantic-search-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - get: - summary: Get Network setting for Semantics search. - tags: - - Network Setting - security: - - BearerAuth: [] - description: | - Get Semantics search configuration. - responses: - '200': - $ref: '#/components/responses/semantic-search-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/network-settings/users: - get: - tags: - - Network Setting - summary: Get users configuration. - description: Get users configuration. - security: - - BearerAuth: [] - responses: - '200': - $ref: '#/components/responses/users-response-200' - '403': - description: Permission denied. - content: - application/json: - schema: - $ref: '#/components/schemas/PermissionDeniedError' - example: - status: error - code: 400301 - message: Only administrator can do this - '500': - description: Unexpected error. - content: - application/json: - schema: - $ref: '#/components/schemas/UnexpectedError' - example: - status: error - code: 500000 - message: Unexpected error - put: - tags: - - Network Setting - summary: Update users configuration - description: Update users configuration - security: - - BearerAuth: [] - requestBody: - $ref: '#/components/requestBodies/users-put-request-payload' - responses: - '200': - $ref: '#/components/responses/users-response-200' - '400': - description: Bad request. - content: - application/json: - schema: - $ref: '#/components/schemas/BadRequestError' - example: - status: error - code: 400000 - message: This feature is not available on your network - '403': - description: Permission denied. - content: - application/json: - schema: - $ref: '#/components/schemas/PermissionDeniedError' - example: - status: error - code: 400301 - message: Only administrator can do this - '500': - description: Unexpected error. - content: - application/json: - schema: - $ref: '#/components/schemas/UnexpectedError' - example: - status: error - code: 500000 - message: Unexpected error - /api/v3/network-settings/video-streaming: - get: - summary: Get video streaming setting check configuration. - tags: - - Network Setting - security: - - BearerAuth: [] - description: | - Using for get network video streaming setting check configuration. - responses: - '200': - $ref: '#/components/responses/video-streaming-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '422': - $ref: '#/components/responses/ValidationError' - '500': - $ref: '#/components/responses/UnexpectedError' - put: - summary: Update video streaming setting check configuration. - tags: - - Network Setting - security: - - BearerAuth: [] - description: | - Update video streaming setting check configuration. - requestBody: - description: | - information for a network setting - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/VideoStreamingSettingNetworkSetting' - responses: - '200': - $ref: '#/components/responses/video-streaming-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '422': - $ref: '#/components/responses/ValidationError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/network-settings/webhook: - put: - summary: Update webhook configuration. - tags: - - Network Setting - security: - - BearerAuth: [] - description: | - Update webhook configuration. - requestBody: - $ref: '#/components/requestBodies/webhook-put-request-payload' - responses: - '200': - $ref: '#/components/responses/webhook-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - get: - summary: Get webhook configuration. - tags: - - Network Setting - security: - - BearerAuth: [] - description: | - Get webhook configuration. - responses: - '200': - $ref: '#/components/responses/webhook-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/network-settings/uikit: - get: - summary: Get UIKit config - tags: - - Network Setting - security: - - BearerAuth: [] - description: | - Get UIKit config in json format, will return empty config (`{}`) if we have not set the config yet. - responses: - '200': - $ref: '#/components/responses/uikit-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - put: - summary: Update UIKit config - tags: - - Network Setting - security: - - BearerAuth: [] - description: | - Update or create a UIKit config for a network. - Only admin is allowed to call this. - requestBody: - $ref: '#/components/requestBodies/uikit-put-request-payload' - responses: - '200': - $ref: '#/components/responses/uikit-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /v1/notification: - post: - summary: register a device to get push notification - tags: - - Notification - security: - - ApiKeyAuth: [] - description: | - Register a device to a notification service provider. - requestBody: - $ref: '#/components/requestBodies/request_root-post-request-payload-7' - responses: - '200': - $ref: '#/components/responses/SuccessResponse' - '400': - $ref: '#/components/responses/BadRequestError400' - '404': - $ref: '#/components/responses/NotFoundError404' - delete: - summary: unregister a device from a notification service provider - tags: - - Notification - security: - - ApiKeyAuth: [] - description: | - Unregister a device from a notification service provider. - parameters: - - $ref: '#/components/parameters/parameter_userId-2' - - $ref: '#/components/parameters/deviceId' - responses: - '200': - $ref: '#/components/responses/SuccessResponse' - '400': - $ref: '#/components/responses/BadRequestError400' - '404': - $ref: '#/components/responses/NotFoundError404' - /api/v3/notification/setting: - get: - summary: Get push notification setting. - tags: - - Notification - security: - - BearerAuth: [] - description: | - Get push notification setting. - parameters: - - $ref: '#/components/parameters/level' - - $ref: '#/components/parameters/parameter_channelId-5' - - $ref: '#/components/parameters/parameter_communityId' - responses: - '200': - $ref: '#/components/responses/setting-response-200' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - post: - summary: Save push notification setting. - tags: - - Notification - security: - - BearerAuth: [] - description: | - Save push notification setting. - requestBody: - $ref: '#/components/requestBodies/setting-post-request-payload' - responses: - '200': - $ref: '#/components/responses/SaveApiResponse' - '403': - $ref: '#/components/responses/PermissionDeniedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v1/pinned-posts/communities/{communityId}: - get: - summary: List all pinned posts in a community - tags: - - Pin post - security: - - BearerAuth: [] - description: | - List all pinned posts in a community - parameters: - - $ref: '#/components/parameters/parameter_communityId-2' - - $ref: '#/components/parameters/parameter_options-8' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-3' - '403': - description: No permission to query pin post in a community - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - Private community and the user is not a member: - value: - status: error - code: 400300 - message: You are not a member of this community - '404': - description: The communityId is not found. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - The communityId is not found: - value: - status: error - code: 400400 - message: CommunityId ${id} not found - '422': - $ref: '#/components/responses/ParameterValidationError' - '500': - $ref: '#/components/responses/UnexpectedError' - delete: - summary: Clear all pin posts in a community - tags: - - Pin post - security: - - BearerAuth: [] - description: | - Clear all pin posts in a community - parameters: - - $ref: '#/components/parameters/parameter_communityId-2' - responses: - '200': - $ref: '#/components/responses/common-delete-response-200' - '403': - description: No permission to clear all pin post in a community - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - Users do not have permission.: - value: - status: error - code: 400300 - message: You are not allowed to do this - '404': - description: The communityId is not found. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - The communityId is not found: - value: - status: error - code: 400400 - message: CommunityId ${id} not found - '422': - $ref: '#/components/responses/ParameterValidationError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v1/pinned-posts/communities/{communityId}/{placement}: - get: - summary: List all pinned posts in a community by placement - tags: - - Pin post - security: - - BearerAuth: [] - description: | - List all pinned posts in a community by placement - parameters: - - $ref: '#/components/parameters/parameter_communityId-2' - - $ref: '#/components/parameters/placement' - - $ref: '#/components/parameters/parameter_options-8' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-3' - '403': - description: No permission to query pin post in a community - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - Users do not have permission.: - value: - status: error - code: 400300 - message: You are not a member of this community - '404': - description: The communityId is not found. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - The communityId is not found: - value: - status: error - code: 400400 - message: CommunityId ${id} not found - '422': - $ref: '#/components/responses/ParameterValidationError' - '500': - $ref: '#/components/responses/UnexpectedError' - delete: - summary: Clear all pin posts in a community by placement - tags: - - Pin post - security: - - BearerAuth: [] - description: | - Clear all pin posts in a community by placement - parameters: - - $ref: '#/components/parameters/parameter_communityId-2' - - $ref: '#/components/parameters/placement' - responses: - '200': - $ref: '#/components/responses/common-delete-response-200' - '403': - description: No permission to clear all pin post in a community - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - Users do not have permission.: - value: - status: error - code: 400300 - message: You are not allowed to do this - '404': - description: The communityId is not found. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - The communityId is not found: - value: - status: error - code: 400400 - message: CommunityId ${id} not found - '422': - $ref: '#/components/responses/ParameterValidationError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v1/pinned-posts/communities/{communityId}/{placement}/{postId}: - post: - summary: 'Pin a post in a community ' - tags: - - Pin post - security: - - BearerAuth: [] - description: | - Pin a post in a community - parameters: - - $ref: '#/components/parameters/parameter_communityId-2' - - $ref: '#/components/parameters/placement' - - $ref: '#/components/parameters/parameter_postId' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-3' - '400': - $ref: '#/components/responses/common-response-400' - '403': - description: No permission to pin post in a community - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - Users do not have permission.: - value: - status: error - code: 400300 - message: You are not allowed to do this - '404': - description: The communityId is not found. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - The communityId is not found: - value: - status: error - code: 400400 - message: 'Failed to find community: ${communityId}' - The postId is not found within the communityId: - value: - status: error - code: 400400 - message: PostId ${postId} not found - '422': - $ref: '#/components/responses/ParameterValidationError' - '500': - $ref: '#/components/responses/UnexpectedError' - delete: - summary: 'Unpin a post in a community ' - tags: - - Pin post - security: - - BearerAuth: [] - description: | - Unpin a post in a community - parameters: - - $ref: '#/components/parameters/parameter_communityId-2' - - $ref: '#/components/parameters/placement' - - $ref: '#/components/parameters/parameter_postId' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-3' - '400': - description: badRequest Error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - This post is not pinned.: - value: - status: error - code: 400000 - message: Post ${postId} is not pinned - This post is not in community: - value: - status: error - code: 400000 - message: Post ${postId} is not in community - '403': - description: No permission to unpin post in a community - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - Users do not have permission.: - value: - status: error - code: 400300 - message: You are not allowed to do this - '404': - description: The communityId is not found. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - The communityId is not found: - value: - status: error - code: 400400 - message: 'Failed to find community: ${communityId}' - The postId is not found within the communityId: - value: - status: error - code: 400400 - message: PostId ${postId} not found - '422': - $ref: '#/components/responses/ParameterValidationError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/polls: - post: - summary: create a poll - tags: - - Poll - security: - - BearerAuth: [] - description: | - Create a poll - requestBody: - $ref: '#/components/requestBodies/request_root-post-request-payload-8' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-6' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/polls/{pollId}: - put: - summary: update status poll - tags: - - Poll - security: - - BearerAuth: [] - description: | - update a poll - parameters: - - $ref: '#/components/parameters/pollId' - - $ref: '#/components/parameters/authorization' - - $ref: '#/components/parameters/content-type' - requestBody: - $ref: '#/components/requestBodies/_pollId-put-request-payload' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-6' - '403': - $ref: '#/components/responses/PollForbiddenError' - '404': - $ref: '#/components/responses/PollNotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - get: - summary: get poll - tags: - - Poll - security: - - BearerAuth: [] - description: | - List users who vote the poll with specific answer - parameters: - - $ref: '#/components/parameters/pollId' - - $ref: '#/components/parameters/authorization' - - $ref: '#/components/parameters/content-type' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-6' - '404': - $ref: '#/components/responses/PollNotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - delete: - summary: delete poll - tags: - - Poll - security: - - BearerAuth: [] - description: | - delete a poll - parameters: - - $ref: '#/components/parameters/pollId' - - $ref: '#/components/parameters/authorization' - - $ref: '#/components/parameters/content-type' - responses: - '200': - description: poll deleted - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - type: object - properties: - success: - type: boolean - '403': - $ref: '#/components/responses/ForbiddenError' - '404': - $ref: '#/components/responses/PollNotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/polls/{pollId}/votes: - post: - summary: vote poll - tags: - - Poll - security: - - BearerAuth: [] - description: | - Client vote poll - parameters: - - $ref: '#/components/parameters/pollId' - - $ref: '#/components/parameters/authorization' - - $ref: '#/components/parameters/content-type' - requestBody: - $ref: '#/components/requestBodies/_pollId-votes-post-request-payload' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-6' - '400': - $ref: '#/components/responses/BadRequestError' - '404': - $ref: '#/components/responses/PollNotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/polls/{pollId}/answers/{answerId}: - get: - summary: List users who vote the poll with specific answer - tags: - - Poll - security: - - BearerAuth: [] - description: | - List users who vote the poll with specific answer - parameters: - - $ref: '#/components/parameters/pollId' - - $ref: '#/components/parameters/answerId' - - $ref: '#/components/parameters/authorization' - - $ref: '#/components/parameters/content-type' - - $ref: '#/components/parameters/parameter_sortBy-7' - - $ref: '#/components/parameters/parameter_options-9' - responses: - '200': - $ref: '#/components/responses/poll-pagination-response-200' - '404': - $ref: '#/components/responses/PollNotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/posts: - get: - summary: query posts - tags: - - Post - security: - - BearerAuth: [] - description: | - Query posts - parameters: - - $ref: '#/components/parameters/targetId' - - $ref: '#/components/parameters/targetType' - - $ref: '#/components/parameters/parameter_sortBy-5' - - $ref: '#/components/parameters/parameter_dataType' - - $ref: '#/components/parameters/parameter_hasFlag-6' - - $ref: '#/components/parameters/parameter_isDeleted-4' - - $ref: '#/components/parameters/parameter_options-5' - - $ref: '#/components/parameters/parameter_dataTypes-2' - - $ref: '#/components/parameters/parameter_tags-4' - - $ref: '#/components/parameters/matchingOnlyParentPost' - responses: - '200': - $ref: '#/components/responses/response_root-get-response-200-5' - '400': - $ref: '#/components/responses/BadRequestError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - post: - summary: create a post - tags: - - Post - security: - - BearerAuth: [] - description: | - Create a post - requestBody: - $ref: '#/components/requestBodies/request_root-post-request-payload-9' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-7' - '400': - $ref: '#/components/responses/BadRequestError' - '403': - $ref: '#/components/responses/ForbiddenError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/posts/{postId}: - get: - summary: get a post by ID - tags: - - Post - security: - - BearerAuth: [] - description: | - Get a post by ID - parameters: - - $ref: '#/components/parameters/_postId' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-7' - '400': - $ref: '#/components/responses/BadRequestError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - put: - summary: update a post - tags: - - Post - security: - - BearerAuth: [] - description: | - Update a post - parameters: - - $ref: '#/components/parameters/_postId' - - $ref: '#/components/parameters/parameter_preserve-edited-at' - requestBody: - $ref: '#/components/requestBodies/_postId-put-request-payload' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-7' - '400': - $ref: '#/components/responses/BadRequestError' - '403': - $ref: '#/components/responses/ForbiddenError' - '500': - $ref: '#/components/responses/UnexpectedError' - delete: - summary: delete a post - tags: - - Post - security: - - BearerAuth: [] - description: | - Delete a post - parameters: - - $ref: '#/components/parameters/_postId' - responses: - '200': - description: post information - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - type: object - properties: - success: - type: boolean - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/posts/{postId}/approve: - post: - summary: Approve reviewing post - tags: - - Post - security: - - BearerAuth: [] - description: | - Get a post by ID - parameters: - - $ref: '#/components/parameters/_postId' - description: Post public id - responses: - '200': - $ref: '#/components/responses/response_common-response-200-7' - '400': - $ref: '#/components/responses/BadRequestError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/posts/{postId}/decline: - post: - summary: Decline reviewing post - tags: - - Post - security: - - BearerAuth: [] - description: | - Get a post by ID - parameters: - - $ref: '#/components/parameters/_postId' - description: Post public id - responses: - '200': - $ref: '#/components/responses/response_common-response-200-7' - '400': - $ref: '#/components/responses/BadRequestError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/posts/{postId}/flag: - post: - summary: flag a post. - tags: - - Post - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/_postId' - requestBody: - $ref: '#/components/requestBodies/_postId-flag-request-payload' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-7' - '403': - $ref: '#/components/responses/NumberOfFlagExceedError' - '404': - $ref: '#/components/responses/NotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/posts/{postId}/isflagbyme: - get: - summary: Check whether user flag a given post. - tags: - - Post - security: - - BearerAuth: [] - description: | - Check whether user flag a given post. - parameters: - - $ref: '#/components/parameters/_postId' - responses: - '200': - $ref: '#/components/responses/IsSocialFlagByMeResponse' - '404': - $ref: '#/components/responses/NotFoundError' - /api/v3/posts/{postId}/unflag: - delete: - summary: unflag a post. - tags: - - Post - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/_postId' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-7' - '404': - $ref: '#/components/responses/NotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/posts/list: - get: - summary: get list of post - tags: - - Post - security: - - BearerAuth: [] - description: | - Get list of post - parameters: - - $ref: '#/components/parameters/postIds' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-7' - '400': - $ref: '#/components/responses/BadRequestError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/posts/{postId}/flags: - delete: - summary: clear flags - tags: - - Post - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/_postId' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-7' - '403': - $ref: '#/components/responses/PermissionDeniedError' - '404': - $ref: '#/components/responses/NotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v4/posts: - get: - summary: query posts - tags: - - Post - security: - - BearerAuth: [] - description: | - Query posts - parameters: - - $ref: '#/components/parameters/parameter_targetId' - - $ref: '#/components/parameters/parameter_targetType' - - $ref: '#/components/parameters/parameter_sortBy-8' - - $ref: '#/components/parameters/parameter_hasFlag-7' - - $ref: '#/components/parameters/parameter_isDeleted-2' - - $ref: '#/components/parameters/parameter_options-10' - - $ref: '#/components/parameters/feedType' - - $ref: '#/components/parameters/parameter_dataTypes-3' - - $ref: '#/components/parameters/parameter_tags-5' - - $ref: '#/components/parameters/parameter_matchingOnlyParentPost' - responses: - '200': - $ref: '#/components/responses/post-pagination-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - post: - summary: create a post - tags: - - Post - security: - - BearerAuth: [] - description: | - Create a post - requestBody: - description: | - information of a post to be created. - - require text or at least 1 attachments - - ### Custom post - - When `dataType` is set as the custom name (dot separated string format, see the `dataType` field section), `data` payload can be anything but it will not support normal data capability (ex. `text` data will not be created) - and `data` payload size will be limit to `100kb` - - `attachments` will be ignored, users need to keep them in `data` field and handle the file info by themselves - - ### Image, File, Video post - - Put `type` with file id in `attachments` - - Image and File data can be picked from `fileId` in `data` object in child post - - Video fileId for each resolution will be in `videoFileId` in `data` object in child post - - ### Live streaming post - - When put `dataType` as `liveStream` and `streamId` in `data`, post will be created as live streaming post - - `attachments` will be ignored - - Video streaming info will be in `videoStreamings` object in response - - ### Poll post - - When put `dataType` as `poll` and `pollId` in `data`, post will be created as poll post - - `attachments` will be ignored - - Poll info will be in `polls` object in response - required: true - content: - application/json: - schema: - type: object - properties: - data: - type: object - properties: - text: - type: string - description: data for text in post parent - example: example text - streamId: - type: string - description: video streaming id for create live streaming post - example: 81559bcc3a5bb3b6bbd69a83b89d337e - pollId: - type: string - description: poll id for create poll post - example: 53a9fd8b5aaa1af6c5a1bbd245ce4a9b1627373735551 - attachments: - type: array - items: - type: object - description: attachment info - properties: - fileId: - type: string - example: 57b916d38eaf8010caddfb7759a2d06c - description: file id for attachment - type: - type: string - description: attachment type - enum: - - image - - file - - video - dataType: - type: string - example: upstra.customtype - description: Must be in dot separated string format or system defined format (ex. "upstra.customtype", "com.eko.birthday", "liveStream") - targetType: - type: string - enum: - - user - - community - - content - default: user - description: where to create post to - targetId: - type: string - example: public_user_id - description: Resource public id depends on target type (ex. target type is community, target id will be community public id) - metadata: - type: object - example: - anything: you want - postId: - type: string - example: postidiwant - description: for specify public post id on post creation - tags: - type: array - minItems: 0 - maxItems: 5 - items: - type: string - description: tags - maximum: 24 - 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 - example: user - description: | - type: * `user` - need to specific userIds and notification mentions individual user - enum: - - user - userIds: - type: array - example: - - userId1 - - userId2 - description: Array of UserId. if the mention type is a channel, doesn't send userIds - items: - type: string - createdAt: - type: string - description: The date/time when a post is created. - format: date-time - example: '2022-07-07T04:24:20.444Z' - required: - - data - responses: - '200': - $ref: '#/components/responses/post-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '403': - $ref: '#/components/responses/ForbiddenError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v4/posts/{postId}: - put: - summary: update a post - tags: - - Post - security: - - BearerAuth: [] - description: | - Update a post - parameters: - - $ref: '#/components/parameters/parameter__postId' - - $ref: '#/components/parameters/parameter_preserve-edited-at' - requestBody: - $ref: '#/components/requestBodies/request__postId-put-request-payload' - responses: - '200': - $ref: '#/components/responses/post-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '403': - $ref: '#/components/responses/ForbiddenError' - '500': - $ref: '#/components/responses/UnexpectedError' - delete: - summary: delete a post - tags: - - Post - security: - - BearerAuth: [] - description: | - Delete a post - parameters: - - $ref: '#/components/parameters/parameter__postId' - - $ref: '#/components/parameters/parameter_permanent-3' - responses: - '200': - description: post information - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - type: object - properties: - success: - type: boolean - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v1/presence/settings: - get: - summary: Get presence feature setting on both network and user level - description: Get presence feature setting on both network and user level - tags: - - Presence - responses: - '200': - $ref: '#/components/responses/settings-response-payload-200' - '500': - $ref: '#/components/responses/UnexpectedError' - security: - - BearerAuth: [] - /api/v1/presence/settings/user: - put: - summary: Update presence feature setting on user level - description: Update presence feature setting on user level. - tags: - - Presence - requestBody: - $ref: '#/components/requestBodies/settings-user-request-payload' - responses: - '200': - $ref: '#/components/responses/settings-user-response-payload-200' - '403': - description: Forbidden error due to feature is not enabled. - content: - application/json: - schema: - $ref: '#/components/schemas/ForbiddenError' - example: - status: error - code: 400300 - message: The feature is not enabled! - '500': - $ref: '#/components/responses/UnexpectedError' - security: - - BearerAuth: [] - /api/v1/presence/users/list: - get: - summary: Get presence state of provided user list - description: | - Get presence state of provided user list - - Max userIds list of 220 items - - Each id max length up to 300 - tags: - - Presence - parameters: - - $ref: '#/components/parameters/parameter_userIds-2' - responses: - '200': - $ref: '#/components/responses/users-list-response-payload-200' - '403': - description: Forbidden error due to feature is not enabled. - content: - application/json: - schema: - $ref: '#/components/schemas/ForbiddenError' - example: - status: error - code: 400300 - message: The feature is not enabled! - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v1/presence/network/users: - get: - summary: Get online users in a network - description: | - Get online users in a network - - Automatically sortedBy heartbeat time) - - Return max 1000 users - tags: - - Presence - parameters: - - $ref: '#/components/parameters/orderBy' - responses: - '200': - $ref: '#/components/responses/network-users-response-payload-200' - '403': - description: Forbidden error due to feature is not enabled. - content: - application/json: - schema: - $ref: '#/components/schemas/ForbiddenError' - example: - status: error - code: 400300 - message: The feature is not enabled! - '500': - $ref: '#/components/responses/UnexpectedError' - security: - - BearerAuth: [] - /api/v1/presence/network/users/count: - get: - summary: Get number of online users in a network - description: Get number of online users in a network - tags: - - Presence - responses: - '200': - $ref: '#/components/responses/network-users-count-response-payload-200' - '403': - description: Forbidden error due to feature is not enabled. - content: - application/json: - schema: - $ref: '#/components/schemas/ForbiddenError' - example: - status: error - code: 400300 - message: The feature is not enabled! - '500': - $ref: '#/components/responses/UnexpectedError' - security: - - BearerAuth: [] - /api/v1/presence/heartbeat: - post: - summary: Send a presence heartbeat - description: Send a presence heartbeat - tags: - - Presence - responses: - '202': - $ref: '#/components/responses/heartbeat-response-payload-200' - '403': - description: Forbidden error due to feature is not enabled. - content: - application/json: - schema: - $ref: '#/components/schemas/ForbiddenError' - example: - status: error - code: 400300 - message: The feature is not enabled! - '500': - $ref: '#/components/responses/UnexpectedError' - security: - - BearerAuth: [] - /api/v2/reactions/messages/most: - get: - summary: Get message ids by the most of reactions. - tags: - - Reaction - security: - - BearerAuth: [] - description: | - Get message ids by the most of reactions. - parameters: - - $ref: '#/components/parameters/parameter_limit-2' - - $ref: '#/components/parameters/reactionName' - responses: - '200': - $ref: '#/components/responses/messages-most-get-response-payload-200' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v2/reactions: - get: - summary: get list of reactions. - tags: - - Reaction - security: - - BearerAuth: [] - description: | - Get paginable list of reactions. - parameters: - - $ref: '#/components/parameters/parameter_referenceId' - - $ref: '#/components/parameters/parameter_referenceType' - - $ref: '#/components/parameters/reactionName' - - $ref: '#/components/parameters/parameter_options-11' - responses: - '200': - $ref: '#/components/responses/response_root-get-response-payload-200' - '404': - $ref: '#/components/responses/NotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - post: - summary: add reaction to any document. - tags: - - Reaction - security: - - BearerAuth: [] - description: | - Add reaction to a document referenced by ID and type. - requestBody: - $ref: '#/components/requestBodies/request_root-post-request-payload-10' - responses: - '200': - $ref: '#/components/responses/root-post-response-payload-200' - '404': - $ref: '#/components/responses/NotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - delete: - summary: remove reaction from any document. - tags: - - Reaction - security: - - BearerAuth: [] - description: | - Remove reaction from a document referenced by ID and type. - parameters: - - $ref: '#/components/parameters/parameter_referenceId' - - $ref: '#/components/parameters/parameter_referenceType' - - $ref: '#/components/parameters/reactionName' - - $ref: '#/components/parameters/referenceVersion' - responses: - '200': - $ref: '#/components/responses/root-delete-response-payload-200' - '404': - $ref: '#/components/responses/NotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/reactions: - get: - summary: get list of reactions. - tags: - - Reaction - security: - - BearerAuth: [] - description: | - Get paginable list of reactions. - parameters: - - $ref: '#/components/parameters/parameter_referenceId-2' - - $ref: '#/components/parameters/parameter_referenceType-2' - - $ref: '#/components/parameters/parameter_referenceVersion' - - $ref: '#/components/parameters/parameter_reactionName' - - $ref: '#/components/parameters/parameter_options-12' - responses: - '200': - $ref: '#/components/responses/response_root-get-response-200-6' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v2/roles: - get: - summary: get all roles - tags: - - Role - security: - - ApiKeyAuth: [] - description: | - Get all roles - parameters: - - $ref: '#/components/parameters/authorization' - - $ref: '#/components/parameters/content-type' - responses: - '200': - $ref: '#/components/responses/response_root-get-response-payload-200-2' - '400': - $ref: '#/components/responses/BadRequestError400' - '500': - $ref: '#/components/responses/UnexpectedError500' - put: - summary: add permissions. - tags: - - Role - security: - - ApiKeyAuth: [] - description: | - Add permissions - parameters: - - $ref: '#/components/parameters/authorization' - - $ref: '#/components/parameters/content-type' - requestBody: - $ref: '#/components/requestBodies/request_root-put-request-payload' - responses: - '200': - description: OK - '404': - $ref: '#/components/responses/NotFoundError404' - '429': - $ref: '#/components/responses/RateLimitError429' - '500': - $ref: '#/components/responses/UnexpectedError500' - /api/v3/roles: - get: - summary: Get roles (pagination support) - tags: - - Role - security: - - BearerAuth: [] - description: | - Get roles (pagination support) - parameters: - - $ref: '#/components/parameters/parameter_keyword-2' - - $ref: '#/components/parameters/parameter_sortBy-9' - - $ref: '#/components/parameters/parameter_options-5' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-8' - '500': - $ref: '#/components/responses/UnexpectedError' - post: - summary: Create role - tags: - - Role - security: - - BearerAuth: [] - description: | - Create a role - requestBody: - $ref: '#/components/requestBodies/role-request-payload' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-8' - '400': - $ref: '#/components/responses/BadRequestError' - '403': - $ref: '#/components/responses/GenericPermissionDeniedError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/roles/{roleId}: - get: - summary: Get role - tags: - - Role - security: - - BearerAuth: [] - description: | - Get a role - parameters: - - $ref: '#/components/parameters/_roleId' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-8' - '404': - $ref: '#/components/responses/NotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - put: - summary: Update role - tags: - - Role - security: - - BearerAuth: [] - description: | - Update a role - parameters: - - $ref: '#/components/parameters/_roleId' - requestBody: - $ref: '#/components/requestBodies/role-request-payload' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-8' - '403': - $ref: '#/components/responses/GenericPermissionDeniedError' - '404': - $ref: '#/components/responses/NotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - delete: - summary: Delete role - tags: - - Role - security: - - BearerAuth: [] - description: | - Delete a role - parameters: - - $ref: '#/components/parameters/_roleId' - - $ref: '#/components/parameters/roleId' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-8' - '400': - $ref: '#/components/responses/BadRequestError' - '403': - $ref: '#/components/responses/GenericPermissionDeniedError' - '404': - $ref: '#/components/responses/NotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v1/semantic-search/posts: - get: - summary: Semantic search posts - tags: - - Semantic Search - security: - - BearerAuth: [] - description: | - Semantic search posts - parameters: - - $ref: '#/components/parameters/parameter_query' - - $ref: '#/components/parameters/targetId' - - $ref: '#/components/parameters/parameter_targetType-2' - - $ref: '#/components/parameters/parameter_options-5' - - $ref: '#/components/parameters/parameter_dataTypes-4' - - $ref: '#/components/parameters/parameter_tags-4' - - $ref: '#/components/parameters/matchingOnlyParentPost' - responses: - '200': - $ref: '#/components/responses/posts-response-payload-200' - '400': - $ref: '#/components/responses/BadRequestError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v1/semantic-search/communities: - get: - summary: Semantic search community - tags: - - Semantic Search - security: - - BearerAuth: [] - description: | - Semantic search community - parameters: - - $ref: '#/components/parameters/parameter_query' - - $ref: '#/components/parameters/parameter_filter-2' - - $ref: '#/components/parameters/parameter_tags-4' - - $ref: '#/components/parameters/categoryIds' - - $ref: '#/components/parameters/parameter_options-5' - responses: - '200': - $ref: '#/components/responses/communities-response-payload-200' - '400': - $ref: '#/components/responses/BadRequestError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/sessions: - post: - summary: Register a session - deprecated: true - tags: - - Session - parameters: - - $ref: '#/components/parameters/x-api-key' - description: | - Register a session in order to receive access token to perform sdk operations. - requestBody: - $ref: '#/components/requestBodies/request_root-post-request-payload-11' - responses: - '200': - $ref: '#/components/responses/response_root-post-response-200' - '401': - $ref: '#/components/responses/UserIsSystemBanned' - '403': - $ref: '#/components/responses/UserIsGlobalBanned' - '500': - $ref: '#/components/responses/UnexpectedError' - get: - summary: Verify access token - tags: - - Session - description: Verify access token. The caller must add accessToken in header. - responses: - '200': - $ref: '#/components/responses/response_root-get-response-200-7' - '401': - description: Access token is invalid or expired - '403': - description: User is global banned - '404': - description: Not found - '422': - description: Parameters validation error - security: - - BearerAuth: [] - /api/v4/sessions: - post: - summary: Register a session - tags: - - Session - parameters: - - $ref: '#/components/parameters/x-api-key' - description: | - Register a session in order receive access token to perform sdk operations. - requestBody: - $ref: '#/components/requestBodies/request_root-post-request-payload-12' - responses: - '200': - $ref: '#/components/responses/session-response-200' - '401': - $ref: '#/components/responses/UserIsSystemBanned' - '403': - $ref: '#/components/responses/UserIsGlobalBanned' - '500': - $ref: '#/components/responses/UnexpectedError' - delete: - summary: Revoke access token - tags: - - Session - security: - - BearerAuth: [] - description: Revoke an access token. If the userId is provided, this will revoke all access tokens of that user. Only admin can revoke all access tokens of a user. - parameters: - - $ref: '#/components/parameters/parameter_userId-3' - - $ref: '#/components/parameters/isPublic' - responses: - '200': - description: Revoke access token success - content: - application/json: - schema: - type: object - properties: - success: - type: boolean - default: true - '403': - $ref: '#/components/responses/UserIsGlobalBanned' - '404': - $ref: '#/components/responses/UserIdNotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v4/sessions/users/{userId}: - delete: - summary: Revoke all user's access tokens by admin - tags: - - Session - security: - - BearerAuth: [] - description: Revoke all user's access tokens by admin - parameters: - - $ref: '#/components/parameters/parameter__userId-2' - - $ref: '#/components/parameters/isPublic' - responses: - '200': - description: Revoke access token success - content: - application/json: - schema: - type: object - properties: - success: - type: boolean - default: true - '403': - $ref: '#/components/responses/UserIsGlobalBanned' - '404': - $ref: '#/components/responses/UserIdNotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v4/stories: - post: - summary: Create a story - description: Create a story - tags: - - Story - requestBody: - $ref: '#/components/requestBodies/request_root-post-request-payload-13' - responses: - '200': - description: Create Result - content: - application/json: - schema: - $ref: '#/components/schemas/CreateStoryResponsePayload' - '400': - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 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: - $ref: '#/components/schemas/Error' - 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: - $ref: '#/components/schemas/Error' - example: - status: error - code: 500000 - message: Parameters Validation Error! - '500': - description: Unexpected error. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 500000 - message: Unexpected error - get: - summary: Query stories by target - description: Query stories by target - tags: - - Story - parameters: - - $ref: '#/components/parameters/parameter_targetId-2' - - $ref: '#/components/parameters/parameter_targetType-3' - - $ref: '#/components/parameters/parameter_dataType-2' - - $ref: '#/components/parameters/isExpired' - - $ref: '#/components/parameters/parameter_options-13' - responses: - '200': - description: Story Information - content: - application/json: - schema: - $ref: '#/components/schemas/StoryWithTargetPaginatedResponsePayload' - '403': - description: Forbidden Error. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400301 - message: User xxx is not community xxx member - '404': - description: Target not found - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400400 - message: CommunityId xxx not found - '422': - description: Parameters Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 500000 - message: Parameters Validation Error! - '500': - description: Unexpected error. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 500000 - message: Unexpected error - /api/v4/stories/count: - get: - summary: Count stories by target - description: Count stories by target which includes both active and expired stories. Only admin can use this API. - tags: - - Story - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/parameter_targetId-2' - - $ref: '#/components/parameters/parameter_targetType-3' - responses: - '200': - description: Story Count - content: - application/json: - schema: - type: object - properties: - count: - type: integer - example: 10 - '404': - description: Target not found - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400400 - message: CommunityId xxx not found - '422': - description: Parameters Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 500000 - message: Parameters Validation Error! - '500': - description: Unexpected error. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 500000 - message: Unexpected error - /api/v4/stories/seen: - get: - summary: Query story targets by multiple targets - description: Query story targets by multiple targets - tags: - - Story - parameters: - - $ref: '#/components/parameters/targets' - responses: - '200': - description: Story targets Information - content: - application/json: - schema: - $ref: '#/components/schemas/StoryTargetsResponsePayload' - '400': - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 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. - '422': - description: Parameters Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 500000 - message: Parameters Validation Error! - '500': - description: Unexpected error. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 500000 - message: Unexpected error - /api/v4/stories-by-targets: - get: - summary: Query stories by multiple targets - description: Query stories by multiple targets - tags: - - Story - parameters: - - $ref: '#/components/parameters/targets' - - $ref: '#/components/parameters/parameter_options-13' - responses: - '200': - description: Story Information, sorted by the target order in the request then the sort option - content: - application/json: - schema: - $ref: '#/components/schemas/StoryWithTargetResponsePayload' - '400': - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 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. - '422': - description: Parameters Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 500000 - message: Parameters Validation Error! - '500': - description: Unexpected error. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 500000 - message: Unexpected error - /api/v4/stories/{storyId}: - get: - description: Get a story - summary: Get a story - tags: - - Story - parameters: - - $ref: '#/components/parameters/_storyId' - responses: - '200': - description: Story Information - content: - application/json: - schema: - $ref: '#/components/schemas/StoryResponsePayload' - '403': - description: Forbidden Error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400300 - message: User xxx is not community xxx member - '404': - description: Story not found. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400400 - message: Story not found - '500': - description: Unexpected error. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 500000 - message: Unexpected error - delete: - description: Delete a story - summary: Delete a story - tags: - - Story - parameters: - - $ref: '#/components/parameters/_storyId' - - $ref: '#/components/parameters/parameter_permanent-4' - responses: - '200': - description: Delete Result - content: - application/json: - schema: - type: object - properties: - success: - type: boolean - '403': - description: Forbidden Error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400300 - message: You are not allowed to do this - '404': - description: Story not found. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400400 - message: Story not found - '500': - description: Unexpected error. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 500000 - message: Unexpected error - /api/v4/stories/{storyId}/flags: - post: - description: Flag a story - summary: Flag a story - tags: - - Story - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/_storyId' - responses: - '200': - description: Story Information - content: - application/json: - schema: - $ref: '#/components/schemas/StoryResponsePayload' - '403': - description: Forbidden error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - Story creators cannot flag their own story.: - value: - status: error - code: 400301 - message: Story creators cannot flag their own story. - Number of flags already exceed.: - value: - status: error - code: 400301 - message: Number of flags already exceed. - '404': - description: Story not found. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400400 - message: Story not found - '500': - description: Unexpected error. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 500000 - message: Unexpected error - delete: - description: Unflag a story - summary: Unflag a story - tags: - - Story - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/_storyId' - responses: - '200': - description: Story Information - content: - application/json: - schema: - $ref: '#/components/schemas/StoryResponsePayload' - '403': - description: Forbidden error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - Story creators cannot unflag their own story.: - value: - status: error - code: 400301 - message: Story creators cannot unflag their own story. - You never send a flag to this story.: - value: - status: error - code: 400301 - message: You never send a flag to this story. - '404': - description: Story not found. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400400 - message: Story not found - '500': - description: Unexpected error. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 500000 - message: Unexpected error - /api/v4/stories/{storyId}/flags/all: - delete: - description: Clear all flags in a story. Only admin can use this API. - summary: Clear all flags in a story. - tags: - - Story - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/_storyId' - responses: - '200': - description: Story Information - content: - application/json: - schema: - $ref: '#/components/schemas/StoryResponsePayload' - '403': - description: Forbidden error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - Only admin can clear flags: - value: - status: error - code: 400301 - message: You are not allowed to do this. - '404': - description: Story not found. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400400 - message: Story not found - '500': - description: Unexpected error. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 500000 - message: Unexpected error - /api/v5/me/global-story-targets: - get: - summary: Get global story targets - description: Get global story targets. Return a list of story targets - tags: - - Story - parameters: - - $ref: '#/components/parameters/seenState' - - $ref: '#/components/parameters/parameter_limit-3' - - $ref: '#/components/parameters/parameter_token-3' - responses: - '200': - description: Global Story Information - content: - application/json: - schema: - $ref: '#/components/schemas/GlobalStoryTargetsResponsePayload' - '500': - description: Unexpected error. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 500000 - message: Unexpected error - /api/v2/users/ban: - post: - summary: ban a user. - tags: - - User - security: - - ApiKeyAuth: [] - description: | - Ban a user - requestBody: - $ref: '#/components/requestBodies/request_common-post-request-payload' - description: | - User to be baned - responses: - '200': - description: OK - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v2/users/unban: - post: - summary: unban a user. - tags: - - User - security: - - BearerAuth: [] - description: | - Unban a user - requestBody: - $ref: '#/components/requestBodies/request_common-post-request-payload' - description: | - User to be unbaned - responses: - '200': - description: OK - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v2/users/{userId}/flags: - delete: - summary: clear flag a user. - tags: - - User - security: - - BearerAuth: [] - description: | - Clear flag a user - parameters: - - $ref: '#/components/parameters/parameter_userId-4' - responses: - '200': - $ref: '#/components/responses/_userId-flags-delete-response-payload-200' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/users: - get: - summary: Get users. - tags: - - User - security: - - BearerAuth: [] - description: | - Get users (pagination supported) - parameters: - - $ref: '#/components/parameters/keyword' - - $ref: '#/components/parameters/exactMatchKeyword' - - $ref: '#/components/parameters/parameter_filter-3' - - $ref: '#/components/parameters/parameter_sortBy-10' - - $ref: '#/components/parameters/parameter_options-5' - - $ref: '#/components/parameters/parameter_isDeleted-8' - - $ref: '#/components/parameters/isBrand' - responses: - '200': - $ref: '#/components/responses/response_root-get-response-200-8' - '400': - $ref: '#/components/responses/BadRequestError' - '403': - $ref: '#/components/responses/ForbiddenError' - '500': - $ref: '#/components/responses/UnexpectedError' - put: - summary: Update user. - tags: - - User - security: - - BearerAuth: [] - description: | - Update user such as displayName, roles, avatar and metadata - requestBody: - $ref: '#/components/requestBodies/request_root-put-request-payload-2' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-9' - '400': - $ref: '#/components/responses/BadRequestError' - '403': - $ref: '#/components/responses/ForbiddenError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/users/list: - get: - summary: Get list of users by user ids. - tags: - - User - security: - - BearerAuth: [] - description: | - Get list of users by user ids. - parameters: - - $ref: '#/components/parameters/parameter_userIds-3' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-9' - '400': - $ref: '#/components/responses/BadRequestError' - '403': - $ref: '#/components/responses/ForbiddenError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/users/{userId}: - get: - summary: Get one user. - tags: - - User - security: - - BearerAuth: [] - description: | - Get one user. - parameters: - - $ref: '#/components/parameters/parameter__userId-3' - - $ref: '#/components/parameters/parameter_type-2' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-9' - '400': - $ref: '#/components/responses/BadRequestError' - '403': - $ref: '#/components/responses/ForbiddenError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/users/{userId}/isFlagByMe: - get: - summary: Check whether user flag a given user. - description: | - Check whether user flag a given user. - tags: - - User - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/parameter__userId-3' - responses: - '200': - description: Is flag by me response. - content: - application/json: - schema: - type: object - properties: - isFlagByMe: - type: boolean - '404': - $ref: '#/components/responses/UserNotFoundError' - /api/v4/users/{userId}: - delete: - summary: Delete user - security: - - BearerAuth: [] - tags: - - User - parameters: - - $ref: '#/components/parameters/parameter__userId-4' - - $ref: '#/components/parameters/deleteAll' - - $ref: '#/components/parameters/markMessageDeleted' - - $ref: '#/components/parameters/hardDeletePost' - - $ref: '#/components/parameters/hardDeleteComment' - responses: - '200': - $ref: '#/components/responses/_userId-delete-response-200' - '400': - $ref: '#/components/responses/UserIsAlreadyDeletedError' - '404': - $ref: '#/components/responses/UserNotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v4/me/flags/{userId}: - post: - summary: Report user (flag user) - security: - - BearerAuth: [] - tags: - - User - parameters: - - $ref: '#/components/parameters/parameter__userId-4' - description: | - Report user by user id. - responses: - '200': - $ref: '#/components/responses/me-flags_userId-post-response-200' - '404': - $ref: '#/components/responses/UserNotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - delete: - summary: Unreported user (unflag user) - security: - - BearerAuth: [] - tags: - - User - parameters: - - $ref: '#/components/parameters/parameter__userId-4' - description: | - Unreported user by user id. - responses: - '200': - $ref: '#/components/responses/me-flags_userId-delete-response-200' - '404': - $ref: '#/components/responses/UserNotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v4/me/user-blocks: - get: - summary: Get list of blocked users - description: | - Get list of blocked users - tags: - - User - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/parameter_limit' - - $ref: '#/components/parameters/parameter_token-4' - responses: - '200': - $ref: '#/components/responses/me-user-blocks-get-response-200' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v4/me/user-blocks/{userId}: - post: - summary: Block a user. - tags: - - User - description: | - Blocking a user - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/parameter__userId-4' - responses: - '200': - $ref: '#/components/responses/me-user-blocks_userId-post-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '404': - $ref: '#/components/responses/UserNotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - delete: - summary: Unblock a user - tags: - - User - description: | - Unblocking a user - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/parameter__userId-4' - responses: - '200': - $ref: '#/components/responses/me-user-blocks_userId-delete-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '404': - $ref: '#/components/responses/UserNotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/user-event/video-streaming: - post: - summary: create user event for video streaming - tags: - - Video streaming - security: - - BearerAuth: [] - requestBody: - $ref: '#/components/requestBodies/user-event-video-streaming-request-payload' - responses: - '200': - $ref: '#/components/responses/user-event-video-streaming-response-200' - '500': - $ref: '#/components/responses/CustomValidationError' - /api/v3/video-streaming: - post: - summary: create video streaming - tags: - - Video streaming - security: - - BearerAuth: [] - requestBody: - $ref: '#/components/requestBodies/request_root-post-request-payload-14' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-10' - '404': - $ref: '#/components/responses/NotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - get: - summary: get list of video streaming - tags: - - Video streaming - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/isLive' - - $ref: '#/components/parameters/statuses' - - $ref: '#/components/parameters/userPublicIds' - - $ref: '#/components/parameters/parameter_sortBy-6' - - $ref: '#/components/parameters/parameter_isDeleted-9' - - $ref: '#/components/parameters/parameter_options-14' - responses: - '200': - $ref: '#/components/responses/response_root-get-response-200-9' - '404': - $ref: '#/components/responses/NotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/video-streaming/{streamId}: - get: - summary: get single video-streaming item - tags: - - Video streaming - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/_streamId' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-10' - '404': - $ref: '#/components/responses/NotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - put: - summary: update video streaming - tags: - - Video streaming - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/_streamId' - requestBody: - $ref: '#/components/requestBodies/_streamId-request-payload' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-10' - '404': - $ref: '#/components/responses/NotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - delete: - summary: delete video streaming - tags: - - Video streaming - security: - - BearerAuth: [] - description: | - Delete a video streaming - parameters: - - $ref: '#/components/parameters/_streamId' - responses: - '200': - description: video streaming information - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - type: object - properties: - success: - type: boolean - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/video-streaming/{streamId}/streaming-url: - delete: - summary: dispose video streaming url - tags: - - Video streaming - security: - - ApiKeyAuth: [] - description: | - This API will update streaming status to `ended` and dispose apsara streaming url - parameters: - - $ref: '#/components/parameters/_streamId' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-10' - '400': - $ref: '#/components/responses/BadRequestError' - '404': - $ref: '#/components/responses/NotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - /webhook/channel.didAddUsers: - get: - tags: - - Webhook event - description: Send user added event information whenever new member got added to a channel. - responses: - '200': - description: channel is channel information. userIds is a list of added userId. adderId is user who add other user to channel users is a list of user. - content: - application/json: - schema: - type: object - properties: - event: - type: string - enum: - - channel.didAddUsers - data: - type: object - properties: - channel: - type: array - items: - $ref: '#/components/schemas/ChannelV1' - users: - type: array - items: - $ref: '#/components/schemas/User' - userIds: - type: array - items: - type: string - adderId: - type: string - /webhook/channel.didBan: - get: - tags: - - Webhook event - description: Send channel banned event whenever a channel got banned. - responses: - '200': - description: channel is channel information. userIds is a list of userIds who being banned. actorId is userId who ban other user. users is a list of userInfo - content: - application/json: - schema: - type: object - properties: - event: - type: string - enum: - - channel.didBan - data: - type: object - properties: - channel: - type: array - items: - $ref: '#/components/schemas/ChannelV1' - users: - type: array - items: - $ref: '#/components/schemas/User' - actorId: - type: string - userIds: - type: array - items: - type: string - /webhook/channel.didClose: - get: - tags: - - Webhook event - description: Send channel close event information whenever a channel close. - responses: - '200': - description: channel is channel information. - content: - application/json: - schema: - type: object - properties: - event: - type: string - enum: - - channel.didClose - data: - type: object - properties: - channel: - type: array - items: - $ref: '#/components/schemas/ChannelV1' - /webhook/channel.didCreate: - get: - tags: - - Webhook event - description: Send new created channel whenever a channel got create - responses: - '200': - description: channel is channel information. userIds is a list of userId who is added to channel. users is a list of user. - content: - application/json: - schema: - type: object - properties: - event: - type: string - enum: - - channel.didCreate - data: - type: object - properties: - channel: - type: array - items: - $ref: '#/components/schemas/ChannelV1' - users: - type: array - items: - $ref: '#/components/schemas/User' - userIds: - type: array - items: - type: string - /webhook/channel.didJoin: - get: - tags: - - Webhook event - description: Send join event information whenever a channel got joined - responses: - '200': - description: channel is channel information. userIds is a list of joined userId. users is a list of user. - content: - application/json: - schema: - type: object - properties: - event: - type: string - enum: - - channel.didJoin - data: - type: object - properties: - channel: - type: array - items: - $ref: '#/components/schemas/ChannelV1' - users: - type: array - items: - $ref: '#/components/schemas/User' - userIds: - type: array - items: - type: string - /webhook/channel.didLeave: - get: - tags: - - Webhook event - description: Send channel leave event information whenever someone leave a channel. - responses: - '200': - description: channel is channel information. userIds is a list of userId who leave channel. users is a list of userInfo - content: - application/json: - schema: - type: object - properties: - event: - type: string - enum: - - channel.didLeave - data: - type: object - properties: - channel: - type: array - items: - $ref: '#/components/schemas/ChannelV1' - users: - type: array - items: - $ref: '#/components/schemas/User' - userIds: - type: array - items: - type: string - /webhook/channel.didRemoveUsers: - get: - tags: - - Webhook event - description: Send user removed event information whenever member got remove from channel. - responses: - '200': - description: channel is channel information. userIds is a list of removed userId. removerId is userId who remove other users from channel. users is a list of user. - content: - application/json: - schema: - type: object - properties: - event: - type: string - enum: - - channel.didRemoveUsers - data: - type: object - properties: - channel: - type: array - items: - $ref: '#/components/schemas/ChannelV1' - users: - type: array - items: - $ref: '#/components/schemas/User' - userIds: - type: array - items: - type: string - removerId: - type: string - /webhook/channel.didUpdate: - get: - tags: - - Webhook event - description: Send channel updated event information whenever a channel got updated. - responses: - '200': - description: channel is channel information. userId is a userId who update channel. users is a list of userInfo - content: - application/json: - schema: - type: object - properties: - event: - type: string - enum: - - channel.didUpdate - data: - type: object - properties: - channel: - type: array - items: - $ref: '#/components/schemas/ChannelV1' - users: - type: array - items: - $ref: '#/components/schemas/User' - userId: - type: string - /webhook/channel.didUpdateMeta: - get: - tags: - - Webhook event - description: Send channel's meta data updated event information whenever a channel's meta data got updated. - responses: - '200': - description: channel is channel information. userId is a userId who update channel's meta data. users is a list of userInfo - content: - application/json: - schema: - type: object - properties: - event: - type: string - enum: - - channel.didUpdateMeta - data: - type: object - properties: - channel: - type: array - items: - $ref: '#/components/schemas/ChannelV1' - users: - type: array - items: - $ref: '#/components/schemas/User' - userId: - type: string - /webhook/follow.didAcceptRequest: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when a user accepts a follow request from another user. - responses: - '200': - description: Follow Object - $ref: '#/components/responses/follow-webhook-response' - /webhook/follow.didCancelRequest: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when a user cancels a request to follow another user. - responses: - '200': - description: Follow Object - $ref: '#/components/responses/follow-webhook-response' - /webhook/follow.didCreate: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when a user follows another user. - responses: - '200': - description: Follow Object - $ref: '#/components/responses/follow-webhook-response' - /webhook/follow.didDeclineRequest: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when a user declines a follow request from another user. - responses: - '200': - description: Follow Object - $ref: '#/components/responses/follow-webhook-response' - /webhook/follow.didDeleteFollower: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when a user deletes a user from their follower's list. - responses: - '200': - description: Follow Object - $ref: '#/components/responses/follow-webhook-response' - /webhook/follow.didRequest: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when a user sends a request to follow another user. - responses: - '200': - description: Follow Object - $ref: '#/components/responses/follow-webhook-response' - /webhook/follow.didUnfollow: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when a user unfollows another user. - responses: - '200': - description: Follow Object - $ref: '#/components/responses/follow-webhook-response' - /webhook/message.didAddReaction: - get: - tags: - - Webhook event - description: Send updated message whenever add reaction to this message. - responses: - '200': - $ref: '#/components/responses/message-add-reaction-with-reactor-webhook-response' - /webhook/message.didClearflag: - get: - tags: - - Webhook event - description: Send updated message whenever all message flags are cleared. - responses: - '200': - description: messages is messages information. users is list of all user relate to this messages - content: - application/json: - schema: - type: object - properties: - event: - type: string - enum: - - message.didClearflag - data: - type: object - properties: - messages: - type: array - items: - $ref: '#/components/schemas/Message' - users: - type: array - items: - $ref: '#/components/schemas/User' - /webhook/message.didCreate: - get: - tags: - - Webhook event - description: Send new created message whenever a message got created in a channel - responses: - '200': - description: messages is messages information. users is list of all user relate to this messages - content: - application/json: - schema: - type: object - properties: - event: - type: string - enum: - - message.didCreate - data: - type: object - properties: - messages: - type: array - items: - $ref: '#/components/schemas/Message' - users: - type: array - items: - $ref: '#/components/schemas/User' - /webhook/message.didDelete: - get: - tags: - - Webhook event - description: Send deleted message whenever a message got deleted in a channel - responses: - '200': - description: messages is messages information. users is list of all user relate to this messages - content: - application/json: - schema: - type: object - properties: - event: - type: string - enum: - - message.didDelete - data: - type: object - properties: - messages: - type: array - items: - $ref: '#/components/schemas/Message' - users: - type: array - items: - $ref: '#/components/schemas/User' - /webhook/message.didFlag: - get: - tags: - - Webhook event - description: Send updated message whenever a message got flag - responses: - '200': - description: messages is messages information. users is list of all user relate to this messages - content: - application/json: - schema: - type: object - properties: - event: - type: string - enum: - - message.didFlag - data: - type: object - properties: - messages: - type: array - items: - $ref: '#/components/schemas/Message' - users: - type: array - items: - $ref: '#/components/schemas/User' - /webhook/message.didRemoveReaction: - get: - tags: - - Webhook event - description: Send updated message whenever remove reaction to this message. - responses: - '200': - $ref: '#/components/responses/message-remove-reaction-with-reactor-webhook-response' - /webhook/message.didUnflag: - get: - tags: - - Webhook event - description: Send updated message whenever a message flag is removed. - responses: - '200': - description: messages is messages information. users is list of all user relate to this messages - content: - application/json: - schema: - type: object - properties: - event: - type: string - enum: - - message.didUnflag - data: - type: object - properties: - messages: - type: array - items: - $ref: '#/components/schemas/Message' - users: - type: array - items: - $ref: '#/components/schemas/User' - /webhook/message.didUpdate: - get: - tags: - - Webhook event - description: Send updated message whenever a message got updated in a channel - responses: - '200': - description: messages is messages information. users is list of all user relate to this messages - content: - application/json: - schema: - type: object - properties: - event: - type: string - enum: - - message.didUpdate - data: - type: object - properties: - messages: - type: array - items: - $ref: '#/components/schemas/Message' - users: - type: array - items: - $ref: '#/components/schemas/User' - /webhook/moderation.didBan: - get: - tags: - - Webhook event - description: Send banned event whenever a system detect message that contain in the blacklist - responses: - '200': - description: channel is channel information. userId is a userId who send the message. users is a list of userInfo - content: - application/json: - schema: - type: object - properties: - event: - type: string - enum: - - moderation.didBan - data: - type: object - properties: - channel: - type: array - items: - $ref: '#/components/schemas/ChannelV1' - users: - type: array - items: - $ref: '#/components/schemas/User' - userId: - type: string - /webhook/poll.didCreate: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when poll is created - responses: - '200': - $ref: '#/components/responses/poll-webhook-response' - /webhook/poll.didUpdate: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when poll is updated - responses: - '200': - $ref: '#/components/responses/poll-webhook-response' - /webhook/poll.didVote: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when vote is created in poll - responses: - '200': - $ref: '#/components/responses/poll-webhook-response' - /webhook/push-notification/channel.created: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when channel is created/joined - responses: - '200': - description: channel created/joined - content: - application/json: - schema: - type: object - properties: - eventType: - type: string - enum: - - push-notification.created - id: - type: string - networkId: - type: string - path: - type: string - senderId: - type: string - sentTime: - type: string - format: date-time - version: - type: string - data: - type: object - properties: - eventName: - type: string - isBroadcast: - type: boolean - default: false - targetIds: - type: array - items: - type: string - notify: - type: boolean - description: should notify to user targetIds - title: - type: string - body: - type: string - allOf: - - $ref: '#/components/schemas/channel-custom-notification-response' - /webhook/push-notification/channel.joined: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when channel is created/joined - responses: - '200': - description: channel created/joined - content: - application/json: - schema: - type: object - properties: - eventType: - type: string - enum: - - push-notification.created - id: - type: string - networkId: - type: string - path: - type: string - senderId: - type: string - sentTime: - type: string - format: date-time - version: - type: string - data: - type: object - properties: - eventName: - type: string - isBroadcast: - type: boolean - default: false - targetIds: - type: array - items: - type: string - notify: - type: boolean - description: should notify to user targetIds - title: - type: string - body: - type: string - allOf: - - $ref: '#/components/schemas/channel-custom-notification-response' - /webhook/push-notification/comment.created: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when comment is created - responses: - '200': - description: comment created - content: - application/json: - schema: - type: object - properties: - eventType: - type: string - enum: - - push-notification.created - id: - type: string - networkId: - type: string - path: - type: string - senderId: - type: string - sentTime: - type: string - format: date-time - version: - type: string - data: - type: object - properties: - eventName: - type: string - isBroadcast: - type: boolean - default: false - targetIds: - type: array - items: - type: string - notify: - type: boolean - description: should notify to user targetIds - title: - type: string - body: - type: string - allOf: - - $ref: '#/components/schemas/comment-custom-notification-response' - /webhook/push-notification/comment.reacted: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when comment is created - responses: - '200': - description: comment created - content: - application/json: - schema: - type: object - properties: - eventType: - type: string - enum: - - push-notification.created - id: - type: string - networkId: - type: string - path: - type: string - senderId: - type: string - sentTime: - type: string - format: date-time - version: - type: string - data: - type: object - properties: - eventName: - type: string - isBroadcast: - type: boolean - default: false - targetIds: - type: array - items: - type: string - notify: - type: boolean - description: should notify to user targetIds - title: - type: string - body: - type: string - allOf: - - $ref: '#/components/schemas/comment-custom-notification-response' - /webhook/push-notification/comment.replied: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when comment is created - responses: - '200': - description: comment created - content: - application/json: - schema: - type: object - properties: - eventType: - type: string - enum: - - push-notification.created - id: - type: string - networkId: - type: string - path: - type: string - senderId: - type: string - sentTime: - type: string - format: date-time - version: - type: string - data: - type: object - properties: - eventName: - type: string - isBroadcast: - type: boolean - default: false - targetIds: - type: array - items: - type: string - notify: - type: boolean - description: should notify to user targetIds - title: - type: string - body: - type: string - allOf: - - $ref: '#/components/schemas/comment-custom-notification-response' - /webhook/push-notification/follow.accepted: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when follow is created/requested/accepted - responses: - '200': - description: follow created/requested/accepted - content: - application/json: - schema: - type: object - properties: - eventType: - type: string - enum: - - push-notification.created - id: - type: string - networkId: - type: string - path: - type: string - senderId: - type: string - sentTime: - type: string - format: date-time - version: - type: string - data: - type: object - properties: - eventName: - type: string - isBroadcast: - type: boolean - default: false - targetIds: - type: array - items: - type: string - notify: - type: boolean - description: should notify to user targetIds - title: - type: string - body: - type: string - allOf: - - $ref: '#/components/schemas/follow-custom-notification-response' - /webhook/push-notification/follow.created: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when follow is created/requested/accepted - responses: - '200': - description: follow created/requested/accepted - content: - application/json: - schema: - type: object - properties: - eventType: - type: string - enum: - - push-notification.created - id: - type: string - networkId: - type: string - path: - type: string - senderId: - type: string - sentTime: - type: string - format: date-time - version: - type: string - data: - type: object - properties: - eventName: - type: string - isBroadcast: - type: boolean - default: false - targetIds: - type: array - items: - type: string - notify: - type: boolean - description: should notify to user targetIds - title: - type: string - body: - type: string - allOf: - - $ref: '#/components/schemas/follow-custom-notification-response' - /webhook/push-notification/follow.requested: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when follow is created/requested/accepted - responses: - '200': - description: follow created/requested/accepted - content: - application/json: - schema: - type: object - properties: - eventType: - type: string - enum: - - push-notification.created - id: - type: string - networkId: - type: string - path: - type: string - senderId: - type: string - sentTime: - type: string - format: date-time - version: - type: string - data: - type: object - properties: - eventName: - type: string - isBroadcast: - type: boolean - default: false - targetIds: - type: array - items: - type: string - notify: - type: boolean - description: should notify to user targetIds - title: - type: string - body: - type: string - allOf: - - $ref: '#/components/schemas/follow-custom-notification-response' - /webhook/push-notification/message.created: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when message is created - responses: - '200': - description: message created - content: - application/json: - schema: - type: object - properties: - eventType: - type: string - enum: - - push-notification.created - id: - type: string - networkId: - type: string - path: - type: string - senderId: - type: string - sentTime: - type: string - format: date-time - version: - type: string - data: - type: object - properties: - eventName: - type: string - isBroadcast: - type: boolean - default: false - targetIds: - type: array - items: - type: string - notify: - type: boolean - description: should notify to user targetIds - title: - type: string - body: - type: string - allOf: - - $ref: '#/components/schemas/message-custom-notification-response' - /webhook/push-notification/post.approved: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when post is created - responses: - '200': - description: post created - content: - application/json: - schema: - type: object - properties: - eventType: - type: string - enum: - - push-notification.created - id: - type: string - networkId: - type: string - path: - type: string - senderId: - type: string - sentTime: - type: string - format: date-time - version: - type: string - data: - type: object - properties: - eventName: - type: string - isBroadcast: - type: boolean - default: false - targetIds: - type: array - items: - type: string - notify: - type: boolean - description: should notify to user targetIds - title: - type: string - body: - type: string - allOf: - - $ref: '#/components/schemas/post-custom-notification-response' - /webhook/push-notification/post.created: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when post is created - responses: - '200': - description: post created - content: - application/json: - schema: - type: object - properties: - eventType: - type: string - enum: - - push-notification.created - id: - type: string - networkId: - type: string - path: - type: string - senderId: - type: string - sentTime: - type: string - format: date-time - version: - type: string - data: - type: object - properties: - eventName: - type: string - isBroadcast: - type: boolean - default: false - targetIds: - type: array - items: - type: string - notify: - type: boolean - description: should notify to user targetIds - title: - type: string - body: - type: string - allOf: - - $ref: '#/components/schemas/post-custom-notification-response' - /webhook/push-notification/post.need-reviewing: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when post is created - responses: - '200': - description: post created - content: - application/json: - schema: - type: object - properties: - eventType: - type: string - enum: - - push-notification.created - id: - type: string - networkId: - type: string - path: - type: string - senderId: - type: string - sentTime: - type: string - format: date-time - version: - type: string - data: - type: object - properties: - eventName: - type: string - isBroadcast: - type: boolean - default: false - targetIds: - type: array - items: - type: string - notify: - type: boolean - description: should notify to user targetIds - title: - type: string - body: - type: string - allOf: - - $ref: '#/components/schemas/post-custom-notification-response' - /webhook/push-notification/post.reacted: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when post is created - responses: - '200': - description: post created - content: - application/json: - schema: - type: object - properties: - eventType: - type: string - enum: - - push-notification.created - id: - type: string - networkId: - type: string - path: - type: string - senderId: - type: string - sentTime: - type: string - format: date-time - version: - type: string - data: - type: object - properties: - eventName: - type: string - isBroadcast: - type: boolean - default: false - targetIds: - type: array - items: - type: string - notify: - type: boolean - description: should notify to user targetIds - title: - type: string - body: - type: string - allOf: - - $ref: '#/components/schemas/post-custom-notification-response' - /webhook/push-notification/video-streaming.started: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when video-streaming is started - responses: - '200': - description: video-streaming is started - content: - application/json: - schema: - type: object - properties: - eventType: - type: string - enum: - - push-notification.created - id: - type: string - networkId: - type: string - path: - type: string - senderId: - type: string - sentTime: - type: string - format: date-time - version: - type: string - data: - type: object - properties: - eventName: - type: string - isBroadcast: - type: boolean - default: true - targetIds: - type: array - items: - type: string - notify: - type: boolean - description: should notify to user targetIds - title: - type: string - body: - type: string - allOf: - - $ref: '#/components/schemas/video-streaming-custom-notification-response' - /webhook/push-notification/mention-comment.created: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when comment is created - responses: - '200': - description: comment created - content: - application/json: - schema: - type: object - properties: - eventType: - type: string - enum: - - push-notification.created - id: - type: string - networkId: - type: string - path: - type: string - senderId: - type: string - sentTime: - type: string - format: date-time - version: - type: string - data: - type: object - properties: - eventName: - type: string - isBroadcast: - type: boolean - default: false - targetIds: - type: array - items: - type: string - notify: - type: boolean - description: should notify to user targetIds - title: - type: string - body: - type: string - allOf: - - $ref: '#/components/schemas/comment-custom-notification-response' - /webhook/push-notification/mention-comment.replied: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when comment is created - responses: - '200': - description: comment created - content: - application/json: - schema: - type: object - properties: - eventType: - type: string - enum: - - push-notification.created - id: - type: string - networkId: - type: string - path: - type: string - senderId: - type: string - sentTime: - type: string - format: date-time - version: - type: string - data: - type: object - properties: - eventName: - type: string - isBroadcast: - type: boolean - default: false - targetIds: - type: array - items: - type: string - notify: - type: boolean - description: should notify to user targetIds - title: - type: string - body: - type: string - allOf: - - $ref: '#/components/schemas/comment-custom-notification-response' - /webhook/push-notification/mention-post.created: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when post is created - responses: - '200': - description: post created - content: - application/json: - schema: - type: object - properties: - eventType: - type: string - enum: - - push-notification.created - id: - type: string - networkId: - type: string - path: - type: string - senderId: - type: string - sentTime: - type: string - format: date-time - version: - type: string - data: - type: object - properties: - eventName: - type: string - isBroadcast: - type: boolean - default: false - targetIds: - type: array - items: - type: string - notify: - type: boolean - description: should notify to user targetIds - title: - type: string - body: - type: string - allOf: - - $ref: '#/components/schemas/post-custom-notification-response' - /webhook/push-notification/mention-user-feed-comment.created: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when comment is created - responses: - '200': - description: comment created - content: - application/json: - schema: - type: object - properties: - eventType: - type: string - enum: - - push-notification.created - id: - type: string - networkId: - type: string - path: - type: string - senderId: - type: string - sentTime: - type: string - format: date-time - version: - type: string - data: - type: object - properties: - eventName: - type: string - isBroadcast: - type: boolean - default: false - targetIds: - type: array - items: - type: string - notify: - type: boolean - description: should notify to user targetIds - title: - type: string - body: - type: string - allOf: - - $ref: '#/components/schemas/comment-custom-notification-response' - /webhook/push-notification/mention-user-feed-comment.replied: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when comment is created - responses: - '200': - description: comment created - content: - application/json: - schema: - type: object - properties: - eventType: - type: string - enum: - - push-notification.created - id: - type: string - networkId: - type: string - path: - type: string - senderId: - type: string - sentTime: - type: string - format: date-time - version: - type: string - data: - type: object - properties: - eventName: - type: string - isBroadcast: - type: boolean - default: false - targetIds: - type: array - items: - type: string - notify: - type: boolean - description: should notify to user targetIds - title: - type: string - body: - type: string - allOf: - - $ref: '#/components/schemas/comment-custom-notification-response' - /webhook/push-notification/mention-user-feed-post.created: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when post is created - responses: - '200': - description: post created - content: - application/json: - schema: - type: object - properties: - eventType: - type: string - enum: - - push-notification.created - id: - type: string - networkId: - type: string - path: - type: string - senderId: - type: string - sentTime: - type: string - format: date-time - version: - type: string - data: - type: object - properties: - eventName: - type: string - isBroadcast: - type: boolean - default: false - targetIds: - type: array - items: - type: string - notify: - type: boolean - description: should notify to user targetIds - title: - type: string - body: - type: string - allOf: - - $ref: '#/components/schemas/post-custom-notification-response' - /webhook/user.didClearFlag: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when the user flags are cleared - responses: - '200': - description: User flag cleared event information. users is a list of userInfo. files is a list of file information - $ref: '#/components/responses/user-webhook-response' - /webhook/user.didCreate: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when a user is created - responses: - '200': - description: User created event information. users is a list of userInfo. files is a list of file information - $ref: '#/components/responses/user-webhook-response' - /webhook/user.didFlag: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when a user is flagged - responses: - '200': - description: User flag event information. users is a list of userInfo. files is a list of file information - $ref: '#/components/responses/user-webhook-response' - /webhook/user.didUnflag: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when a user is unflagged - responses: - '200': - description: User unflag event information. users is a list of userInfo. files is a list of file information - $ref: '#/components/responses/user-webhook-response' - /webhook/user.didUpdate: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when a user is updated - responses: - '200': - description: User updated event information. users is a list of userInfo. files is a list of file information - $ref: '#/components/responses/user-webhook-response' - /webhook/v3.comment.didAddReaction: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when reaction of comment is added. - responses: - '200': - $ref: '#/components/responses/comment-with-refactor-webhook-response' - /webhook/v3.comment.didCreate: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when comment is created - responses: - '200': - $ref: '#/components/responses/comment-webhook-response' - /webhook/v3.comment.didDelete: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when comment is deleted - responses: - '200': - $ref: '#/components/responses/comment-webhook-response' - /webhook/v3.comment.didFlag: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when comment is flagged. - responses: - '200': - $ref: '#/components/responses/comment-with-flag-webhook-response' - /webhook/v3.comment.didRemoveReaction: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when reaction of comment is removed. - responses: - '200': - $ref: '#/components/responses/comment-with-refactor-webhook-response' - /webhook/v3.comment.didReply: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when comment is replied. - responses: - '200': - $ref: '#/components/responses/comment-webhook-response' - /webhook/v3.comment.didUnflag: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when comment is unflagged. - responses: - '200': - $ref: '#/components/responses/comment-with-flag-webhook-response' - /webhook/v3.comment.didUpdate: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when comment is updated - responses: - '200': - $ref: '#/components/responses/comment-webhook-response' - /webhook/v3.community.didAddUsers: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when add users into community - responses: - '200': - $ref: '#/components/responses/community-webhook-response' - /webhook/v3.community.didBan: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when community user is banned - responses: - '200': - $ref: '#/components/responses/community-webhook-response' - /webhook/v3.community.didCreate: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when community is created - responses: - '200': - $ref: '#/components/responses/community-webhook-response' - /webhook/v3.community.didDelete: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when community is deleted - responses: - '200': - $ref: '#/components/responses/community-webhook-response' - /webhook/v3.community.didJoin: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when user joined a community. - responses: - '200': - $ref: '#/components/responses/community-webhook-response' - /webhook/v3.community.didLeave: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when user left a community - responses: - '200': - $ref: '#/components/responses/community-webhook-response' - /webhook/v3.community.didRemoveUsers: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when remove users from community - responses: - '200': - $ref: '#/components/responses/community-webhook-response' - /webhook/v3.community.didRoleChange: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when role of user is changed in community - responses: - '200': - $ref: '#/components/responses/community-webhook-response' - /webhook/v3.community.didUnban: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when community user is unbanned - responses: - '200': - $ref: '#/components/responses/community-webhook-response' - /webhook/v3.community.didUpdate: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when community is updated - responses: - '200': - $ref: '#/components/responses/community-webhook-response' - /webhook/v3.post.didAddReaction: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when reaction of post is added. - responses: - '200': - $ref: '#/components/responses/post-with-reactor-webhook-response' - /webhook/v3.post.didApprove: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when post is approved - responses: - '200': - $ref: '#/components/responses/post-webhook-response' - /webhook/v3.post.didCreate: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when post is created - responses: - '200': - $ref: '#/components/responses/post-webhook-response' - /webhook/v3.post.didDecline: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when post is declined - responses: - '200': - $ref: '#/components/responses/post-webhook-response' - /webhook/v3.post.didDelete: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when post is deleted - responses: - '200': - $ref: '#/components/responses/post-webhook-response' - /webhook/v3.post.didFlag: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when post is flagged. - responses: - '200': - $ref: '#/components/responses/post-with-flag-webhook-response' - /webhook/v3.post.didRemoveReaction: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when reaction of post is removed. - responses: - '200': - $ref: '#/components/responses/post-with-reactor-webhook-response' - /webhook/v3.post.didUnflag: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when post is unflagged. - responses: - '200': - $ref: '#/components/responses/post-with-flag-webhook-response' - /webhook/v3.post.didUpdate: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when post is updated - responses: - '200': - $ref: '#/components/responses/post-webhook-response' - /webhook/video-streaming.didRecord: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when video streaming recordings is ready. - responses: - '200': - $ref: '#/components/responses/video-streaming-webhook-response' - /webhook/video-streaming.didStart: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when video streaming start. - responses: - '200': - $ref: '#/components/responses/video-streaming-webhook-response' - /webhook/video-streaming.didStop: - get: - tags: - - Webhook event - security: - - BearerAuth: [] - description: | - This is called when video streaming stop. - responses: - '200': - $ref: '#/components/responses/video-streaming-webhook-response' - /webhook/v5.message.didCreate: - get: - tags: - - Webhook event - description: Send created message whenever a message got created in a channel - responses: - '200': - description: messages is messages information. users is list of all user relate to this messages - content: - application/json: - schema: - type: object - properties: - event: - type: string - enum: - - message.didCreate - data: - type: object - properties: - files: - type: array - items: - $ref: '#/components/schemas/File' - messageFeeds: - type: array - items: - $ref: '#/components/schemas/Message' - messages: - type: array - items: - $ref: '#/components/schemas/MessageFeed' - reactions: - type: array - items: - $ref: '#/components/schemas/Reaction' - users: - type: array - items: - $ref: '#/components/schemas/User' - /webhook/v5.message.didDelete: - get: - tags: - - Webhook event - description: Send deleted message whenever a message got deleted in a channel - responses: - '200': - description: messages is messages information. users is list of all user relate to this messages - content: - application/json: - schema: - type: object - properties: - event: - type: string - enum: - - message.didDelete - data: - type: object - properties: - files: - type: array - items: - $ref: '#/components/schemas/File' - messageFeeds: - type: array - items: - $ref: '#/components/schemas/Message' - messages: - type: array - items: - $ref: '#/components/schemas/MessageFeed' - reactions: - type: array - items: - $ref: '#/components/schemas/Reaction' - users: - type: array - items: - $ref: '#/components/schemas/User' - /webhook/v5.message.didUpdate: - get: - tags: - - Webhook event - description: Send updated message whenever a message got updated in a channel - responses: - '200': - description: messages is messages information. users is list of all user relate to this messages - content: - application/json: - schema: - type: object - properties: - event: - type: string - enum: - - message.didCreate - data: - type: object - properties: - files: - type: array - items: - $ref: '#/components/schemas/File' - messageFeeds: - type: array - items: - $ref: '#/components/schemas/Message' - messages: - type: array - items: - $ref: '#/components/schemas/MessageFeed' - reactions: - type: array - items: - $ref: '#/components/schemas/Reaction' - users: - type: array - items: - $ref: '#/components/schemas/User' - /realtime/channel.banned: - get: - summary: user is banned from the channel - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/Response' - /realtime/channel.created: - get: - summary: channel created - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/Response' - /realtime/channel.deleted: - get: - summary: channel deleted - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/Response' - /realtime/channel.joined: - get: - summary: user joined the channel - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/Response' - /realtime/channel.left: - get: - summary: user left the channel - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/Response' - /realtime/channel.membersAdded: - get: - summary: users were added to the channel - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/Response' - /realtime/channel.membersRemoved: - get: - summary: users were removed from the channel - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/Response' - /realtime/channel.unbanned: - get: - summary: user is unbanned from the channel - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/Response' - /realtime/channel.updated: - get: - summary: channel updated - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/Response' - /realtime/comment.addReaction: - get: - summary: comment add reaction - description: | - Event has occurred when a reaction is added to comment - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/ResponseWithReactor' - /realtime/comment.created: - get: - summary: comment created - description: | - Event has occurred when comment was created - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response' - /realtime/comment.deleted: - get: - summary: comment deleted - description: | - Event has occurred when comment was deleted - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response' - /realtime/comment.flagged: - get: - summary: comment flagged - description: | - Event has occurred when comment was flagged - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/ResponseWithFlag' - /realtime/comment.flagsCleared: - get: - summary: comment flag cleared - description: | - Event has occurred when comment flag was cleared - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/ResponseWithFlag' - /realtime/comment.removeReaction: - get: - summary: comment remove reaction - description: | - Event has occurred when a reaction is removed from comment - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/ResponseWithReactor' - /realtime/comment.unflagged: - get: - summary: comment unflagged - description: | - Event has occurred when comment was unflagged - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/ResponseWithFlag' - /realtime/comment.updated: - get: - summary: comment updated - description: | - Event has occurred when comment was updated - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response' - /realtime/community.created: - get: - summary: community created - description: | - Event has occurred when community was created - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-2' - /realtime/community.deleted: - get: - summary: community deleted - description: | - Event has occurred when community was deleted - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-2' - /realtime/community.joined: - get: - summary: community joined - description: | - Event has occurred when joined community - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-2' - /realtime/community.left: - get: - summary: community left - description: | - Event has occurred when left community - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-2' - /realtime/community.updated: - get: - summary: community updated - description: | - Event has occurred when community was updated - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-2' - /realtime/community.userAdded: - get: - summary: community user added - description: | - Event has occurred when user was added to community - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-2' - /realtime/community.userBanned: - get: - summary: community user banned - description: | - Event has occurred when user was banned from community - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-2' - /realtime/community.userChanged: - get: - summary: community user changed - description: | - Event has occurred when the number of user was changed in community - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-2' - /realtime/community.userRemoved: - get: - summary: community user removed - description: | - Event has occurred when user was removed from community - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-2' - /realtime/community.userUnbanned: - get: - summary: community user unbanned - description: | - Event has occurred when user was unbanned from community - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-2' - /realtime/follow.accepted: - get: - summary: follow accepted - description: | - Event has occurred when follow was accepted - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-3' - /realtime/follow.created: - get: - summary: follow created - description: | - Event has occurred when follow was created - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-3' - /realtime/follow.followerDeleted: - get: - summary: delete follower - description: | - Event has occurred when follower was deleted - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-3' - /realtime/follow.requestCanceled: - get: - summary: follow request canceled - description: | - Event has occurred when follow request was canceled - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-3' - /realtime/follow.requestDeclined: - get: - summary: decline follow request - description: | - Event has occurred when follow request was declined - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-3' - /realtime/follow.requested: - get: - summary: follow requested - description: | - Event has occurred when follow was requested - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-3' - /realtime/follow.unfollowed: - get: - summary: unfollowed - description: | - Event has occurred when unfollow was created - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-3' - /realtime/marker.marked-message: - get: - summary: marked message in marker - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/MarkedMessageResponse' - /realtime/marker.marker.user-sync: - get: - summary: user sync in marker - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/UserSyncResponse' - /realtime/marker.userFeed-updated: - get: - summary: user feed updated in marker - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/UserFeedUpdatedResponse' - /realtime/marker.feed-updated: - get: - summary: feed updated in marker - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/FeedUpdatedResponse' - /realtime/message-feed.created: - get: - summary: message feed created - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-4' - /realtime/message-feed.deleted: - get: - summary: message feed deleted - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-4' - /realtime/message-feed.updated: - get: - summary: message feed updated - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-4' - /realtime/message.addReaction: - get: - summary: message reaction added - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/ResponseWithReaction' - /realtime/message.created: - get: - summary: message created - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/CreatedResponse' - /realtime/message.deleted: - get: - summary: message deleted - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-5' - /realtime/message.flagCleared: - get: - summary: message flag cleared - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-5' - /realtime/message.flagged: - get: - summary: message flagged - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-5' - /realtime/message.reactionAdded: - get: - summary: message reaction added - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/ResponseWithReaction' - /realtime/message.reactionRemoved: - get: - summary: message reaction removed - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/ResponseWithReaction' - /realtime/message.unflagged: - get: - summary: message unflagged - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-5' - /realtime/message.updated: - get: - summary: message updated - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-5' - /realtime/post.addReaction: - get: - summary: post add reaction - description: | - Event has occurred when a reaction is added to post - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_ResponseWithReactor' - /realtime/post.approved: - get: - summary: post approved - description: | - Event has occurred when post was approved - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_ResponseWithFlag' - /realtime/post.created: - get: - summary: post created - description: | - Event has occurred when post was created - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-6' - /realtime/post.declined: - get: - summary: post declined - description: | - Event has occurred when post was declined - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_ResponseWithFlag' - /realtime/post.deleted: - get: - summary: post deleted - description: | - Event has occurred post was deleted - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-6' - /realtime/post.flagged: - get: - summary: post flagged - description: | - Event has occurred when post was flagged - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_ResponseWithFlag' - /realtime/post.flagsCleared: - get: - summary: post flag cleared - description: | - Event has occurred when post flag was cleared - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_ResponseWithFlag' - /realtime/post.removeReaction: - get: - summary: post remove reaction - description: | - Event has occurred when a reaction is removed from post - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_ResponseWithReactor' - /realtime/post.unflagged: - get: - summary: post unflagged - description: | - Event has occurred when post was unflagged - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_ResponseWithFlag' - /realtime/post.updated: - get: - summary: post updated - description: | - Event has occurred when post was updated - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-6' - /realtime/story.created: - get: - summary: story created - description: | - Event has occurred when story was created - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-7' - /realtime/story.deleted: - get: - summary: story deleted - description: | - Event has occurred when story was deleted - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-7' - /realtime/story.reactionAdded: - get: - summary: story reaction added - description: | - Event has occurred when a reaction is added to story - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_ResponseWithReactor-2' - /realtime/story.reactionRemoved: - get: - summary: story reaction removed - description: | - Event has occurred when a reaction is removed to story - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_ResponseWithReactor-2' - /realtime/user.deleted: - get: - summary: user deleted - description: | - Event has occurred when user was deleted - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-8' - /realtime/user.didGlobalBan: - get: - summary: user global banned - description: | - Event has occurred when user was global banned - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-8' - /realtime/user.flagCleared: - get: - summary: user flag cleared - description: | - Event has occurred when the user flag was cleared - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-8' - /realtime/user.flagged: - get: - summary: user flagged - description: | - Event has occurred when user was flagged - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-8' - /realtime/user.unflagged: - get: - summary: user unflagged - description: | - Event has occurred when user was unflagged - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-8' - /realtime/user.updated: - get: - summary: user updated - description: | - Event has occurred when user was updated - tags: - - Realtime event - responses: - '200': - $ref: '#/components/responses/response_Response-8' -components: - securitySchemes: - ApiKeyAuth: - type: apiKey - in: header - name: X-API-Key - BearerAuth: - type: http - scheme: bearer - schemas: - Ads: - type: object - properties: - adId: - type: string - advertiserId: - type: string - description: ID of an advertiser. - name: - type: string - maxLength: 100 - description: Name of an ad. - placements: - type: array - description: The placements of the advertisement. - items: - type: string - enum: - - feed - - story - - comment - - chatList - - chat - headline: - type: string - maxLength: 70 - description: - type: string - maxLength: 40 - body: - type: string - maxLength: 180 - optional: true - image1_1: - type: string - description: File ID of an image with 1:1 aspect ratio. - image9_16: - type: string - description: File ID of an image with 9:16 aspect ratio. - callToAction: - type: string - maxLength: 20 - description: The call to action text of the advertisement. - callToActionUrl: - type: string - maxLength: 1000 - description: The URL of the call to action. - targets: - type: object - properties: - communityIds: - type: array - items: - type: string - maxItems: 20 - startAt: - type: string - format: date-time - endAt: - type: string - format: date-time - createdAt: - type: string - format: date-time - updatedAt: - type: string - format: date-time - Advertiser: - type: object - properties: - advertiserId: - type: string - name: - type: string - maxLength: 200 - companyName: - type: string - maxLength: 200 - avatarFileId: - type: string - description: File ID of an advertiser's avatar. - required: false - adsCount: - type: number - description: Number of ads created by the advertiser. - default: 0 - createdAt: - type: string - format: date-time - updatedAt: - type: string - format: date-time - File: - type: object - properties: - fileId: - type: string - description: Root file key on cloud storage. - fileUrl: - type: string - description: Http link for download file - type: - type: enum - description: File type. - enum: - - image - - file - - video - 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 - AdNetworkSetting: - type: object - properties: - enabled: - type: boolean - maxActiveAds: - type: number - default: 500 - frequency: - type: object - properties: - feed: - type: object - properties: - type: - type: string - enum: - - fixed - - time-window - value: - type: number - format: number - minimum: 1 - maximum: 65535 - default: 5 - story: - type: object - properties: - type: - type: string - enum: - - fixed - - time-window - value: - type: number - minimum: 1 - maximum: 65535 - default: 4 - comment: - type: object - properties: - type: - type: string - enum: - - fixed - - time-window - value: - type: number - minimum: 1 - maximum: 65535 - default: 10 - Error: - 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 - PermissionEnum: - 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 - UserV3: - 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: - $ref: '#/components/schemas/PermissionEnum' - displayName: - 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 - token-post-request-payload: - type: object - properties: - userId: - type: string - description: User id to assign this token - ChannelType: - type: string - enum: - - standard - - private - - conversation - - broadcast - - community - - live - description: | - Channel Type: - * `standard` - Standard channel (deprecated) is public everyone can search and join this channel. - * `private` - Private channel (deprecated) is private only member can search and found this channel. - * `conversation` - Conversation channel is direct chat created by both users. - * `broadcast` - Broadcast channel is send message by admin only - * `community` - rename from Standard channel - * `live` - rename from Private channel - Channel_messagePreviewId: - type: string - description: ID of a message preview. Depends on network settings. if disabled will be null. - ChannelV3: - type: object - properties: - _id: - type: string - path: - type: string - channelId: - type: string - description: ID of a channel. - channelInternalId: - type: string - channelPublicId: - type: string - isDistinct: - type: boolean - metadata: - type: object - description: Additional properties to support custom fields. - type: - $ref: '#/components/schemas/ChannelType' - tags: - type: array - description: List of tags. They will be used for searching. - items: - type: string - isMuted: - type: boolean - description: Is this channel muted? (Computed by using muteTimeout). - isRateLimited: - type: boolean - description: Is this channel limited sending rate? (Computed by using muteTimeout). - muteTimeout: - type: string - description: The date/time to suppress muteness. - format: date-time - rateLimit: - type: integer - description: Number of messages within rate limit. - rateLimitWindow: - type: integer - description: Waiting time interval before reset rateLimit to 0. - rateLimitTimeout: - type: string - description: The date/time to suppress limitation of sending rate. - format: date-time - displayName: - type: string - description: Channel name for displaying. - messageAutoDeleteEnabled: - type: boolean - description: Is message in this channel will be deleted when the user flagged until flag limit? - autoDeleteMessageByFlagLimit: - type: number - description: Number of flags that will force a message to be deleted automatically. - memberCount: - type: integer - description: Number of members in channel. - messageCount: - type: integer - description: Number of messages in channel. - lastActivity: - type: string - description: The date/time when a user last did something related to the channel such as add/remove members . - format: date-time - createdAt: - type: string - description: The date/time when a channel is created. - format: date-time - updatedAt: - type: string - description: The date/time when a channel is updated. - format: date-time - avatarFileId: - type: string - isDeleted: - type: boolean - default: false - description: A flag to deleted a channel. - messagePreviewId: - $ref: '#/components/schemas/Channel_messagePreviewId' - isPublic: - type: boolean - description: A flag to public or private a channel. - 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. - required: - - channelId - - createdAt - - updatedAt - ChannelMembership: - type: string - enum: - - none - - member - - banned - ChannelUserV3: - type: object - properties: - userId: - type: string - userInternalId: - type: string - userPublicId: - type: string - channelId: - type: string - channelInternalId: - type: string - channelPublicId: - type: string - membership: - $ref: '#/components/schemas/ChannelMembership' - isBanned: - type: boolean - lastActivity: - type: string - format: date-time - roles: - type: array - items: - type: string - permissions: - type: array - items: - $ref: '#/components/schemas/PermissionEnum' - readToSegment: - type: integer - lastMentionedSegment: - type: integer - isMuted: - type: boolean - muteTimeout: - type: string - format: date-time - createdAt: - type: string - description: The date/time when a channel user is created. - format: date-time - updatedAt: - type: string - description: The date/time when a channel user is updated. - format: date-time - MessageFeed_messageFeedId: - description: The ID of the message feed - type: string - maxLength: 30 - example: a85dca058f5b585f86a29f14 - MessageFeed_name: - description: The name of the message feed - type: string - maxLength: 100 - example: text - MessageFeed_createdAt: - description: The created timestamp of the message feed - type: string - format: date-time - MessageFeed_updatedAt: - description: The updated timestamp of the message feed - type: string - format: date-time - MessageFeed_messagePreviewId: - type: string - description: ID of a message preview. Depends on network settings. if disabled will be null. - messageFeedsInfo: - type: object - description: Depends on messagePreviews. if empty array will be empty array. - properties: - messageFeedId: - $ref: '#/components/schemas/MessageFeed_messageFeedId' - name: - $ref: '#/components/schemas/MessageFeed_name' - createdAt: - $ref: '#/components/schemas/MessageFeed_createdAt' - updatedAt: - $ref: '#/components/schemas/MessageFeed_updatedAt' - messagePreviewId: - $ref: '#/components/schemas/MessageFeed_messagePreviewId' - MessageV5_messageId: - description: A message ID - type: string - maxLength: 30 - example: a85dca058f5b585f86a29f14 - MessageV5_channelId: - description: Channel id of message - type: string - maxLength: 24 - example: abc665aed9dbb8d036037eed - MessageV5_messageFeedId: - description: Message feed id of message - type: string - maxLength: 30 - example: 507f191e810c19729de860ea - MessageV5_segment: - description: Segment of message in sub feed - type: number - format: int32 - MessageV5_dataType: - description: Type of data - type: string - maxLength: 20 - example: text - MessageV5_data: - description: A custom object for storing message. The size of this object must be less than 10 kb. - type: object - example: - text: test - MessageV5_creatorId: - description: A creator ID - type: string - maxLength: 24 - example: 5349b4ddd2781d08c09890f4 - MessageV5_parentId: - description: Parent id of message - type: string - maxLength: 30 - example: abc665afd7dbb8d036037eea - Generic_isDeleted: - description: Soft delete flag - type: boolean - default: false - MessageV5_createdAt: - description: A created date/time of message - type: string - format: date-time - MessageV5_updatedAt: - description: A updated date/time of message - type: string - format: date-time - MessagePreviews: - type: object - description: Depends on messagePreviewId. if null will be empty array. - properties: - messageId: - $ref: '#/components/schemas/MessageV5_messageId' - description: Message id of message preview - channelId: - $ref: '#/components/schemas/MessageV5_channelId' - messageFeedId: - $ref: '#/components/schemas/MessageV5_messageFeedId' - segment: - $ref: '#/components/schemas/MessageV5_segment' - dataType: - $ref: '#/components/schemas/MessageV5_dataType' - data: - $ref: '#/components/schemas/MessageV5_data' - creatorId: - $ref: '#/components/schemas/MessageV5_creatorId' - parentId: - $ref: '#/components/schemas/MessageV5_parentId' - isDeleted: - $ref: '#/components/schemas/Generic_isDeleted' - createdAt: - $ref: '#/components/schemas/MessageV5_createdAt' - updatedAt: - $ref: '#/components/schemas/MessageV5_updatedAt' - CommentAttachment: - type: object - properties: - type: - type: string - enum: - - image - fileId: - type: string - required: - - type - - fileId - Comment: - 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 - 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: - $ref: '#/components/schemas/CommentAttachment' - targetId: - type: string - description: ID of a comment target. - targetType: - type: string - description: Type of a comment target. - enum: - - community - - user - - content - required: - - commentId - CommunityUser: - 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: - $ref: '#/components/schemas/ChannelMembership' - 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: - $ref: '#/components/schemas/PermissionEnum' - 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 - RoleV3: - 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 - Community: - 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 - 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. - required: - - communityId - - channelId - - displayName - CommunityCategory: - 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 - Feed: - type: object - properties: - targetId: - type: string - description: Target public id (community id or user id) - targetType: - type: enum - description: Target that feed belong to - enum: - - community - - user - postCount: - type: number - description: Post count in feed - feedType: - type: enum - description: | - Feed type - - published: main feed - - reviewing: feed for things that have to be reviewed - - declined: feed for things that is rejected from reviewing - enum: - - published - - reviewing - - declined - feedId: - type: string - description: Feed public id - createdAt: - type: string - description: The date/time when a feed is created. - format: date-time - updatedAt: - type: string - description: The date/time when a feed is updated. - format: date-time - Post: - 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: - 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: video streaming id (for video streaming post) - 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 - 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 - required: - - postId - - data - VideoStreaming: - type: object - properties: - streamId: - type: string - userId: - type: string - description: Streaming creator user id - userInternalId: - type: string - example: 64be1f6cb9b4106b5a6bbf3f - userPublicId: - type: string - example: User123 - thumbnailFileId: - type: string - description: Thumbnaiil file id - title: - type: string - status: - type: string - enum: - - idle - - live - - ended - - recorded - description: | - Status of livestreaming * idle - streaming is just created * live - streamer is streaming now or streamer is reconnecting * ended - streamer stop streaming or streamer disconnect and not connect back in time period * recorded - live stream recordings available - isLive: - type: boolean - description: Deprecated (was used before for checking live status) - isDeleted: - type: boolean - description: Is streaming deleted? - description: - type: string - platform: - type: object - properties: - name: - type: string - version: - type: string - moderationId: - type: string - description: Moderation id - startedAt: - type: string - format: date-time - endedAt: - type: string - format: date-time - createdAt: - type: string - format: date-time - updatedAt: - type: string - format: date-time - metadata: - type: object - resolution: - type: string - enum: - - SD - - HD - - FHD - default: SD - streamerUrl: - type: object - properties: - url: - type: string - components: - type: object - properties: - origin: - type: string - appName: - type: string - streamName: - type: string - query: - type: string - recordings: - type: array - items: - type: object - properties: - flv: - type: object - properties: - url: - type: string - duration: - type: number - startTime: - type: number - stopTime: - type: number - mp4: - type: object - properties: - url: - type: string - duration: - type: number - startTime: - type: number - stopTime: - type: number - m3u8: - type: object - properties: - url: - type: string - duration: - type: number - startTime: - type: number - stopTime: - type: number - watcherUrl: - type: object - properties: - flv: - type: object - properties: - url: - type: string - components: - type: object - properties: - origin: - type: string - appName: - type: string - streamName: - type: string - query: - type: string - hls: - type: object - properties: - url: - type: string - components: - type: object - properties: - origin: - type: string - appName: - type: string - streamName: - type: string - query: - type: string - rtmp: - type: object - properties: - url: - type: string - components: - type: object - properties: - origin: - type: string - appName: - type: string - streamName: - type: string - query: - type: string - Poll: - type: object - properties: - pollId: - type: string - userId: - type: string - userInternalId: - type: string - example: 64be1f6cb9b4106b5a6bbf3f - userPublicId: - type: string - example: User123 - question: - type: string - description: question. - answers: - type: array - maxItems: 10 - items: - type: object - properties: - dataType: - type: string - enum: - - text - data: - type: string - voteCount: - type: number - default: 0 - isVotedByUser: - type: boolean - default: false - id: - type: string - description: Option id - answerType: - type: string - closedAt: - type: string - createdAt: - type: string - isVoted: - type: boolean - default: false - status: - type: string - default: open - closedIn: - type: number - Follow: - type: object - properties: - from: - type: string - fromUserPublicId: - type: string - fromUserInternalId: - type: string - to: - type: string - toUserPublicId: - type: string - toUserInternalId: - type: string - status: - type: string - enum: - - pending - - accepted - - none - createdAt: - type: string - format: date-time - updatedAt: - type: string - format: date-time - FollowCount: - type: object - properties: - userId: - type: string - followerCount: - type: integer - followingCount: - type: integer - pendingCount: - type: integer - FollowV5: - type: object - properties: - from: - type: string - fromUserPublicId: - type: string - fromUserInternalId: - type: string - to: - type: string - toUserPublicId: - type: string - toUserInternalId: - type: string - status: - type: string - enum: - - blocked - - pending - - accepted - - none - createdAt: - type: string - format: date-time - updatedAt: - type: string - format: date-time - PinTarget: - type: object - properties: - targetId: - type: string - description: Id of target. (postId or messageFeedId or networkId ) - targetType: - type: string - description: type of target. (community or messageFeed or network) - lastPinsUpdatedAt: - type: string - description: Latest date/time when pinned content is updated. - format: date-time - Pin: - type: object - properties: - referenceId: - type: string - description: Id of content. (post or messageFeed or network) - referenceType: - type: string - description: type of content. (post or or messageFeed or network) - placement: - type: string - description: type of pin. (default or announcement or global) - pinnedBy: - type: string - description: user id who pinned the content. - pinnedAt: - type: string - description: The date/time when a content is pinned. - format: date-time - UserMarkers: - type: object - properties: - userId: - type: string - description: User id (internal) - lastSyncAt: - type: string - description: The date/time when user last sync. - format: date-time - unreadCount: - type: number - description: Unread count of user - isMentioned: - type: boolean - createdAt: - type: string - description: The date/time when user markers are created. - format: date-time - updatedAt: - type: string - description: The date/time when user markers are updated. - format: date-time - UserEntityMarkers: - type: object - properties: - userId: - type: string - description: User id (internal) - entityId: - type: string - description: channel id (internal) - unreadCount: - type: number - description: Unread count of user - isDeleted: - type: boolean - description: flag to check if channel marker deleted - isMentioned: - type: boolean - description: flag to check if user is mentioned in channel - membership: - type: string - description: membership status of user in channel - enum: - - member - - banned - - muted - - non-member - - deleted - createdAt: - type: string - description: The date/time when user channel markers are created. - format: date-time - updatedAt: - type: string - description: The date/time when user channel markers are updated. - format: date-time - UserFeedMarkers: - type: object - properties: - userId: - type: string - description: User id (internal) - entityId: - type: string - description: channel id (internal) - feedId: - type: string - description: message feed id (internal) - readToSegment: - type: number - description: segment of message as read by user - deliveredToSegment: - type: number - description: segment of message as delivered by user - unreadCount: - type: number - description: Unread count of user - lastMentionSegment: - type: number - description: segment of message as last mentioned by user - isMentioned: - type: boolean - description: flag to check if user is mentioned in channel - createdAt: - type: string - description: The date/time when user message feed markers are created. - format: date-time - updatedAt: - type: string - description: The date/time when user message feed markers are updated. - format: date-time - FeedMarkers: - type: object - properties: - entityId: - type: string - description: channel id (internal) - feedId: - type: string - description: message feed id (internal) - lastSegment: - type: number - description: segment of message as lasted in message feed - isDeleted: - type: boolean - description: flag to check if message feed marker deleted - createdAt: - type: string - description: The date/time when user message feed markers are created. - format: date-time - updatedAt: - type: string - description: The date/time when user message feed markers are updated. - format: date-time - ContentMarkers: - type: object - properties: - contentId: - type: string - description: message id (internal) - feedId: - type: string - description: message feed id (internal) - segment: - type: number - description: segment of message - creatorId: - type: string - description: user id (internal) of creator - readCount: - type: number - description: count of read users - deliveredCount: - type: number - description: count of delivered users - createdAt: - type: string - description: The date/time when user message feed markers are created. - format: date-time - updatedAt: - type: string - description: The date/time when user message feed markers are updated. - format: date-time - BlacklistRule: - type: object - properties: - ruleId: - type: string - regex: - type: string - description: Rule of blacklist. - isMatchExactWord: - type: boolean - isEnabled: - type: boolean - description: A flag to enabled a rule. - isDeleted: - type: boolean - description: A flag to deleted a rule. - createdAt: - type: string - description: The date/time when a rule is created. - format: date-time - updatedAt: - type: string - description: The date/time when a rule is updated or deleted. - format: date-time - required: - - regex - ModerationSetting: - type: object - properties: - maxRepetition: - type: integer - maxRepetitionTimeout: - type: integer - blacklistMuteTimeout: - type: integer - whitelistMuteTimeout: - type: integer - maxRepetitionMuteTimeout: - type: integer - enableImageModeration: - type: boolean - imageModeration: - type: object - properties: - nudity: - type: number - suggestive: - type: number - violence: - type: number - disturbing: - type: number - createdAt: - type: string - description: The date/time when a rule is created. - format: date-time - updatedAt: - type: string - description: The date/time when a rule is updated or deleted. - format: date-time - WhitelistRule: - type: object - properties: - ruleId: - type: string - regex: - type: string - description: Rule of whitelist. - isEnabled: - type: boolean - description: A flag to enabled a rule. - isDeleted: - type: boolean - description: A flag to deleted a rule. - createdAt: - type: string - description: The date/time when a rule is created. - format: date-time - updatedAt: - type: string - description: The date/time when a rule is updated or deleted. - format: date-time - required: - - regex - MessageFeed_channelId: - description: Internal ID of the channel that the message feed belongs to - type: string - maxLength: 30 - example: abc665aed9dbb8d036037eeb - MessageFeed_channelPublicId: - description: ID of the channel that the message feed belongs to - type: string - maxLength: 30 - example: abc665aed9dbb8d036037eeb - MessageFeed_channelType: - description: Type of the channel that the message feed belongs to - type: string - enum: - - broadcast - - community - - conversation - - live - example: community - MessageFeed_lastMessageId: - description: The ID of the last message created in the message feed - type: string - maxLength: 30 - example: 9530b11ec8de87db22b06b21 - MessageFeed_lastMessageTimestamp: - description: The created timestamp of the the last message created in the message feed - type: string - format: date-time - MessageFeed_creatorId: - description: Creator's ID - type: string - maxLength: 30 - example: 8aa313c8dbb00af911b07672 - MessageFeed_path: - description: Object path - type: string - maxLength: 200 - example: 12cba9779cc479e1fcefd1de/chat/f00ab16cbd27d4a9525aea6d/32b468ae0b1bd0cc7976719d/0a003482f0ac53a71e7c9239 - MessageFeed_childCount: - description: The number of messages inside the message feed - type: number - format: int32 - MessageFeed_editedAt: - description: The edited timestamp of the message feed data - type: string - format: date-time - MessageFeed: - type: object - properties: - messageFeedId: - $ref: '#/components/schemas/MessageFeed_messageFeedId' - channelId: - $ref: '#/components/schemas/MessageFeed_channelId' - channelPublicId: - $ref: '#/components/schemas/MessageFeed_channelPublicId' - channelType: - $ref: '#/components/schemas/MessageFeed_channelType' - name: - $ref: '#/components/schemas/MessageFeed_name' - lastMessageId: - $ref: '#/components/schemas/MessageFeed_lastMessageId' - lastMessageTimestamp: - $ref: '#/components/schemas/MessageFeed_lastMessageTimestamp' - creatorId: - $ref: '#/components/schemas/MessageFeed_creatorId' - path: - $ref: '#/components/schemas/MessageFeed_path' - childCount: - $ref: '#/components/schemas/MessageFeed_childCount' - isDeleted: - $ref: '#/components/schemas/Generic_isDeleted' - editedAt: - $ref: '#/components/schemas/MessageFeed_editedAt' - createdAt: - $ref: '#/components/schemas/MessageFeed_createdAt' - updatedAt: - $ref: '#/components/schemas/MessageFeed_updatedAt' - messagePreviewId: - $ref: '#/components/schemas/MessageFeed_messagePreviewId' - required: - - messageFeedId - - channelId - - channelPublicId - - channelType - - name - - creatorId - - path - - childCount - - isDeleted - - createdAt - - updatedAt - MessageV5_networkId: - description: A network ID - type: string - maxLength: 30 - example: 9530b11ec8de87db22b06b27 - MessageV5_channelType: - description: Channel type of message - type: string - enum: - - broadcast - - community - - conversation - - live - example: community - MessageV5_fileId: - description: File id - type: string - maxLength: 30 - example: 76bfe68974157a114053364d - MessageV5_thumbnailFileId: - description: Thumbnail file id - type: string - maxLength: 30 - example: 76bfe68974157a114053364e - MessageV5_metadata: - description: A custom object for storing the other data. The size of this object must be less than 20 kb. - type: object - example: - refId: d601c27c0675baa2103ec573 - Generic_tags: - description: List of tags for searching - type: array - maxItems: 10 - default: [] - items: - type: string - maxLength: 30 - example: - - tag1 - - tag2 - MessageV5_mentionedUsers: - description: List of mentioned users - type: array - items: - type: object - properties: - type: - type: string - maxLength: 20 - default: user - enum: - - channel - - user - userIds: - type: array - maxItems: 50 - items: - type: string - maxLength: 24 - example: - - 3cac302ab992aa17b215ba21 - - adb34ec2aeedca03a38e1d54 - MessageV5_reactions: - description: List of reactions - type: object - items: - type: object - additionalProperties: - type: number - example: - like: 1 - love: 2 - MessageV5_reactionCount: - description: Total number of reactions - type: number - format: int32 - MessageV5_path: - description: Object path - type: string - maxLength: 200 - example: 12cba9779cc479e1fcefd1de/chat/f00ab16cbd27d4a9525aea6d/32b468ae0b1bd0cc7976719d/0a003482f0ac53a71e7c9239 - MessageV5_flagCount: - description: The number of flags - type: number - format: int32 - MessageV5_childCount: - description: The number of children message - type: number - format: int32 - MessageV5_editedAt: - description: The latest date/time of changes in message data - type: string - format: date-time - MessageV5_myReactions: - description: List of reactions of the actor - type: array - maxItems: 10 - default: [] - items: - type: string - maxLength: 30 - example: - - like - - love - MessageV5: - type: object - properties: - messageId: - $ref: '#/components/schemas/MessageV5_messageId' - networkId: - $ref: '#/components/schemas/MessageV5_networkId' - channelId: - $ref: '#/components/schemas/MessageV5_channelId' - channelType: - $ref: '#/components/schemas/MessageV5_channelType' - messageFeedId: - $ref: '#/components/schemas/MessageV5_messageFeedId' - segment: - $ref: '#/components/schemas/MessageV5_segment' - dataType: - $ref: '#/components/schemas/MessageV5_dataType' - data: - $ref: '#/components/schemas/MessageV5_data' - fileId: - $ref: '#/components/schemas/MessageV5_fileId' - thumbnailFileId: - $ref: '#/components/schemas/MessageV5_thumbnailFileId' - metadata: - $ref: '#/components/schemas/MessageV5_metadata' - tags: - $ref: '#/components/schemas/Generic_tags' - creatorId: - $ref: '#/components/schemas/MessageV5_creatorId' - mentionedUsers: - $ref: '#/components/schemas/MessageV5_mentionedUsers' - reactions: - $ref: '#/components/schemas/MessageV5_reactions' - reactionCount: - $ref: '#/components/schemas/MessageV5_reactionCount' - parentId: - $ref: '#/components/schemas/MessageV5_parentId' - path: - $ref: '#/components/schemas/MessageV5_path' - flagCount: - $ref: '#/components/schemas/MessageV5_flagCount' - childCount: - $ref: '#/components/schemas/MessageV5_childCount' - isDeleted: - $ref: '#/components/schemas/Generic_isDeleted' - editedAt: - $ref: '#/components/schemas/MessageV5_editedAt' - createdAt: - $ref: '#/components/schemas/MessageV5_createdAt' - updatedAt: - $ref: '#/components/schemas/MessageV5_updatedAt' - myReactions: - $ref: '#/components/schemas/MessageV5_myReactions' - Generic_permanent: - type: boolean - description: A flag to confirm permanent deletion - default: false - MessageFeed_pageOptions: - description: Page options by using cursor - type: object - properties: - after: - type: string - maxLength: 30 - before: - type: string - maxLength: 30 - limit: - type: number - format: int32 - sortBy: - type: string - default: lastMessageTimestampDesc - enum: - - lastMessageTimestampAsc - - lastMessageTimestampDesc - token: - type: string - maxLength: 100 - Generic_paging: - description: Paging response - type: object - properties: - next: - type: string - description: token for getting the next page of data - maxLength: 100 - previous: - type: string - description: token for getting the previous page of data - maxLength: 100 - total: - type: number - format: int32 - MessageFeed_messageFeedIds: - description: List of message feed IDs - type: array - items: - type: string - maxLength: 30 - maxItems: 10 - example: - - a85dca058f5b585f86a29f14 - MessageV3: - type: object - properties: - _id: - type: string - path: - type: string - messageId: - type: string - description: ID of a message. - channelId: - type: string - description: ID of a channel. - userId: - type: string - description: ID of a user. - type: - type: string - enum: - - text - - image - - file - - custom - - video - - audio - - imagemap - data: - type: object - description: Body of a message. - channelSegment: - type: integer - description: A sequence number of a message in channel. - parentId: - type: string - description: ID of a parent message. - fileId: - type: string - description: file key on cloud storage. - 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. - flagCount: - type: integer - description: The number of users that has read this message. - hashFlag: - type: object - description: The flag for checking internally that this message is reported or not. - properties: - bits: - type: integer - hashes: - type: integer - hash: - type: array - items: - type: string - childrenNumber: - type: integer - description: A number of comments in this message. - reactionsCount: - type: integer - description: The number of all reactions for this messages. - reactions: - type: object - description: The mapping of reaction with reactionCounter. - myReactions: - type: array - description: The list of my reactions to this message. This property will not exist when it is triggered from an event 'message.didUpdate'. - items: - type: string - latestReaction: - type: object - description: The latest reaction. This property will exist when it is triggered from an event 'message.didUpdate'. - properties: - referenceId: - type: string - description: ID of a document. - referenceType: - type: string - description: Type of document. - reactionName: - type: string - userId: - type: string - userDisplayName: - type: string - reactionId: - type: string - eventName: - type: string - createdAt: - type: string - description: The date/time when a reaction is created. - format: date-time - isDeleted: - type: boolean - description: A flag to hide a message. Unable to show after hiding. It will be set to true when user deletes a message or a channel of this message is banned. - createdAt: - type: string - description: The date/time when a channel is created. - format: date-time - updatedAt: - type: string - description: The date/time when a channel of this message is banned or this message is deleted. - format: date-time - editedAt: - type: string - description: The date/time when a message is deleted or updated. - format: date-time - mentionees: - type: array - description: The object of the mentions type and user who get a notification for the message. - items: - type: object - properties: - type: - type: string - description: | - type: * `user` - need to specific userIds and notification mentions individual user * `channel` - notification mentions all user in channel - enum: - - user - - channel - userIds: - type: array - description: Array of UserId. if the mention type is a channel, doesn't send userIds - items: - type: string - userPublicIds: - type: array - description: Array of UserPublicId. - items: - type: string - userInternalIds: - type: array - description: Array of UserInternalId. - items: - type: string - MentioneesRequest: - type: object - properties: - type: - type: string - description: | - type: - * `user` - need to specific userIds and notification mentions individual user - * `channel` - notification mentions all user in channel - enum: - - user - - channel - userIds: - type: array - description: Array of UserId. if the mention type is a channel, doesn't send userIds - items: - type: string - maxItems: 30 - required: - - type - MessageV5_hasFlags: - description: A flag to filter only flagged message - type: boolean - MessageV5_pageOptions: - description: Page options by using cursor - type: object - properties: - after: - type: string - maxLength: 30 - before: - type: string - maxLength: 30 - limit: - type: number - format: int32 - default: 10 - minimum: 1 - maximum: 100 - sortBy: - type: string - default: segmentDesc - enum: - - segmentAsc - - segmentDesc - token: - type: string - maxLength: 100 - around: - type: string - maxLength: 30 - User: - 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 - roles: - type: array - items: - type: string - displayName: - type: string - flagCount: - type: integer - hashFlag: - type: object - properties: - bits: - type: integer - hashes: - type: integer - hash: - type: array - items: - type: string - metadata: - type: object - createdAt: - type: string - format: date-time - updatedAt: - type: string - format: date-time - isDeleted: - type: boolean - required: - - userId - - createdAt - - updatedAt - MessageV5_referenceId: - description: A reference ID - type: string - maxLength: 30 - example: 1530b11ec8df87da22b06b27 - MessageV5_messageIds: - description: A list of message ID - type: array - items: - type: string - maxLength: 30 - maxItems: 10 - example: - - a85dca058f5b585f86a29f14 - MessageV5_pageOptionsAdmin: - description: Page options by using cursor - type: object - properties: - after: - type: string - maxLength: 30 - before: - type: string - maxLength: 30 - limit: - type: number - format: int32 - default: 10 - minimum: 1 - maximum: 100 - token: - type: string - maxLength: 100 - ChatNetworkSetting: - type: object - properties: - enabled: - type: boolean - mention: - type: object - properties: - isAllowMentionedChannelEnabled: - type: boolean - default: true - messagePreview: - type: object - properties: - enabled: - type: boolean - default: false - isIncludeDeleted: - type: boolean - default: false - isAllowAdminViewConversationMessage: - type: boolean - default: true - isAllowAdminManageConversationMessage: - type: boolean - default: true - allowMemberToUpdateConversationChannel: - type: boolean - default: false - description: '`true` - When conversation channel have more than 2 members, all members can edit the channel.
`false` - When conversation channel have more than 2 members, Only people that has permission can edit the conversation channel.' - SocialNetworkSetting: - type: object - properties: - enabled: - type: boolean - userPrivacySetting: - type: string - enum: - - public - - private - isFollowWithRequestEnabled: - type: boolean - default: false - isAllowEditPostWhenReviewingEnabled: - type: boolean - disallowNonMemberInteractInCommunity: - type: boolean - allowJoinPrivateCommunity: - type: boolean - default: false - globalFeed: - type: object - properties: - showOnlyMyFeed: - type: boolean - default: false - showMyPost: - type: boolean - showEveryonePost: - type: boolean - showCommunityPost: - type: boolean - showFollowingPost: - type: boolean - maxGlobalPinnedPost: - type: number - story: - type: object - properties: - expiryTimeMinutes: - type: integer - minimum: 1 - maximum: 1440 - allowAllUserToCreateStory: - type: boolean - default: false - WebhookNetworkSetting: - type: object - properties: - enabled: - type: boolean - NetworkSetting: - type: object - properties: - videoStreaming: - type: object - properties: - enabled: - type: boolean - chat: - $ref: '#/components/schemas/ChatNetworkSetting' - social: - $ref: '#/components/schemas/SocialNetworkSetting' - webhook: - $ref: '#/components/schemas/WebhookNetworkSetting' - moderation: - type: object - properties: - isWhitelistEnabled: - type: boolean - tierHandler: - type: string - ContentCheckVideoForPost: - description: Content Check video schema - type: object - properties: - allowed: - type: boolean - transcodeConfig: - type: object - properties: - maxResolution: - type: string - enum: - - 1080p - - 720p - - 480p - - 360p - minResolution: - type: string - enum: - - 1080p - - 720p - - 480p - - 360p - maxDurationSeconds: - type: number - format: int32 - minimum: 1 - maximum: 7200 - ContentCheckVideoForMessage: - description: Content Check video schema - type: object - properties: - allowed: - type: boolean - transcodeConfig: - type: object - properties: - maxResolution: - type: string - enum: - - 1080p - - 720p - - 480p - - 360p - minResolution: - type: string - enum: - - 1080p - - 720p - - 480p - - 360p - maxDurationSeconds: - type: number - format: int32 - minimum: 1 - maximum: 600 - ContentCheckVideoForStory: - description: Content Check video schema - type: object - properties: - allowed: - type: boolean - transcodeConfig: - type: object - properties: - maxResolution: - type: string - enum: - - 1080p - - 720p - - 480p - - 360p - minResolution: - type: string - enum: - - 1080p - - 720p - - 480p - - 360p - maxDurationSeconds: - type: number - format: int32 - minimum: 1 - maximum: 90 - FeedSettingNetworkSetting: - type: object - properties: - post: - description: Feed type post - type: object - properties: - video: - $ref: '#/components/schemas/ContentCheckVideoForPost' - message: - description: Feed type message - type: object - properties: - video: - $ref: '#/components/schemas/ContentCheckVideoForMessage' - story: - description: Feed type story - type: object - properties: - video: - $ref: '#/components/schemas/ContentCheckVideoForStory' - ModerationNetworkSetting: - type: object - properties: - isWhitelistEnabled: - type: boolean - PrehookSetting: - description: Prehook Setting - type: object - properties: - enabled: - type: boolean - callbackUrl: - type: string - defaultAction: - type: string - enum: - - allow - - deny - PermissionDeniedError: - description: Permission denied. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400301 - message: User is not a member of a channel - UnexpectedError: - description: Unexpected error. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 500000 - message: Unexpected error - PrehookSettingWithSecretKey: - allOf: - - $ref: '#/components/schemas/PrehookSetting' - - type: object - properties: - secretKey: - type: string - description: This will be available only when regenerateKey or enable the feature for the first time - BadRequestError: - description: Bad Request error. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400000 - message: Bad Request. - SemanticSearchNetworkSetting: - type: object - properties: - semanticSearch: - type: object - properties: - post: - type: object - properties: - enabled: - type: boolean - default: false - minScore: - type: number - community: - type: object - properties: - enabled: - type: boolean - default: false - minScore: - type: number - UsersNetworkSetting: - type: object - properties: - isAllowUpdateDisplayName: - type: boolean - VideoStreamingSettingNetworkSetting: - type: object - properties: - enabled: - type: boolean - description: This field is for enabling or disabling the video streaming feature. - moderation: - type: object - description: This field is for moderation configuration. - properties: - enabled: - type: boolean - description: This field is for enabling or disabling the moderation feature. - categories: - type: array - description: This field is for list of moderation categories. - items: - type: object - properties: - category: - type: string - description: This field is for moderation category names. - enum: - - pornography - - violence - - prohibited - - inappropriate - - profanity - flagThreshold: - type: number - description: This field is for flag threshold. - minimum: 0 - maximum: 1 - terminateThreshold: - type: number - description: This field is for terminate threshold. - minimum: 0 - maximum: 1 - NotificationSetting: - type: object - properties: - isPushNotifiable: - type: boolean - description: on/off notification - isUserEnabled: - type: boolean - description: enable/disable notification from user level(for community level) - notifiableEvents: - type: array - items: - type: object - properties: - name: - type: string - enum: - - channel.created - - channel.joined - - conversation-channel.joined - - text-mention-message.created - - message.created - - conversation-message.created - - conversation-text-message.created - - conversation-image-message.created - - conversation-file-message.created - - post.created - - post.approved - - post.need-reviewing - - text-mention-post.created - - text-mention-user-feed-post.created - - video-streaming-post.created - - post.reacted - - comment.created - - text-mention-comment.created - - text-mention-user-feed-comment.created - - comment.replied - - text-mention-comment.replied - - text-mention-user-feed-comment.replied - - comment.reacted - - follow.created - - follow.requested - - follow.accepted - - community.roleAdded - - community.updated - - story.created - - story-comment.created - - video-streaming.didStart - moduleName: - type: string - enum: - - chat - - video-streaming - - social - eventName: - type: string - isPushNotifiable: - type: boolean - description: on/off notification of event - parameters: - type: array - items: - type: string - description: place holders - titleTemplate: - type: string - description: title of template - bodyTemplate: - type: string - description: body of template - listenFromRoleIds: - type: array - items: - type: string - description: specific roles for get notify by event creator who has roles only - ignoreFromRoleIds: - type: array - items: - type: string - description: specific roles for ignore notify by event creator who has roles only - isNetworkEnabled: - type: boolean - description: enable/disable notification from network level(for community level) - UsersAnswered: - type: object - properties: - userId: - type: string - pollId: - type: string - answerIds: - description: answer id - type: array - items: - type: string - createdAt: - type: string - PostV4: - 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. - publisherId: - type: string - description: ID of an original publisher when creating a post as brand. - publisherPublicId: - type: string - description: Public ID of an original publisher when creating a post as brand. - 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: - 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: video streaming id (for video streaming post) - 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 - 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 - required: - - postId - - data - PresenceUserSetting: - description: Presence user setting - type: object - properties: - enabled: - type: boolean - enabledAt: - type: string - format: date-time - required: - - enabled - PresenceNetworkSettingWithoutEnabled: - description: Presence network setting without enabled - type: object - properties: - heartbeatInterval: - description: the time interval for sending heartbeat for client - type: integer - minimum: 20 - maximum: 50 - presenceSyncInterval: - description: the time interval for syncing the user list presence for client - type: integer - minimum: 20 - maximum: 50 - updatedAt: - type: string - format: date-time - required: - - heartbeatInterval - - presenceSyncInterval - ForbiddenError: - description: No permission to access this resource. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400300 - message: Forbidden error. - Presence: - description: Presence Object - type: object - properties: - userId: - type: string - lastHeartbeat: - type: string - format: date-time - required: - - userId - Reactor: - type: object - properties: - reactionName: - type: string - description: Name of reaction such as 'like', 'love' and 'wow'. - userId: - type: string - description: ID of a creator. - userPublicIdId: - type: string - description: Public ID of a creator. - userInternalId: - type: string - description: Internal ID of a creator. - reactionId: - type: string - description: ID of a reaction. - createdAt: - type: string - description: The date/time when a reaction is created. - format: date-time - updatedAt: - type: string - description: The date/time when a reaction is updated. - format: date-time - Reaction: - type: object - properties: - referenceId: - type: string - description: ID of a document. - referenceType: - type: string - description: Type of document. - reactors: - type: array - description: List of mapping between reaction and reactor ID. - items: - $ref: '#/components/schemas/Reactor' - required: - - referenceId - - referenceType - RoleV2: - type: object - properties: - permissions: - type: array - items: - type: string - publicId: - type: string - required: - - publicId - SearchPostResults: - type: object - properties: - postId: - type: string - description: Private ID of a post. (for real-time event) - score: - type: number - description: Score of matching the search query. - SearchCommunityResults: - type: object - properties: - communityId: - type: string - description: Private ID of a community. - score: - type: number - description: Score of matching the search query. - StoryHyperlinkItemData: - 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 - StoryItem: - 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: - - $ref: '#/components/schemas/StoryHyperlinkItemData' - 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 - Story: - 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: - $ref: '#/components/schemas/StoryItem' - 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 - StoryResponsePayload: - description: Story response payload - type: object - properties: - stories: - type: array - items: - $ref: '#/components/schemas/Story' - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - files: - type: array - items: - $ref: '#/components/schemas/File' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - communities: - type: array - items: - $ref: '#/components/schemas/Community' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - StoryTarget: - type: object - properties: - targetId: - type: string - description: ID of a target. - targetPublicId: - type: string - description: Public ID of a target. - targetType: - type: string - enum: - - community - - user - description: Type of a target (user, community, content). - lastStoryExpiresAt: - type: string - description: The expired date/time of the latest story created in target. Provided if there is any active story in target. - format: date-time - lastStorySeenExpiresAt: - type: string - description: The expired date/time of the latest story the user has seen. Provided if user has seen any story in target. - format: date-time - targetUpdatedAt: - type: string - description: The date/time when a target is updated. Used for validating the seen state on SDK side - format: date-time - required: - - targetId - - targetPublicId - - targetType - - targetUpdatedAt - StoryWithTargetResponsePayload: - allOf: - - $ref: '#/components/schemas/StoryResponsePayload' - - type: object - properties: - storyTargets: - type: array - items: - $ref: '#/components/schemas/StoryTarget' - StoryWithTargetPaginatedResponsePayload: - allOf: - - $ref: '#/components/schemas/StoryWithTargetResponsePayload' - - type: object - properties: - paging: - type: object - properties: - next: - type: string - description: The next token to get the next page of stories. - previous: - type: string - description: The previous token to get the previous page of stories. - StoryWithReferenceId: - allOf: - - $ref: '#/components/schemas/Story' - - type: object - properties: - referenceId: - type: string - description: the id used for reference when optimistically create the story. only avaliable in create story API - CreateStoryResponsePayload: - description: Create story response payload - type: object - properties: - stories: - type: array - items: - $ref: '#/components/schemas/StoryWithReferenceId' - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - files: - type: array - items: - $ref: '#/components/schemas/File' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - roles: - type: array - items: - $ref: '#/components/schemas/RoleV3' - communities: - type: array - items: - $ref: '#/components/schemas/Community' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - StoryTargetsResponsePayload: - description: Story targets response payload - type: object - properties: - storyTargets: - type: array - items: - $ref: '#/components/schemas/StoryTarget' - GlobalStoryTargetsResponsePayload: - type: object - properties: - storyTargets: - type: array - items: - $ref: '#/components/schemas/StoryTarget' - files: - type: array - items: - $ref: '#/components/schemas/File' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - communities: - type: array - items: - $ref: '#/components/schemas/Community' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - paging: - type: object - properties: - next: - type: string - description: The next token to get the next page of stories. - previous: - type: string - description: The previous token to get the previous page of stories. - VideoStreamingModerationLabel: - type: object - properties: - category: - type: string - description: This field is for moderation category names. - enum: - - pornography - - violence - - prohibited - - inappropriate - - profanity - threshold: - description: This field is for flag threshold. - type: number - detectedAt: - type: string - format: date-time - VideoStreamingModeration: - type: object - properties: - moderationId: - type: string - description: Moderation id - streamId: - type: string - description: Streaming id - flagLabels: - description: List of flag labels - type: array - items: - $ref: '#/components/schemas/VideoStreamingModerationLabel' - terminateLabels: - description: List of terminate labels - type: array - items: - $ref: '#/components/schemas/VideoStreamingModerationLabel' - createdAt: - type: string - format: date-time - updatedAt: - type: string - format: date-time - ChannelV1: - type: object - properties: - _id: - type: string - path: - type: string - channelId: - type: string - description: ID of a channel. - isDistinct: - type: boolean - metadata: - type: object - description: Additional properties to support custom fields. - type: - $ref: '#/components/schemas/ChannelType' - tags: - type: array - description: List of tags. They will be used for searching. - items: - type: string - isMuted: - type: boolean - description: Is this channel muted? (Computed by using muteTimeout). - isRateLimited: - type: boolean - description: Is this channel limited sending rate? (Computed by using muteTimeout). - muteTimeout: - type: string - description: The date/time to suppress muteness. - format: date-time - rateLimit: - type: integer - description: Number of messages within rate limit. - rateLimitWindow: - type: integer - description: Waiting time interval before reset rateLimit to 0. - rateLimitTimeout: - type: string - description: The date/time to suppress limitation of sending rate. - format: date-time - displayName: - type: string - description: Channel name for displaying. - messageAutoDeleteEnabled: - type: boolean - description: Is message in this channel will be deleted when the user flagged until flag limit? - autoDeleteMessageByFlagLimit: - type: number - description: Number of flags that will force a message to be deleted automatically. - memberCount: - type: integer - description: Number of members in channel. - messageCount: - type: integer - description: Number of messages in channel. - lastActivity: - type: string - description: The date/time when a user last did something related to the channel such as add/remove members . - format: date-time - createdAt: - type: string - description: The date/time when a channel is created. - format: date-time - updatedAt: - type: string - description: The date/time when a channel is updated. - format: date-time - avatar: - type: object - $ref: '#/components/schemas/File' - required: - - channelId - - createdAt - - updatedAt - Message: - type: object - properties: - _id: - type: string - path: - type: string - messageId: - type: string - description: ID of a message. - parentId: - type: string - description: ID of a parent message. - childrenNumber: - type: integer - description: A number of comments in this message. - channelId: - type: string - description: ID of a channel. - userId: - type: string - description: ID of a user. - type: - type: string - description: Type of a message (text, image, video, json). - tags: - type: array - description: List of tags. They will be used for searching. - items: - type: string - data: - type: object - description: Body of a message. - isDeleted: - type: boolean - description: A flag to hide a message. Unable to show after hiding. It will be set to true when user deletes a message or a channel of this message is banned. - channelSegment: - type: integer - description: A sequence number of a message in channel. - createdAt: - type: string - description: The date/time when a channel is created. - format: date-time - updatedAt: - type: string - description: The date/time when a channel of this message is banned or this message is deleted. - format: date-time - editedAt: - type: string - description: The date/time when a message is deleted or updated. - format: date-time - flagCount: - type: integer - description: The number of users that has read this message. - hashFlag: - type: object - description: The flag for checking internally that this message 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. - reactionsCount: - type: integer - description: The number of all reactions for this messages. - myReactions: - type: array - description: The list of my reactions to this message. This property will not exist when it is triggered from an event 'message.didUpdate'. - items: - type: string - latestReaction: - type: object - description: The latest reaction. This property will exist when it is triggered from an event 'message.didUpdate'. - properties: - referenceId: - type: string - description: ID of a document. - referenceType: - type: string - description: Type of document. - reactionName: - type: string - userId: - type: string - userDisplayName: - type: string - reactionId: - type: string - eventName: - type: string - createdAt: - type: string - description: The date/time when a reaction is created. - format: date-time - mentionees: - type: array - description: The object of the mentions type and user who get a notification for the message. - items: - type: object - properties: - type: - type: string - description: | - type: * `user` - need to specific userIds and notification mentions individual user * `channel` - notification mentions all user in channel - enum: - - user - - channel - userIds: - type: array - description: Array of UserId. if the mention type is a channel, doesn't send userIds - items: - type: string - userPublicIds: - type: array - description: Array of UserPublicId. - items: - type: string - userInternalIds: - type: array - description: Array of UserInternalId. - items: - type: string - required: - - messageId - - channelId - - userId - - channelSegment - - createdAt - - updatedAt - channel-custom-notification-response: - description: Channels Information - type: object - properties: - channels: - type: array - items: - $ref: '#/components/schemas/ChannelV3' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - comment-custom-notification-response: - description: Comment Information - type: object - properties: - posts: - type: array - items: - $ref: '#/components/schemas/Post' - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - communities: - type: array - items: - $ref: '#/components/schemas/Community' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - follow-custom-notification-response: - description: Follow Response Object - type: object - properties: - follows: - type: array - items: - $ref: '#/components/schemas/Follow' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - message-custom-notification-response: - description: Messages Information - type: object - properties: - messages: - type: array - items: - $ref: '#/components/schemas/MessageV3' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - post-custom-notification-response: - description: Post Information - type: object - properties: - posts: - type: array - items: - $ref: '#/components/schemas/Post' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - communities: - type: array - items: - $ref: '#/components/schemas/Community' - VideoStreamingCustom: - type: object - properties: - streamId: - type: string - userId: - type: string - description: Streaming creator user id - thumbnailFileId: - type: string - description: Thumbnaiil file id - title: - type: string - status: - type: string - enum: - - idle - - live - - ended - - recorded - description: | - Status of livestreaming * idle - streaming is just created * live - streamer is streaming now or streamer is reconnecting * ended - streamer stop streaming or streamer disconnect and not connect back in time period * recorded - live stream recordings available - isLive: - type: boolean - description: Deprecated (was used before for checking live status) - isDeleted: - type: boolean - description: Is streaming deleted? - description: - type: string - platform: - type: object - properties: - name: - type: string - version: - type: string - startedAt: - type: string - format: date-time - endedAt: - type: string - format: date-time - createdAt: - type: string - format: date-time - updatedAt: - type: string - format: date-time - metadata: - type: object - resolution: - type: string - enum: - - SD - - HD - - FHD - default: SD - streamerUrl: - type: object - properties: - url: - type: string - components: - type: object - properties: - origin: - type: string - appName: - type: string - streamName: - type: string - query: - type: string - video-streaming-custom-notification-response: - description: video streaming information - type: object - properties: - videoStreamings: - type: array - items: - $ref: '#/components/schemas/VideoStreamingCustom' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - ChannelBase: - type: object - properties: - channels: - description: The list of channels - type: array - items: - $ref: '#/components/schemas/ChannelV3' - channelUsers: - description: The list of channel users - type: array - items: - $ref: '#/components/schemas/ChannelUserV3' - users: - description: The list of users - type: array - items: - $ref: '#/components/schemas/User' - files: - description: The list of files - type: array - items: - $ref: '#/components/schemas/File' - Wrapper: - type: object - properties: - networkId: - type: string - description: ID of the network. - path: - type: string - description: A topic path for subscription. - eventType: - type: string - description: Name of the event. - senderId: - type: string - description: ID of sender node. - sendTime: - type: string - description: The date/time when event was sent. - format: date-time - version: - type: string - description: Version of API - Channel: - allOf: - - type: object - properties: - id: - type: string - description: The message ID. - data: - $ref: '#/components/schemas/ChannelBase' - - $ref: '#/components/schemas/Wrapper' - CommentForRealtime: - 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 - 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 - 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 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 - attachments: - type: array - description: The attachments/medias to be included in the comment - items: - $ref: '#/components/schemas/CommentAttachment' - required: - - commentId - CommentBase: - type: object - properties: - comments: - type: array - items: - $ref: '#/components/schemas/CommentForRealtime' - commentChildren: - type: array - items: - $ref: '#/components/schemas/CommentForRealtime' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - schema_Comment: - allOf: - - type: object - properties: - id: - type: string - description: The comment ID. - data: - $ref: '#/components/schemas/CommentBase' - - $ref: '#/components/schemas/Wrapper' - CommentWithReactor: - allOf: - - $ref: '#/components/schemas/schema_Comment' - - type: object - properties: - data: - type: object - properties: - reactor: - $ref: '#/components/schemas/Reactor' - CommentWithFlag: - allOf: - - $ref: '#/components/schemas/schema_Comment' - - type: object - properties: - data: - type: object - properties: - flaggedUserId: - type: string - description: ID of the User has been flagged - CommunityForRealtime: - 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. - 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 - required: - - communityId - - channelId - - displayName - CommunityBase: - type: object - properties: - communities: - type: array - items: - $ref: '#/components/schemas/CommunityForRealtime' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - files: - type: array - items: - $ref: '#/components/schemas/File' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - feeds: - type: array - items: - $ref: '#/components/schemas/Feed' - schema_Community: - allOf: - - type: object - properties: - id: - type: string - description: The community ID. - data: - $ref: '#/components/schemas/CommunityBase' - - $ref: '#/components/schemas/Wrapper' - FollowBase: - type: object - properties: - follows: - type: array - items: - $ref: '#/components/schemas/Follow' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - schema_Follow: - allOf: - - type: object - properties: - id: - type: string - data: - $ref: '#/components/schemas/FollowBase' - - $ref: '#/components/schemas/Wrapper' - MessageV5ForRealtimeEvent: - type: object - properties: - messageId: - $ref: '#/components/schemas/MessageV5_messageId' - networkId: - $ref: '#/components/schemas/MessageV5_networkId' - channelId: - $ref: '#/components/schemas/MessageV5_channelId' - channelType: - $ref: '#/components/schemas/MessageV5_channelType' - messageFeedId: - $ref: '#/components/schemas/MessageV5_messageFeedId' - segment: - $ref: '#/components/schemas/MessageV5_segment' - dataType: - $ref: '#/components/schemas/MessageV5_dataType' - data: - $ref: '#/components/schemas/MessageV5_data' - fileId: - $ref: '#/components/schemas/MessageV5_fileId' - thumbnailFileId: - $ref: '#/components/schemas/MessageV5_thumbnailFileId' - metadata: - $ref: '#/components/schemas/MessageV5_metadata' - tags: - $ref: '#/components/schemas/Generic_tags' - creatorId: - $ref: '#/components/schemas/MessageV5_creatorId' - mentionedUsers: - $ref: '#/components/schemas/MessageV5_mentionedUsers' - reactions: - $ref: '#/components/schemas/MessageV5_reactions' - reactionCount: - $ref: '#/components/schemas/MessageV5_reactionCount' - parentId: - $ref: '#/components/schemas/MessageV5_parentId' - path: - $ref: '#/components/schemas/MessageV5_path' - flagCount: - $ref: '#/components/schemas/MessageV5_flagCount' - childCount: - $ref: '#/components/schemas/MessageV5_childCount' - isDeleted: - $ref: '#/components/schemas/Generic_isDeleted' - editedAt: - $ref: '#/components/schemas/MessageV5_editedAt' - createdAt: - $ref: '#/components/schemas/MessageV5_createdAt' - updatedAt: - $ref: '#/components/schemas/MessageV5_updatedAt' - MessageFeedBase: - type: object - properties: - messageFeeds: - description: the list of message feed - type: array - items: - $ref: '#/components/schemas/MessageFeed' - messages: - description: The list of message - type: array - items: - $ref: '#/components/schemas/MessageV5ForRealtimeEvent' - files: - description: The list of file - type: array - items: - $ref: '#/components/schemas/File' - users: - description: The list of user - type: array - items: - $ref: '#/components/schemas/User' - schema_MessageFeed: - allOf: - - type: object - properties: - id: - type: string - description: The message feed ID. - data: - $ref: '#/components/schemas/MessageFeedBase' - - $ref: '#/components/schemas/Wrapper' - MessageBase: - type: object - properties: - messages: - description: The list of message - type: array - items: - $ref: '#/components/schemas/MessageV5ForRealtimeEvent' - files: - description: The list of file - type: array - items: - $ref: '#/components/schemas/File' - users: - description: The list of user - type: array - items: - $ref: '#/components/schemas/User' - MessageWithReactionBase: - allOf: - - $ref: '#/components/schemas/MessageBase' - - type: object - properties: - reactions: - description: The reaction added/removed to the message - type: array - items: - $ref: '#/components/schemas/Reactor' - MessageWithReaction: - allOf: - - type: object - properties: - id: - type: string - description: The message ID. - data: - $ref: '#/components/schemas/MessageWithReactionBase' - - $ref: '#/components/schemas/Wrapper' - MessageV5CreatedForRealtimeEvent: - type: object - properties: - messageId: - $ref: '#/components/schemas/MessageV5_messageId' - networkId: - $ref: '#/components/schemas/MessageV5_networkId' - channelId: - $ref: '#/components/schemas/MessageV5_channelId' - channelType: - $ref: '#/components/schemas/MessageV5_channelType' - messageFeedId: - $ref: '#/components/schemas/MessageV5_messageFeedId' - segment: - $ref: '#/components/schemas/MessageV5_segment' - dataType: - $ref: '#/components/schemas/MessageV5_dataType' - data: - $ref: '#/components/schemas/MessageV5_data' - fileId: - $ref: '#/components/schemas/MessageV5_fileId' - thumbnailFileId: - $ref: '#/components/schemas/MessageV5_thumbnailFileId' - metadata: - $ref: '#/components/schemas/MessageV5_metadata' - tags: - $ref: '#/components/schemas/Generic_tags' - creatorId: - $ref: '#/components/schemas/MessageV5_creatorId' - mentionedUsers: - $ref: '#/components/schemas/MessageV5_mentionedUsers' - reactions: - $ref: '#/components/schemas/MessageV5_reactions' - reactionCount: - $ref: '#/components/schemas/MessageV5_reactionCount' - parentId: - $ref: '#/components/schemas/MessageV5_parentId' - path: - $ref: '#/components/schemas/MessageV5_path' - flagCount: - $ref: '#/components/schemas/MessageV5_flagCount' - childCount: - $ref: '#/components/schemas/MessageV5_childCount' - isDeleted: - $ref: '#/components/schemas/Generic_isDeleted' - editedAt: - $ref: '#/components/schemas/MessageV5_editedAt' - createdAt: - $ref: '#/components/schemas/MessageV5_createdAt' - updatedAt: - $ref: '#/components/schemas/MessageV5_updatedAt' - referenceId: - $ref: '#/components/schemas/MessageV5_referenceId' - MessageCreatedBase: - type: object - properties: - messages: - description: The list of message - type: array - items: - $ref: '#/components/schemas/MessageV5CreatedForRealtimeEvent' - files: - description: The list of file - type: array - items: - $ref: '#/components/schemas/File' - users: - description: The list of user - type: array - items: - $ref: '#/components/schemas/User' - MessageCreated: - allOf: - - type: object - properties: - id: - type: string - description: The message ID. - data: - $ref: '#/components/schemas/MessageCreatedBase' - - $ref: '#/components/schemas/Wrapper' - schema_Message: - allOf: - - type: object - properties: - id: - type: string - description: The message ID. - data: - $ref: '#/components/schemas/MessageBase' - - $ref: '#/components/schemas/Wrapper' - PostForRealtime: - 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: - 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: video streaming id (for video streaming post) - 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 - 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. - 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 - 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 - required: - - postId - - data - PostBase: - type: object - properties: - posts: - type: array - items: - $ref: '#/components/schemas/PostForRealtime' - postChildren: - type: array - items: - $ref: '#/components/schemas/PostForRealtime' - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - communities: - type: array - items: - $ref: '#/components/schemas/Community' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - feeds: - type: array - items: - $ref: '#/components/schemas/Feed' - videoStreamings: - type: array - items: - $ref: '#/components/schemas/VideoStreaming' - polls: - type: array - items: - $ref: '#/components/schemas/Poll' - schema_Post: - allOf: - - type: object - properties: - id: - type: string - description: The post ID. - data: - $ref: '#/components/schemas/PostBase' - - $ref: '#/components/schemas/Wrapper' - PostWithReactor: - allOf: - - $ref: '#/components/schemas/schema_Post' - - type: object - properties: - data: - type: object - properties: - reactor: - $ref: '#/components/schemas/Reactor' - PostWithFlag: - allOf: - - $ref: '#/components/schemas/schema_Post' - - type: object - properties: - data: - type: object - properties: - flaggedUserId: - type: string - description: ID of the User has been flagged - StoryBase: - type: object - properties: - stories: - type: array - items: - $ref: '#/components/schemas/Story' - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - files: - type: array - items: - $ref: '#/components/schemas/File' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - communities: - type: array - items: - $ref: '#/components/schemas/Community' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - schema_Story: - allOf: - - type: object - properties: - id: - type: string - description: The story ID. - data: - $ref: '#/components/schemas/StoryBase' - - $ref: '#/components/schemas/Wrapper' - StoryWithReactor: - allOf: - - $ref: '#/components/schemas/schema_Story' - - type: object - properties: - data: - type: object - properties: - reactor: - $ref: '#/components/schemas/Reactor' - UserBase: - type: object - properties: - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - schema_User: - allOf: - - type: object - properties: - id: - type: string - description: The user ID. - data: - $ref: '#/components/schemas/UserBase' - - $ref: '#/components/schemas/Wrapper' - responses: - me-response-payload-200: - description: All ads information and ads settings - content: - application/json: - schema: - description: Query ads response payload - type: object - properties: - ads: - type: array - items: - $ref: '#/components/schemas/Ads' - advertisers: - type: array - items: - $ref: '#/components/schemas/Advertiser' - files: - type: array - items: - $ref: '#/components/schemas/File' - settings: - $ref: '#/components/schemas/AdNetworkSetting' - channels-response-payload-200: - description: List of archived channels - content: - application/json: - schema: - description: Archive Channel Information - content: - application/json: - schema: - type: object - properties: - archives: - type: array - items: - $ref: '#/ArchiveChannelResponsePayload' - channels_channelId-post-response-payload-200: - description: List of archived channels - content: - application/json: - schema: - description: Archive Channel Information - type: object - properties: - channelId: - type: string - description: Channel ID - archivedAt: - type: string - description: Date of the archive - format: date-time - example: '2022-07-07T04:24:20.444Z' - BadRequestError: - description: Bad Request error. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400000 - message: Bad Request. - NotFoundError: - description: Resource Not Found error. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400400 - message: Resource Not Found. - UnProcessableError: - description: Unprocessable Content. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 500000 - message: Parameters validation error!. - UnexpectedError: - description: Unexpected error. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 500000 - message: Unexpected error - views-posts_postId-users-response-payload-200: - description: List of users who have viewed this posts - content: - application/json: - schema: - type: object - properties: - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - paging: - type: object - properties: - next: - type: string - example: eyJhZnRlciI6eyJfaWQiOnsicG9zdElkIjoiNjUxNjZlZTNlOTVlZTQ4YjkzZWVkMjQ1IiwidXNlcklkIjoiNjUxNjZlZTRlOTVlZTQzZjgzZWVkMjViIn0sIm5ldHdvcmtJZCI6IjYwNmYzN2EzYWU2MDFlZjM3NGViYWEwMSIsInJlYWNoZWRBdCI6IjIwMjMtMDktMjlUMDY6Mjk6NTQuOTQ4WiJ9fQ== - previous: - type: string - example: eyJhZnRlciI6eyJfaWQiOnsicG9zdElkIjoiNjUxNjZlZTNlOTVlZTQ4YjkzZWVkMjQ1IiwidXNlcklkIjoiNjUxNjZlZTRlOTVlZTQzZjgzZWVkMjViIn0sIm5ldHdvcmtJZCI6IjYwNmYzN2EzYWU2MDFlZjM3NGViYWEwMSIsInJlYWNoZWRBdCI6IjIwMjMtMDktMjlUMDY6Mjk6NTQuOTQ4WiJ9fQ== - ForbiddenError: - description: No permission to access this resource. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400300 - message: Forbidden error. - views-stories_storyId-users-response-payload-200: - description: List of users who have viewed this story - content: - application/json: - schema: - type: object - properties: - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - paging: - type: object - properties: - next: - type: string - example: eyJhZnRlciI6eyJfaWQiOnsicG9zdElkIjoiNjUxNjZlZTNlOTVlZTQ4YjkzZWVkMjQ1IiwidXNlcklkIjoiNjUxNjZlZTRlOTVlZTQzZjgzZWVkMjViIn0sIm5ldHdvcmtJZCI6IjYwNmYzN2EzYWU2MDFlZjM3NGViYWEwMSIsInJlYWNoZWRBdCI6IjIwMjMtMDktMjlUMDY6Mjk6NTQuOTQ4WiJ9fQ== - previous: - type: string - example: eyJhZnRlciI6eyJfaWQiOnsicG9zdElkIjoiNjUxNjZlZTNlOTVlZTQ4YjkzZWVkMjQ1IiwidXNlcklkIjoiNjUxNjZlZTRlOTVlZTQzZjgzZWVkMjViIn0sIm5ldHdvcmtJZCI6IjYwNmYzN2EzYWU2MDFlZjM3NGViYWEwMSIsInJlYWNoZWRBdCI6IjIwMjMtMDktMjlUMDY6Mjk6NTQuOTQ4WiJ9fQ== - token-get-response-payload-200: - description: Return authentication token string - content: - application/json: - schema: - type: string - example: s9qne0wEqVb2e05271177748659f574a4e8ab85e08 - ValidationError: - description: Put a wrong request parameters. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 500000 - message: Parameters error. - data: - detail: - - The 'data.text' field length must be less than or equal to 20000 characters long. - token-post-response-200: - description: Response payload - content: - text/plain: - schema: - type: string - example: s9qne0wEqVb2e05271177748659f574a4e8ab85e08 - description: Use this token when create sessions - token-post-response-401: - description: Unauthorized. Server key is invalid. - content: - text/plain: - schema: - type: string - example: Unauthorized - description: Server key is invalid - token-post-response-403: - description: Forbidden. Possibly that secure mode is disabled - content: - application/json: - schema: - type: object - properties: - status: - type: string - message: - type: string - code: - type: number - data: - type: object - description: error detail - token-post-response-422: - description: Parameters validation error - content: - application/json: - schema: - type: object - properties: - status: - type: string - message: - type: string - code: - type: number - data: - type: object - description: error detail - PermissionDeniedError: - description: Permission denied. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400301 - message: User is not a member of a channel - RateLimitError: - 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: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400311 - message: RateLimit Exceed. - mute-response-payload-200: - description: Mute/unmute information - content: - application/json: - schema: - type: object - properties: - success: - type: boolean - example: - success: true - search-channels-response-payload-200: - description: Search channel response - content: - application/json: - schema: - properties: - status: - type: string - data: - type: object - properties: - channels: - type: array - items: - $ref: '#/components/schemas/ChannelV3' - channelUsers: - type: array - items: - $ref: '#/components/schemas/ChannelUserV3' - messageFeedsInfo: - type: array - description: Depends on messagePreviews. if empty array will be empty array. - items: - $ref: '#/components/schemas/messageFeedsInfo' - messagePreviews: - type: array - description: Depends on messagePreviewId. if null will be empty array. - items: - $ref: '#/components/schemas/MessagePreviews' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - totalCount: - type: number - paging: - type: object - properties: - next: - type: string - prev: - type: string - search: - type: object - properties: - query: - type: string - description: The search query. - limit: - type: integer - description: Limit on the number of results. - sortBy: - type: string - description: Sorting criteria (e.g., "relevance"). - orderBy: - type: string - description: Sorting order (e.g., "desc"). - ParameterValidationError: - description: Parameters validation error. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 500000 - message: Parameters validation error - root-get-response-payload-200: - description: Channels Information - content: - application/json: - schema: - properties: - channels: - type: array - items: - $ref: '#/components/schemas/ChannelV3' - channelUsers: - type: array - items: - $ref: '#/components/schemas/ChannelUserV3' - messagePreviews: - type: array - description: Depends on messagePreviewId. if null will be empty array. - items: - $ref: '#/components/schemas/MessagePreviews' - messageFeedsInfo: - type: array - description: Depends on messagePreviews. if empty array will be empty array. - items: - $ref: '#/components/schemas/messageFeedsInfo' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - paging: - type: object - properties: - next: - type: string - prev: - type: string - common-channels-response-200: - description: Channels Information - content: - application/json: - schema: - properties: - channels: - type: array - items: - $ref: '#/components/schemas/ChannelV3' - channelUsers: - description: List of users in channel with membership and role. Normally, it will return only caller as user. However, it will return all users in conversation channel. For ban/unban events, it will return banned users. - type: array - items: - $ref: '#/components/schemas/ChannelUserV3' - messagePreviews: - type: array - description: Depends on messagePreviewId. if null will be empty array. - items: - $ref: '#/components/schemas/MessagePreviews' - messageFeedsInfo: - type: array - description: Depends on messagePreviews. if empty array will be empty array. - items: - $ref: '#/components/schemas/messageFeedsInfo' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - _channelId-delete-response-payload-200: - description: OK - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - type: object - properties: - success: - type: boolean - _channelId-users-response-200: - description: Channels Information - content: - application/json: - schema: - properties: - channels: - type: array - items: - $ref: '#/components/schemas/ChannelV3' - channelUsers: - type: array - items: - $ref: '#/components/schemas/ChannelUserV3' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - paging: - type: object - properties: - next: - type: string - prev: - type: string - root-get-response-200: - description: Comment Information - content: - application/json: - schema: - type: object - properties: - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - commentChildren: - type: array - items: - $ref: '#/components/schemas/Comment' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - roles: - type: array - items: - $ref: '#/components/schemas/RoleV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - paging: - type: object - properties: - next: - type: string - previous: - type: string - common-post-response-200: - description: Comment Information - content: - application/json: - schema: - type: object - properties: - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - commentChildren: - type: array - items: - $ref: '#/components/schemas/Comment' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - roles: - type: array - items: - $ref: '#/components/schemas/RoleV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - NumberOfFlagExceedError: - description: Error when too many user is already flagged message. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400300 - message: Number of flag already exceed. - IsSocialFlagByMeResponse: - description: Is flag by me response. - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - type: object - properties: - result: - type: boolean - comment-delete-response-200: - description: OK - content: - application/json: - schema: - type: object - properties: - success: - type: boolean - common-get-response-200: - description: Community Users Information - content: - application/json: - schema: - type: object - properties: - communities: - type: array - items: - $ref: '#/components/schemas/Community' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - files: - type: array - items: - $ref: '#/components/schemas/File' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - feeds: - type: array - items: - $ref: '#/components/schemas/Feed' - paging: - type: object - properties: - next: - type: string - previous: - type: string - common-response-200: - description: Communities Information - content: - application/json: - schema: - type: object - properties: - communities: - type: array - items: - $ref: '#/components/schemas/Community' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - files: - type: array - items: - $ref: '#/components/schemas/File' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - roles: - type: array - items: - $ref: '#/components/schemas/RoleV3' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - feeds: - type: array - items: - $ref: '#/components/schemas/Feed' - DeleteApiResponse: - description: delete information - content: - application/json: - schema: - type: object - properties: - success: - type: boolean - example: - success: true - UserIsBannedError: - description: User is banned from a channel / community. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400304 - message: User is banned from a channel / community. - UnAuthorizedError: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400100 - message: Unauthorized - _communityId-permissions-me-get-response-200: - description: Communities permission information for this user - content: - application/json: - schema: - type: object - properties: - isCreator: - type: boolean - example: false - description: Is this person create this community? - permissions: - type: array - items: - $ref: '#/components/schemas/PermissionEnum' - response_common-response-200: - description: Communities Information - content: - application/json: - schema: - type: object - properties: - communities: - type: array - items: - $ref: '#/components/schemas/Community' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - files: - type: array - items: - $ref: '#/components/schemas/File' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - feeds: - type: array - items: - $ref: '#/components/schemas/Feed' - response_common-response-200-2: - description: Community Categories Information - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - type: object - properties: - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - files: - type: array - items: - $ref: '#/components/schemas/File' - response_root-get-response-200: - description: Following feed Information - content: - application/json: - schema: - description: null - type: object - properties: - posts: - type: array - items: - $ref: '#/components/schemas/Post' - postChildren: - type: array - items: - $ref: '#/components/schemas/Post' - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - communities: - type: array - items: - $ref: '#/components/schemas/Community' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - paging: - type: object - properties: - next: - type: string - previous: - type: string - response_root-get-response-200-2: - description: Content Feed Information - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - type: object - properties: - posts: - type: array - items: - $ref: '#/components/schemas/Post' - postChildren: - type: array - items: - $ref: '#/components/schemas/Post' - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - communities: - type: array - items: - $ref: '#/components/schemas/Community' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - feeds: - type: array - items: - $ref: '#/components/schemas/Feed' - videoStreamings: - type: array - items: - $ref: '#/components/schemas/VideoStreaming' - polls: - type: array - items: - $ref: '#/components/schemas/Poll' - paging: - type: object - properties: - next: - type: string - previous: - type: string - _communityId-get-response-200: - description: CommunityFeed Information - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - type: object - properties: - posts: - type: array - items: - $ref: '#/components/schemas/Post' - postChildren: - type: array - items: - $ref: '#/components/schemas/Post' - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - communities: - type: array - items: - $ref: '#/components/schemas/Community' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - feeds: - type: array - items: - $ref: '#/components/schemas/Feed' - videoStreamings: - type: array - items: - $ref: '#/components/schemas/VideoStreaming' - polls: - type: array - items: - $ref: '#/components/schemas/Poll' - paging: - type: object - properties: - next: - type: string - previous: - type: string - response_root-get-response-200-3: - description: Global Feed Information - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - type: object - properties: - posts: - type: array - items: - $ref: '#/components/schemas/Post' - postChildren: - type: array - items: - $ref: '#/components/schemas/Post' - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - communities: - type: array - items: - $ref: '#/components/schemas/Community' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - paging: - type: object - properties: - next: - type: string - previous: - type: string - _userId-get-response-200: - description: UserFeed Information - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - type: object - properties: - posts: - type: array - items: - $ref: '#/components/schemas/Post' - postChildren: - type: array - items: - $ref: '#/components/schemas/Post' - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - _userId-count-get-response-200: - description: Number of post information - content: - application/json: - schema: - type: object - properties: - postsCount: - type: number - root-response-200: - description: Global Feed Information - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - type: object - properties: - posts: - type: array - items: - $ref: '#/components/schemas/Post' - postChildren: - type: array - items: - $ref: '#/components/schemas/Post' - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - communities: - type: array - items: - $ref: '#/components/schemas/Community' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - paging: - type: object - properties: - next: - type: string - previous: - type: string - root-post-response-200: - description: File Upload Result - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - type: array - items: - type: object - properties: - fileId: - type: string - description: Root file key on cloud storage. - type: - type: enum - description: File type. - enum: - - image - - file - accessType: - type: string - description: File access type. `network` type requires authentication to download. - enum: - - public - - network - default: public - 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 - PayloadTooLargeError: - description: Attached file payload too large. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 500000 - message: Payload too large. - _fileId-get-response-200: - description: File Information - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - type: object - properties: - fileId: - type: string - description: Root file key on cloud storage. - type: - type: enum - description: File type. - enum: - - image - - file - 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 - _fileId-delete-response-200: - description: File Information - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - type: object - properties: - fileId: - type: string - description: Removed file id. - GenericPermissionDeniedError: - description: Permission denied. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400301 - message: Permission denied - images-response-200: - description: Image Upload Result - content: - application/json: - schema: - type: array - items: - type: object - properties: - fileId: - type: string - description: Root file key on cloud storage. - fileUrl: - type: string - description: url to download the file - type: - type: enum - description: File type. - enum: - - image - - file - - video - example: image - accessType: - type: string - description: File access type. `network` type requires authentication to download. - enum: - - public - - network - default: public - 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. - example: test.jpeg - extension: - type: string - description: File format. - example: jpeg - size: - type: number - description: File size. - example: 2107842 - mimeType: - type: string - description: File mime-type. - example: image/jpeg - metadata: - type: object - description: Image metadata (width, height etc.). - properties: - height: - type: number - width: - type: number - isFull: - type: boolean - files-response-200: - description: File Upload Result - content: - application/json: - schema: - type: array - items: - type: object - properties: - fileId: - type: string - description: Root file key on cloud storage. - fileUrl: - type: string - description: url to download the file - type: - type: enum - description: File type. - enum: - - image - - file - - video - example: file - accessType: - type: string - description: File access type. `network` type requires authentication to download. - enum: - - public - - network - default: public - 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. - example: test.pdf - extension: - type: string - description: File format. - example: pdf - size: - type: number - description: File size. - example: 2107842 - mimeType: - type: string - description: File mime-type. - example: application/pdf - metadata: - type: object - description: File metadata. - videos-response-200: - description: File Video Upload Result - content: - application/json: - schema: - type: array - items: - type: object - properties: - fileId: - type: string - description: Root file key on cloud storage. - fileUrl: - type: string - description: url to download the file - type: - type: enum - description: File type. - enum: - - image - - file - - video - example: video - accessType: - type: string - description: File access type. `network` type requires authentication to download. - enum: - - public - - network - default: public - 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. - example: big_buck_bunny_720p_2mb.mp4 - extension: - type: string - description: File format. - example: mp4 - size: - type: number - description: File size. - example: 2107842 - mimeType: - type: string - description: File mime-type. - example: video/mp4 - metadata: - type: object - description: Video metadata (width, height etc.). - follow-response-200: - description: Follow Response Object - content: - application/json: - schema: - type: object - properties: - follows: - type: array - items: - $ref: '#/components/schemas/Follow' - follow-pagination-response-200: - description: Follows List - content: - application/json: - schema: - type: object - properties: - follows: - type: array - items: - $ref: '#/components/schemas/Follow' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - paging: - type: object - properties: - next: - type: string - prev: - type: string - FollowCountResponse: - description: Follow Count - content: - application/json: - schema: - type: object - properties: - followCounts: - type: array - items: - $ref: '#/components/schemas/FollowCount' - FollowInformationResponse: - description: Follow Information - content: - application/json: - schema: - type: object - required: - - followCounts - properties: - follows: - type: array - items: - $ref: '#/components/schemas/Follow' - followCounts: - type: array - items: - $ref: '#/components/schemas/FollowCount' - _userId-followInfo-get-response-200: - description: Follow Information - content: - application/json: - schema: - type: object - required: - - followCounts - properties: - follows: - type: array - items: - $ref: '#/components/schemas/FollowV5' - followCounts: - type: array - items: - $ref: '#/components/schemas/FollowCount' - response_common-response-200-3: - description: Pin Post Information - content: - application/json: - schema: - type: object - properties: - pinTargets: - type: array - items: - $ref: '#/components/schemas/PinTarget' - pins: - type: array - items: - $ref: '#/components/schemas/Pin' - posts: - type: array - items: - $ref: '#/components/schemas/Post' - postChildren: - type: array - items: - $ref: '#/components/schemas/Post' - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - communities: - type: array - items: - $ref: '#/components/schemas/Community' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - feeds: - type: array - items: - $ref: '#/components/schemas/Feed' - videoStreamings: - type: array - items: - $ref: '#/components/schemas/VideoStreaming' - polls: - type: array - items: - $ref: '#/components/schemas/Poll' - common-response-400: - description: badRequest Error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - This post is already pinned.: - value: - status: error - code: 400000 - message: Post ${postId} is already pinned - This post is not in community: - value: - status: error - code: 400000 - message: Post ${postId} is not in community - This post is not in public community: - value: - status: error - code: 400000 - message: Post ${postId} is not in public community - This post is not approved: - value: - status: error - code: 400000 - message: Post ${postId} has to be approved - This post is deleted: - value: - status: error - code: 400000 - message: Post ${postId} is deleted - 'Unable to pin child post ': - value: - status: error - code: 400000 - message: Unable to pin child post - Pin post exceed the limit: - value: - status: error - code: 400000 - message: 'Pin post by placement: ${placement} exceed the limit' - channels-get-response-payload-200: - description: Get marker channel - content: - application/json: - schema: - properties: - userMarkers: - type: array - items: - $ref: '#/components/schemas/UserMarkers' - userEntityMarkers: - type: array - items: - $ref: '#/components/schemas/UserEntityMarkers' - channels_channelId-mark-read-put-response-payload-200: - description: Mark all message in channel - content: - application/json: - schema: - properties: - userMarkers: - type: array - items: - $ref: '#/components/schemas/UserMarkers' - userFeedMarkers: - type: array - items: - $ref: '#/components/schemas/UserFeedMarkers' - userEntityMarkers: - type: array - items: - $ref: '#/components/schemas/UserEntityMarkers' - feedMarkers: - type: array - items: - $ref: '#/components/schemas/FeedMarkers' - message-feeds-get-response-payload-200: - description: Get marker message feed - content: - application/json: - schema: - properties: - userMarkers: - type: array - items: - $ref: '#/components/schemas/UserMarkers' - userFeedMarkers: - type: array - items: - $ref: '#/components/schemas/UserFeedMarkers' - userEntityMarkers: - type: array - items: - $ref: '#/components/schemas/UserEntityMarkers' - feedMarkers: - type: array - items: - $ref: '#/components/schemas/FeedMarkers' - message-feeds_messageFeedId-mark-delivering-put-response-payload-200: - description: Mark delivering - content: - application/json: - schema: - properties: - userMarkers: - type: array - items: - $ref: '#/components/schemas/UserMarkers' - userFeedMarkers: - type: array - items: - $ref: '#/components/schemas/UserFeedMarkers' - userEntityMarkers: - type: array - items: - $ref: '#/components/schemas/UserEntityMarkers' - feedMarkers: - type: array - items: - $ref: '#/components/schemas/FeedMarkers' - message-feeds_messageFeedId-mark-read-put-response-payload-200: - description: Mark read - content: - application/json: - schema: - properties: - userMarkers: - type: array - items: - $ref: '#/components/schemas/UserMarkers' - userFeedMarkers: - type: array - items: - $ref: '#/components/schemas/UserFeedMarkers' - userEntityMarkers: - type: array - items: - $ref: '#/components/schemas/UserEntityMarkers' - feedMarkers: - type: array - items: - $ref: '#/components/schemas/FeedMarkers' - message-feeds_messageFeedId-start-reading-post-response-payload-200: - description: Start reading - content: - application/json: - schema: - properties: - userMarkers: - type: array - items: - $ref: '#/components/schemas/UserMarkers' - userFeedMarkers: - type: array - items: - $ref: '#/components/schemas/UserFeedMarkers' - userEntityMarkers: - type: array - items: - $ref: '#/components/schemas/UserEntityMarkers' - feedMarkers: - type: array - items: - $ref: '#/components/schemas/FeedMarkers' - message-feeds_messageFeedId-stop-readings-post-response-payload-200: - description: Stop reading - content: - application/json: - schema: - properties: - userMarkers: - type: array - items: - $ref: '#/components/schemas/UserMarkers' - userFeedMarkers: - type: array - items: - $ref: '#/components/schemas/UserFeedMarkers' - userEntityMarkers: - type: array - items: - $ref: '#/components/schemas/UserEntityMarkers' - feedMarkers: - type: array - items: - $ref: '#/components/schemas/FeedMarkers' - message-feeds-reading-post-response-payload-200: - description: Message feed reading - content: - application/json: - schema: - properties: - userMarkers: - type: array - items: - $ref: '#/components/schemas/UserMarkers' - userFeedMarkers: - type: array - items: - $ref: '#/components/schemas/UserFeedMarkers' - userEntityMarkers: - type: array - items: - $ref: '#/components/schemas/UserEntityMarkers' - feedMarkers: - type: array - items: - $ref: '#/components/schemas/FeedMarkers' - messages-get-response-payload-200: - description: Get marker message - content: - application/json: - schema: - properties: - contentMarkers: - type: array - items: - $ref: '#/components/schemas/ContentMarkers' - userMarkers: - type: array - items: - $ref: '#/components/schemas/UserMarkers' - userFeedMarkers: - type: array - items: - $ref: '#/components/schemas/UserFeedMarkers' - userEntityMarkers: - type: array - items: - $ref: '#/components/schemas/UserEntityMarkers' - feedMarkers: - type: array - items: - $ref: '#/components/schemas/FeedMarkers' - messages_messageId-delivered-users-get-response-payload-200: - description: Get delivered users - content: - application/json: - schema: - properties: - publicUserIds: - type: array - items: - type: string - description: list of public user id - userMarkers: - type: array - items: - $ref: '#/components/schemas/UserMarkers' - userFeedMarkers: - type: array - items: - $ref: '#/components/schemas/UserFeedMarkers' - userEntityMarkers: - type: array - items: - $ref: '#/components/schemas/UserEntityMarkers' - feedMarkers: - type: array - items: - $ref: '#/components/schemas/FeedMarkers' - messages_messageId-read-users-get-response-payload-200: - description: Get Read users - content: - application/json: - schema: - properties: - publicUserIds: - type: array - items: - type: string - description: list of public user id - userMarkers: - type: array - items: - $ref: '#/components/schemas/UserMarkers' - userFeedMarkers: - type: array - items: - $ref: '#/components/schemas/UserFeedMarkers' - userEntityMarkers: - type: array - items: - $ref: '#/components/schemas/UserEntityMarkers' - feedMarkers: - type: array - items: - $ref: '#/components/schemas/FeedMarkers' - sync-post-response-payload-200: - description: Sync for update unread count - content: - application/json: - schema: - properties: - userMarkers: - type: array - items: - $ref: '#/components/schemas/UserMarkers' - userFeedMarkers: - type: array - items: - $ref: '#/components/schemas/UserFeedMarkers' - userEntityMarkers: - type: array - items: - $ref: '#/components/schemas/UserEntityMarkers' - feedMarkers: - type: array - items: - $ref: '#/components/schemas/FeedMarkers' - user-message-feed-get-response-payload-200: - description: Get marker user message feed - content: - application/json: - schema: - properties: - userFeedMarkers: - type: array - items: - $ref: '#/components/schemas/UserFeedMarkers' - feedMarkers: - type: array - items: - $ref: '#/components/schemas/FeedMarkers' - userMarker-get-response-payload-200: - description: Get marker user - content: - application/json: - schema: - properties: - userMarkers: - type: array - items: - $ref: '#/components/schemas/UserMarkers' - blacklist-records-get-response-payload-200: - description: rules of blacklist Information - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - type: object - properties: - results: - type: array - items: - $ref: '#/components/schemas/BlacklistRule' - NotFoundError404: - description: Resource Not Found error. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 404 - message: Resource Not Found. - UnexpectedError500: - description: Unexpected error. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 500 - message: Unexpected error - blacklist-records_ruleId-put-response-payload-200: - description: rule of blacklist Information - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - $ref: '#/components/schemas/BlacklistRule' - settings-get-response-payload-200: - description: Moderation Setting Information - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - $ref: '#/components/schemas/ModerationSetting' - BadRequestError400: - description: Bad Request error. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400 - message: Bad Request. - whitelist-records-get-response-payload-200: - description: rules of whitelist Information - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - type: object - properties: - results: - type: array - items: - $ref: '#/components/schemas/WhitelistRule' - whitelist-records_ruleId-put-response-payload-200: - description: rule of whitelist Information - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - $ref: '#/components/schemas/WhitelistRule' - allowlists-get-response-200: - description: Criteria info - content: - application/json: - schema: - type: object - properties: - results: - type: array - items: - type: object - properties: - ruleId: - type: string - regex: - type: string - isDeleted: - type: boolean - isEnabled: - type: boolean - createdAt: - type: string - updatedAt: - type: string - paging: - type: object - properties: - next: - type: string - previous: - type: string - response_common-response-200-4: - description: OK - content: - application/json: - schema: - type: object - properties: - success: - type: boolean - blocklists-get-response-200: - description: Criteria info - content: - application/json: - schema: - type: object - properties: - results: - type: array - items: - type: object - properties: - ruleId: - type: string - regex: - type: string - isMatchExactWord: - type: boolean - description: word have to be equally match - isDeleted: - type: boolean - isEnabled: - type: boolean - createdAt: - type: string - updatedAt: - type: string - paging: - type: object - properties: - next: - type: string - previous: - type: string - message-feed-response-200: - description: Message feed payload - content: - application/json: - schema: - description: The returned payload of message feed(s) - type: object - properties: - messageFeeds: - description: List of message feeds - type: array - items: - $ref: '#/components/schemas/MessageFeed' - messages: - description: List of last messages in each message feed - type: array - items: - $ref: '#/components/schemas/MessageV5' - users: - description: List of related users - type: array - items: - $ref: '#/components/schemas/UserV3' - paginated-message-feed-response-200: - description: Paginated message feed payload - content: - application/json: - schema: - description: The returned payload of message feed(s) - type: object - properties: - messageFeeds: - description: List of message feeds - type: array - items: - $ref: '#/components/schemas/MessageFeed' - messages: - description: List of last messages in each message feed - type: array - items: - $ref: '#/components/schemas/MessageV5' - users: - description: List of related users - type: array - items: - $ref: '#/components/schemas/UserV3' - paging: - $ref: '#/components/schemas/Generic_paging' - response_root-get-response-200-4: - description: Messages Information - content: - application/json: - schema: - properties: - messages: - type: array - items: - $ref: '#/components/schemas/MessageV3' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - paging: - type: object - properties: - next: - type: string - prev: - type: string - response_common-response-200-5: - description: Messages Information - content: - application/json: - schema: - properties: - messages: - type: array - items: - $ref: '#/components/schemas/MessageV3' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - paginated-message-response-200: - description: Paginated message payload - content: - application/json: - schema: - description: The returned payload of message(s) - type: object - properties: - messages: - description: The list of message - type: array - items: - $ref: '#/components/schemas/MessageV5' - messageFeeds: - description: List of message feeds - type: array - items: - $ref: '#/components/schemas/MessageFeed' - files: - description: The list of file - type: array - items: - $ref: '#/components/schemas/File' - users: - description: The list of user - type: array - items: - $ref: '#/components/schemas/User' - roles: - type: array - items: - $ref: '#/components/schemas/RoleV3' - paging: - $ref: '#/components/schemas/Generic_paging' - create-message-response-200: - description: Create message payload - content: - application/json: - schema: - description: The returned payload of created message(s) - type: object - properties: - messages: - description: The list of created message - type: array - items: - allOf: - - type: object - properties: - referenceId: - $ref: '#/components/schemas/MessageV5_referenceId' - - $ref: '#/components/schemas/MessageV5' - messageFeeds: - description: List of message feeds - type: array - items: - $ref: '#/components/schemas/MessageFeed' - files: - description: The list of file - type: array - items: - $ref: '#/components/schemas/File' - users: - description: The list of user - type: array - items: - $ref: '#/components/schemas/User' - message-common-response-200: - description: Message payload - content: - application/json: - schema: - description: The returned payload of message(s) - type: object - properties: - messages: - description: The list of message - type: array - items: - $ref: '#/components/schemas/MessageV5' - messageFeeds: - description: List of message feeds - type: array - items: - $ref: '#/components/schemas/MessageFeed' - files: - description: The list of file - type: array - items: - $ref: '#/components/schemas/File' - users: - description: The list of user - type: array - items: - $ref: '#/components/schemas/User' - response_root-response-200: - description: network setting configuration - content: - application/json: - schema: - $ref: '#/components/schemas/NetworkSetting' - chat-response-200: - description: Chat configuration - content: - application/json: - schema: - $ref: '#/components/schemas/ChatNetworkSetting' - feed-setting-response-200: - description: Feed setting check configuration - content: - application/json: - schema: - description: The content - type: object - properties: - feedSettings: - type: array - items: - type: object - properties: - feedType: - type: string - contentSettings: - type: array - items: - type: object - properties: - contentType: - type: string - allowed: - type: boolean - maxDurationSeconds: - type: number - transcodeConfig: - type: object - properties: - maxResolution: - type: string - minResolution: - type: string - moderation-response-200: - description: Moderation configuration - content: - application/json: - schema: - $ref: '#/components/schemas/ModerationNetworkSetting' - prehook-get-response-200: - description: Prehook configuration - content: - application/json: - schema: - $ref: '#/components/schemas/PrehookSetting' - prehook-put-response-200: - description: Prehook configuration - content: - application/json: - schema: - $ref: '#/components/schemas/PrehookSettingWithSecretKey' - social-response-200: - description: Social configuration - content: - application/json: - schema: - $ref: '#/components/schemas/SocialNetworkSetting' - semantic-search-response-200: - description: Semantic Search configuration - content: - application/json: - schema: - $ref: '#/components/schemas/SemanticSearchNetworkSetting' - users-response-200: - description: Users configuration - content: - application/json: - schema: - $ref: '#/components/schemas/UsersNetworkSetting' - video-streaming-response-200: - description: Video Streaming setting check configuration - content: - application/json: - schema: - description: Response for video streaming setting - type: object - properties: - enabled: - type: boolean - description: This field is for enabling or disabling the video streaming feature. - moderation: - type: object - description: This field is for moderation configuration. - properties: - enabled: - type: boolean - description: This field is for enabling or disabling the moderation feature. - categories: - type: array - description: This field is for list of moderation categories. - items: - type: object - properties: - category: - type: string - description: This field is for moderation category names. - enum: - - pornography - - violence - - prohibited - - inappropriate - - profanity - flagThreshold: - type: number - description: This field is for flag threshold. - minimum: 0 - maximum: 1 - terminateThreshold: - type: number - description: This field is for terminate threshold. - minimum: 0 - maximum: 1 - webhook-response-200: - description: Webhook configuration - content: - application/json: - schema: - $ref: '#/components/schemas/WebhookNetworkSetting' - uikit-response-200: - description: UIKit configuration - content: - application/json: - schema: - description: UIKit config json - type: object - example: - config: - preferred_theme: default - theme: - light: - primary_color: '#1054DF' - secondary_color: '#292B32' - base_color: '#292B32' - base_shade1_color: '#636878' - base_shade2_color: '#898E9E' - base_shade3_color: '#A5A9b5' - base_shade4_color: '#EBECEF' - alert_color: '#FA4D30' - background_color: '#FFFFFF' - base_inverse_color: '#000000' - background_shade1_color: '#F6F7F8' - highlight_color: '#1054DE' - dark: - primary_color: '#1054DE' - secondary_color: '#292B32' - base_color: '#EBECEF' - base_shade1_color: '#A5A9B5' - base_shade2_color: '#6E7487' - base_shade3_color: '#40434E' - base_shade4_color: '#292B32' - alert_color: '#FA4D30' - background_color: '#191919' - base_inverse_color: '#FFFFFF' - background_shade1_color: '#40434E' - highlight_color: '#1054DE' - SuccessResponse: - description: Success response. - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - type: object - setting-response-200: - description: Notification Setting Information - content: - application/json: - schema: - $ref: '#/components/schemas/NotificationSetting' - SaveApiResponse: - description: save information - content: - application/json: - schema: - type: object - properties: - status: - type: string - example: - status: success - common-delete-response-200: - description: OK - content: - application/json: - schema: - type: object - properties: - success: - type: boolean - response_common-response-200-6: - description: Poll Information - content: - application/json: - schema: - type: object - properties: - polls: - type: array - items: - $ref: '#/components/schemas/Poll' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - roles: - type: array - items: - $ref: '#/components/schemas/RoleV3' - PollNotFoundError: - description: Poll Found error. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400400 - message: Poll not found. - PollForbiddenError: - description: No permission to access this resource. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400300 - message: Only creator can update poll. - poll-pagination-response-200: - description: Poll Information and users respondent. - content: - application/json: - schema: - type: object - properties: - polls: - type: array - items: - $ref: '#/components/schemas/Poll' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - UsersAnswered: - type: array - items: - $ref: '#/components/schemas/UsersAnswered' - paging: - type: object - properties: - next: - type: string - previous: - type: string - response_root-get-response-200-5: - description: Post Information - content: - application/json: - schema: - type: object - properties: - posts: - type: array - items: - $ref: '#/components/schemas/Post' - postChildren: - type: array - items: - $ref: '#/components/schemas/Post' - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - roles: - type: array - items: - $ref: '#/components/schemas/RoleV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - communities: - type: array - items: - $ref: '#/components/schemas/Community' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - feeds: - type: array - items: - $ref: '#/components/schemas/Feed' - videoStreamings: - type: array - items: - $ref: '#/components/schemas/VideoStreaming' - paging: - type: object - properties: - next: - type: string - previous: - type: string - response_common-response-200-7: - description: Post Information - content: - application/json: - schema: - type: object - properties: - posts: - type: array - items: - $ref: '#/components/schemas/Post' - postChildren: - type: array - items: - $ref: '#/components/schemas/Post' - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - communities: - type: array - items: - $ref: '#/components/schemas/Community' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - feeds: - type: array - items: - $ref: '#/components/schemas/Feed' - videoStreamings: - type: array - items: - $ref: '#/components/schemas/VideoStreaming' - polls: - type: array - items: - $ref: '#/components/schemas/Poll' - post-pagination-response-200: - description: Post Information - content: - application/json: - schema: - type: object - properties: - posts: - type: array - items: - $ref: '#/components/schemas/PostV4' - postChildren: - type: array - items: - $ref: '#/components/schemas/PostV4' - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - communities: - type: array - items: - $ref: '#/components/schemas/Community' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - feeds: - type: array - items: - $ref: '#/components/schemas/Feed' - videoStreamings: - type: array - items: - $ref: '#/components/schemas/VideoStreaming' - paging: - type: object - properties: - next: - type: string - previous: - type: string - post-response-200: - description: Post Information - content: - application/json: - schema: - type: object - properties: - posts: - type: array - items: - $ref: '#/components/schemas/PostV4' - postChildren: - type: array - items: - $ref: '#/components/schemas/PostV4' - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - roles: - type: array - items: - $ref: '#/components/schemas/RoleV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - communities: - type: array - items: - $ref: '#/components/schemas/Community' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - feeds: - type: array - items: - $ref: '#/components/schemas/Feed' - videoStreamings: - type: array - items: - $ref: '#/components/schemas/VideoStreaming' - polls: - type: array - items: - $ref: '#/components/schemas/Poll' - settings-response-payload-200: - description: Get presence feature setting response - content: - application/json: - schema: - description: Presence feature setting - type: object - properties: - user: - $ref: '#/components/schemas/PresenceUserSetting' - network: - $ref: '#/components/schemas/PresenceNetworkSettingWithoutEnabled' - settings-user-response-payload-200: - description: Update presence user setting response - content: - application/json: - schema: - $ref: '#/components/schemas/PresenceUserSetting' - users-list-response-payload-200: - description: Get user presence list response - content: - application/json: - schema: - description: List of user presence - type: object - properties: - presences: - type: array - items: - $ref: '#/components/schemas/Presence' - network-users-response-payload-200: - description: Get online users presence response - content: - application/json: - schema: - description: List of user presence - type: object - properties: - presences: - type: array - items: - $ref: '#/components/schemas/Presence' - network-users-count-response-payload-200: - description: Get online users count response - content: - application/json: - schema: - description: Online users count - type: object - properties: - count: - type: integer - referenceTimeStamp: - type: string - required: - - count - - referenceTimeStamp - heartbeat-response-payload-200: - description: Send heartbeat response - content: - application/json: - schema: - type: object - properties: - success: - type: boolean - required: - - success - messages-most-get-response-payload-200: - description: Message information. - content: - application/json: - schema: - type: array - items: - type: object - properties: - messageId: - type: string - reactionsCount: - type: integer - response_root-get-response-payload-200: - description: Reaction information. - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - type: object - properties: - reactions: - type: array - items: - $ref: '#/components/schemas/Reaction' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - root-post-response-payload-200: - description: Returns a reaction id is added - content: - application/json: - schema: - type: object - properties: - addedId: - type: string - root-delete-response-payload-200: - description: Returns a reaction id is removed - content: - application/json: - schema: - type: object - properties: - removedId: - type: string - response_root-get-response-200-6: - description: Reaction information. - content: - application/json: - schema: - type: object - properties: - reactions: - type: array - items: - $ref: '#/components/schemas/Reaction' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - roles: - type: array - items: - $ref: '#/components/schemas/RoleV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - paging: - type: object - properties: - next: - type: string - previous: - type: string - response_root-get-response-payload-200-2: - description: Roles information. - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - type: object - properties: - moderatonSettings: - type: array - items: - $ref: '#/components/schemas/ModerationSetting' - roles: - type: array - items: - $ref: '#/components/schemas/RoleV2' - RateLimitError429: - 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: - $ref: '#/components/schemas/Error' - example: - status: error - code: 429 - message: RateLimit Exceed. - response_common-response-200-8: - description: Role Information - content: - application/json: - schema: - type: object - properties: - status: - type: string - data: - type: array - items: - $ref: '#/components/schemas/RoleV3' - posts-response-payload-200: - description: Post Information - content: - application/json: - schema: - type: object - properties: - searchResults: - description: The list of message feed - type: array - items: - $ref: '#/components/schemas/SearchPostResults' - posts: - type: array - items: - $ref: '#/components/schemas/Post' - postChildren: - type: array - items: - $ref: '#/components/schemas/Post' - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - communities: - type: array - items: - $ref: '#/components/schemas/Community' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - feeds: - type: array - items: - $ref: '#/components/schemas/Feed' - videoStreamings: - type: array - items: - $ref: '#/components/schemas/VideoStreaming' - paging: - type: object - properties: - next: - type: string - previous: - type: string - communities-response-payload-200: - description: Community Information - content: - application/json: - schema: - type: object - properties: - searchResults: - description: Relevance of the search results - type: array - items: - $ref: '#/components/schemas/SearchCommunityResults' - communities: - type: array - items: - $ref: '#/components/schemas/Community' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - files: - type: array - items: - $ref: '#/components/schemas/File' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - feeds: - type: array - items: - $ref: '#/components/schemas/Feed' - paging: - type: object - properties: - next: - type: string - previous: - type: string - response_root-get-response-200-7: - description: Session Information - content: - application/json: - schema: - type: object - properties: - lastCachePurge: - type: string - description: Date of the last cache purge - response_root-post-response-200: - description: Session Information - content: - application/json: - schema: - type: object - properties: - accessToken: - type: string - refreshToken: - type: string - issuedAt: - type: string - expiresAt: - type: string - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - roles: - type: array - items: - $ref: '#/components/schemas/RoleV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - lastCachePurge: - type: string - description: Date of the last cache purge - UserIsSystemBanned: - description: User is banned from the system. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400100 - message: User is banned from the system. - UserIsGlobalBanned: - description: User is global banned. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400312 - message: User is global banned. - session-response-200: - description: Session Information - content: - application/json: - schema: - type: object - properties: - accessToken: - type: string - refreshToken: - type: string - issuedAt: - type: string - expiresAt: - type: string - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - roles: - type: array - items: - $ref: '#/components/schemas/RoleV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - lastCachePurge: - type: string - description: Date of the last cache purge - UserIdNotFoundError: - description: UserId Not Found error. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400400 - message: userId Not Found. - _userId-flags-delete-response-payload-200: - description: User - content: - application/json: - schema: - $ref: '#/components/schemas/User' - response_root-get-response-200-8: - description: User - content: - application/json: - schema: - type: object - properties: - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - roles: - type: array - items: - $ref: '#/components/schemas/RoleV3' - paging: - type: object - properties: - next: - type: string - response_common-response-200-9: - description: User - content: - application/json: - schema: - type: object - properties: - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - roles: - type: array - items: - $ref: '#/components/schemas/RoleV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - UserNotFoundError: - description: User Not Found error. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400400 - message: User Not Found. - _userId-delete-response-200: - description: return success:'true' when deletion is successful - content: - application/json: - schema: - type: object - properties: - success: - type: boolean - example: true - UserIsAlreadyDeletedError: - description: Bad Request error. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: error - code: 400000 - message: User is already deleted - me-flags_userId-post-response-200: - description: Flag user response - content: - application/json: - schema: - type: object - properties: - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - me-flags_userId-delete-response-200: - description: Unflag user response - content: - application/json: - schema: - type: object - properties: - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - me-user-blocks-get-response-200: - description: Get blockedU uer list response - content: - application/json: - schema: - type: object - properties: - follows: - type: array - items: - $ref: '#/components/schemas/FollowV5' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - paging: - type: object - properties: - next: - type: string - description: token for getting the next page of data - maxLength: 100 - previous: - type: string - description: token for getting the previous page of data - maxLength: 100 - total: - type: number - description: total number of blockers - me-user-blocks_userId-post-response-200: - description: Block user response - content: - application/json: - schema: - type: object - required: - - follows - - followCounts - properties: - follows: - type: array - items: - $ref: '#/components/schemas/FollowV5' - followCounts: - type: array - items: - $ref: '#/components/schemas/FollowCount' - me-user-blocks_userId-delete-response-200: - description: Unblock user response - content: - application/json: - schema: - type: object - required: - - follows - - followCounts - properties: - follows: - type: array - items: - $ref: '#/components/schemas/FollowV5' - followCounts: - type: array - items: - $ref: '#/components/schemas/FollowCount' - user-event-video-streaming-response-200: - description: event is processed successfully - content: - application/json: - schema: - properties: - ok: - type: boolean - example: true - CustomValidationError: - description: Timestamp information mismatch - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - code: 500000, - message: Information mismatch - status: error - response_root-get-response-200-9: - description: list of video streaming - content: - application/json: - schema: - properties: - results: - type: object - properties: - videoStreamings: - type: array - items: - $ref: '#/components/schemas/VideoStreaming' - videoStreamModerations: - type: array - items: - $ref: '#/components/schemas/VideoStreamingModeration' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - paging: - type: object - properties: - next: - type: string - prev: - type: string - response_common-response-200-10: - description: video streaming information - content: - application/json: - schema: - properties: - videoStreamings: - type: array - items: - $ref: '#/components/schemas/VideoStreaming' - videoStreamModerations: - type: array - items: - $ref: '#/components/schemas/VideoStreamingModeration' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - follow-webhook-response: - content: - application/json: - schema: - type: object - properties: - event: - type: string - data: - type: object - properties: - from: - type: string - to: - type: string - status: - type: string - enum: - - none - createdAt: - type: string - format: date-time - updatedAt: - type: string - format: date-time - message-add-reaction-with-reactor-webhook-response: - description: Messages Information - content: - application/json: - schema: - type: object - properties: - event: - type: string - enum: - - message.didAddReaction - data: - type: object - properties: - messages: - type: array - items: - $ref: '#/components/schemas/MessageV3' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - reactor: - $ref: '#/components/schemas/Reactor' - message-remove-reaction-with-reactor-webhook-response: - description: Messages Information - content: - application/json: - schema: - type: object - properties: - event: - type: string - enum: - - message.didRemoveReaction - data: - type: object - properties: - messages: - type: array - items: - $ref: '#/components/schemas/MessageV3' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - reactor: - $ref: '#/components/schemas/Reactor' - poll-webhook-response: - description: Poll Information - content: - application/json: - schema: - type: object - properties: - event: - type: string - data: - type: object - properties: - polls: - type: array - items: - $ref: '#/components/schemas/Poll' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - user-webhook-response: - content: - application/json: - schema: - type: object - properties: - event: - type: string - data: - type: object - properties: - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - comment-with-refactor-webhook-response: - description: Comment Information - content: - application/json: - schema: - type: object - properties: - event: - type: string - data: - type: object - properties: - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - commentChildren: - type: array - items: - $ref: '#/components/schemas/Comment' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - reactor: - $ref: '#/components/schemas/Reactor' - comment-webhook-response: - description: Comment Information - content: - application/json: - schema: - type: object - properties: - event: - type: string - data: - type: object - properties: - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - commentChildren: - type: array - items: - $ref: '#/components/schemas/Comment' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - comment-with-flag-webhook-response: - description: Comment Information - content: - application/json: - schema: - type: object - properties: - event: - type: string - data: - type: object - properties: - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - commentChildren: - type: array - items: - $ref: '#/components/schemas/Comment' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - flaggedUserId: - type: string - community-webhook-response: - description: Community Information - content: - application/json: - schema: - type: object - properties: - event: - type: string - data: - type: object - properties: - communities: - type: array - items: - $ref: '#/components/schemas/Community' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - files: - type: array - items: - $ref: '#/components/schemas/File' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - feeds: - type: array - items: - $ref: '#/components/schemas/Feed' - post-with-reactor-webhook-response: - description: Post Information - content: - application/json: - schema: - type: object - properties: - event: - type: string - data: - type: object - properties: - posts: - type: array - items: - $ref: '#/components/schemas/Post' - postChildren: - type: array - items: - $ref: '#/components/schemas/Post' - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - communities: - type: array - items: - $ref: '#/components/schemas/Community' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - feeds: - type: array - items: - $ref: '#/components/schemas/Feed' - reactor: - $ref: '#/components/schemas/Reactor' - videoStreamings: - type: array - items: - $ref: '#/components/schemas/VideoStreaming' - post-webhook-response: - description: Post Information - content: - application/json: - schema: - type: object - properties: - event: - type: string - data: - type: object - properties: - posts: - type: array - items: - $ref: '#/components/schemas/Post' - postChildren: - type: array - items: - $ref: '#/components/schemas/Post' - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - communities: - type: array - items: - $ref: '#/components/schemas/Community' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - feeds: - type: array - items: - $ref: '#/components/schemas/Feed' - videoStreamings: - type: array - items: - $ref: '#/components/schemas/VideoStreaming' - post-with-flag-webhook-response: - description: Post Information - content: - application/json: - schema: - type: object - properties: - event: - type: string - data: - type: object - properties: - posts: - type: array - items: - $ref: '#/components/schemas/Post' - postChildren: - type: array - items: - $ref: '#/components/schemas/Post' - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - communities: - type: array - items: - $ref: '#/components/schemas/Community' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - feeds: - type: array - items: - $ref: '#/components/schemas/Feed' - videoStreamings: - type: array - items: - $ref: '#/components/schemas/VideoStreaming' - flaggedUserId: - type: string - video-streaming-webhook-response: - description: video streaming information - content: - application/json: - schema: - type: object - properties: - event: - type: string - data: - type: object - properties: - videoStreamings: - type: array - items: - $ref: '#/components/schemas/VideoStreaming' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - Response: - description: Channel Information - content: - application/json: - schema: - $ref: '#/components/schemas/Channel' - ResponseWithReactor: - description: Comment Information - content: - application/json: - schema: - $ref: '#/components/schemas/CommentWithReactor' - response_Response: - description: Comment Information - content: - application/json: - schema: - $ref: '#/components/schemas/schema_Comment' - ResponseWithFlag: - description: Comment Information - content: - application/json: - schema: - $ref: '#/components/schemas/CommentWithFlag' - response_Response-2: - description: Community Information - content: - application/json: - schema: - $ref: '#/components/schemas/schema_Community' - response_Response-3: - description: Message Information - content: - application/json: - schema: - $ref: '#/components/schemas/schema_Follow' - MarkedMessageResponse: - description: Marked message response - content: - application/json: - schema: - properties: - contentMarkers: - type: array - items: - $ref: '#/components/schemas/ContentMarkers' - feedMarkers: - type: array - items: - $ref: '#/components/schemas/FeedMarkers' - UserSyncResponse: - description: User sync response - content: - application/json: - schema: - properties: - userMarkers: - type: array - items: - $ref: '#/components/schemas/UserMarkers' - userFeedMarkers: - type: array - items: - $ref: '#/components/schemas/UserFeedMarkers' - userEntityMarkers: - type: array - items: - $ref: '#/components/schemas/UserEntityMarkers' - UserFeedUpdatedResponse: - description: User feed updated response - content: - application/json: - schema: - properties: - userFeedMarkers: - type: array - items: - $ref: '#/components/schemas/UserFeedMarkers' - feedMarkers: - type: array - items: - $ref: '#/components/schemas/FeedMarkers' - FeedUpdatedResponse: - description: Feed updated response - content: - application/json: - schema: - properties: - feedMarkers: - type: array - items: - $ref: '#/components/schemas/FeedMarkers' - response_Response-4: - description: Message Feed Information - content: - application/json: - schema: - $ref: '#/components/schemas/schema_MessageFeed' - ResponseWithReaction: - description: Message with reaction Information - content: - application/json: - schema: - $ref: '#/components/schemas/MessageWithReaction' - CreatedResponse: - description: Message Information - content: - application/json: - schema: - $ref: '#/components/schemas/MessageCreated' - response_Response-5: - description: Message Information - content: - application/json: - schema: - $ref: '#/components/schemas/schema_Message' - response_ResponseWithReactor: - description: Post Information - content: - application/json: - schema: - $ref: '#/components/schemas/PostWithReactor' - response_ResponseWithFlag: - description: Post Information - content: - application/json: - schema: - $ref: '#/components/schemas/PostWithFlag' - response_Response-6: - description: Post Information - content: - application/json: - schema: - $ref: '#/components/schemas/schema_Post' - response_Response-7: - description: Story Information - content: - application/json: - schema: - $ref: '#/components/schemas/schema_Story' - response_ResponseWithReactor-2: - description: Story Information - content: - application/json: - schema: - $ref: '#/components/schemas/StoryWithReactor' - response_Response-8: - description: User - content: - application/json: - schema: - $ref: '#/components/schemas/schema_User' - parameters: - channelId: - name: channelId - in: path - required: true - schema: - type: string - pattern: ^[a-f\d]{24}$ - example: 60e4b1b4b3b2b5c4c4b3b2b5 - postId: - name: postId - in: path - required: true - schema: - type: string - pattern: ^[a-f\d]{24}$ - example: 60e4b1b4b3b2b5c4c4b3b2b5 - token: - name: token - in: query - schema: - type: string - maxLength: 1000 - example: eyJhZnRlciI6eyJfaWQiOnsicG9zdElkIjoiNjUxNjZlZTNlOTVlZTQ4YjkzZWVkMjQ1IiwidXNlcklkIjoiNjUxNjZlZTRlOTVlZTQzZjgzZWVkMjViIn0sIm5ldHdvcmtJZCI6IjYwNmYzN2EzYWU2MDFlZjM3NGViYWEwMSIsInJlYWNoZWRBdCI6IjIwMjMtMDktMjlUMDY6Mjk6NTQuOTQ4WiJ9fQ== - description: token of the page that you need from either `next` or `prev` of `paging` - limit: - name: limit - in: query - schema: - type: number - default: 10 - description: number of user in a page - storyId: - name: storyId - in: path - required: true - schema: - type: string - pattern: ^[a-f\d]{24}$ - example: 60e4b1b4b3b2b5c4c4b3b2b5 - x-server-key: - name: x-server-key - description: Server key to authenticate the request - in: header - required: true - schema: - type: string - maxLength: 150 - userId: - name: userId - description: User ID to get token for - in: query - schema: - type: string - maxLength: 100 - parameter_channelId: - name: channelId - in: path - required: true - schema: - type: string - query: - name: query - in: query - required: true - description: Keyword for searching - schema: - type: string - exactMatch: - name: exactMatch - in: query - required: false - description: Flag to indicate exact match. - schema: - type: boolean - default: false - isMemberOnly: - name: isMemberOnly - in: query - required: false - description: Flag to filter only member-only channels. - schema: - type: boolean - default: false - types: - name: types - in: query - required: false - description: Array of channel types. - schema: - type: array - items: - type: string - enum: - - community - - conversation - - live - - broadcast - tags: - name: tags - in: query - required: false - description: Array of channel tags. - schema: - type: array - maxItems: 10 - items: - type: string - maxLength: 100 - options: - name: options - in: query - required: false - description: Additional search options. - schema: - type: object - properties: - limit: - type: number - minimum: 1 - maximum: 100 - default: 20 - orderBy: - type: string - default: desc - enum: - - desc - - asc - sortBy: - type: string - enum: - - lastActivity - - relevance - default: relevance - token: - type: string - maxLength: 100 - keyword: - name: keyword - in: query - schema: - type: string - maxLength: 100 - isDeleted: - name: isDeleted - in: query - schema: - type: boolean - default: null - description: | - isDeleted: - * `null(default)` - Show both channel is actived and channel is inactived. - * `true` - Show channel is inactived only. - * `false` - Show channel is actived only. - parameter_tags: - name: tags - in: query - schema: - type: array - maxItems: 10 - items: - type: string - maxLength: 100 - description: Used for querying channels by matching all specified tags. When a query includes multiple tags (e.g., `tags=['tag1', 'tag2', 'tag3']`), the system will return all channels that have all the specified tags. - excludeTags: - name: excludeTags - in: query - schema: - type: array - maxItems: 10 - items: - type: string - maxLength: 100 - description: Used for querying channels by excluding all specified tags. When a query includes multiple tags (e.g., `excludeTags=['tag1', 'tag2', 'tag3']`), the system will return all channels that do not have any of the specified tags. - excludeArchives: - name: excludeArchives - in: query - schema: - type: boolean - default: false - description: | - excludeArchives: - * `false(default)` - Show all channels. - * `true` - Show channels that are not archived only. - filter: - name: filter - in: query - schema: - type: string - enum: - - all - - member - - notMember - - flagged - default: all - parameter_types: - name: types - in: query - schema: - type: array - maxItems: 10 - items: - type: string - enum: - - standard - - private - - conversation - - broadcast - - live - - community - parameter_userId: - name: userId - in: query - schema: - type: string - maxLength: 100 - sortBy: - name: sortBy - in: query - schema: - type: string - enum: - - lastActivity - - lastCreated - - firstCreated - - displayName - default: lastActivity - parameter_options: - name: options - in: query - style: deepObject - schema: - type: object - properties: - limit: - type: integer - minimum: 1 - maximum: 100 - default: 10 - token: - type: string - maxLength: 100 - roles: - name: roles - in: query - schema: - type: array - minItems: 1 - maxItems: 20 - items: - type: string - minLength: 1 - maxLength: 900 - description: Role to filter - users-filter: - name: filter - in: query - schema: - type: string - enum: - - all - - muted - - banned - - member&banned - default: all - users-sortBy: - name: sortBy - in: query - schema: - type: string - enum: - - lastCreated - - firstCreated - - displayName - default: lastCreated - users-isDeleted: - name: isDeleted - in: query - schema: - type: boolean - default: null - description: filter deleted members if isDeleted is null, will return both deleted and non-deleted members - userIds: - in: query - name: userIds - schema: - type: array - minItems: 1 - maxItems: 100 - items: - type: string - minLength: 1 - maxLength: 50 - description: list of user id - role: - in: query - name: role - schema: - type: string - minLength: 1 - maxLength: 900 - description: User id for revocation - channelIds: - name: channelIds - in: query - required: true - schema: - type: array - maxItems: 10 - items: - type: string - maxLength: 50 - _channelId: - name: channelId - in: path - required: true - schema: - type: string - minLength: 1 - maxLength: 900 - parameter_role: - name: role - in: query - schema: - type: array - description: Role to filter - minItems: 1 - maxItems: 20 - items: - type: string - minLength: 1 - maxLength: 900 - parameter_sortBy: - name: sortBy - in: query - schema: - type: string - enum: - - lastCreated - - firstCreated - default: lastCreated - memberships: - name: memberships - in: query - schema: - type: array - description: | - Member type to filter - member type: User is member of channel - banned type: User is banned member of channel - muted type: User is member of channel but isMuted is true - minItems: 1 - maxItems: 3 - items: - type: string - enum: - - muted - - banned - - member - default: - - member - parameter_options-2: - name: options - in: query - style: deepObject - schema: - type: object - properties: - limit: - type: integer - minimum: 1 - maximum: 100 - default: 10 - token: - type: string - maxLength: 1000 - description: use updatedAt when sort by first/lastUpdated - search: - name: search - in: query - schema: - type: string - minLength: 0 - maxLength: 10000 - parameter_isDeleted: - name: isDeleted - in: query - schema: - type: boolean - default: null - description: filter deleted members if isDeleted is null, will return both deleted and non-deleted members - isBrand: - name: isBrand - in: query - schema: - type: boolean - description: | - Filter brand user
- ```undefined``` - return all user
- ```true``` - return only brand user
- ```false``` - return only non-brand user - authorization: - name: Authorization - in: header - required: true - schema: - type: string - content-type: - name: Content-Type - in: header - required: true - schema: - type: string - referenceId: - name: referenceId - in: query - schema: - type: string - maxLength: 900 - description: ID of the reference **(post, content, or story)** - referenceType: - name: referenceType - in: query - schema: - type: string - enum: - - post - - content - - story - description: Type of the reference **(post, content, or story)** - filterByParentId: - name: filterByParentId - in: query - schema: - type: boolean - default: true - description: Whether to filter by parent ID **(defaults to true)** - parentId: - name: parentId - in: query - schema: - type: string - maxLength: 900 - description: ID of the parent comment **(when filterByParentId is true)** - hasFlag: - name: hasFlag - in: query - schema: - type: boolean - default: false - description: Filter by flagged comments - parameter_isDeleted-2: - name: isDeleted - in: query - schema: - type: boolean - default: null - description: Filter by deleted status - parameter_sortBy-2: - name: sortBy - in: query - schema: - type: string - enum: - - lastCreated - - firstCreated - - lastUpdated - - firstUpdated - description: Sort order for comments **(only for pagination type)** - parameter_options-3: - name: options - in: query - required: false - schema: - type: object - properties: - type: - type: string - enum: - - scrollable - - pagination - default: scrollable - example: options[type]=pagination - description: | - Type of pagination. **(default: scrollable)** - * `scrollable(default)` - 'after', 'first', 'before' and 'last' will be set for page size with direction. - * `pagination` - 'skip' and 'limit' will be the number of records to skip and max records size. - limit: - type: integer - minimum: 1 - maximum: 100 - example: options[limit]=10 - description: Page size **(for pagination type)** - skip: - type: integer - minimum: 0 - maximum: 100 - example: options[skip]=0 - description: Number of records to skip **(for pagination type)** - after: - type: integer - minimum: 1 - example: options[after]=1 - description: Cursor value to get records after **(for scrollable type)** - first: - type: integer - minimum: 1 - maximum: 100 - example: options[first]=10 - description: Number of records to fetch after cursor **(for scrollable type)** - before: - type: integer - minimum: 1 - example: options[before]=1 - description: Cursor value to get records before **(for scrollable type)** - last: - type: integer - minimum: 1 - maximum: 100 - example: options[last]=10 - description: Number of records to fetch before cursor **(for scrollable type)** - token: - type: string - maxLength: 1000 - example: options[token]=eyJza2lwIjoyMCwibGlABDFRffewfQ== - description: Pagination token - dataTypes: - name: dataTypes - in: query - schema: - type: object - properties: - values: - type: array - items: - type: string - enum: - - text - - image - example: dataTypes[values][]=text - description: | - The dataTypes values want to be contained in the comment (available values: `text`, `image`) - matchType: - type: string - enum: - - any - - exact - example: dataTypes[matchType]=any - description: | - How the dataTypes must be contained in the comment. - * `any`: the dataTypes could match only partial of the provided field - * `exact`: the dataTypes must contain exactly the same as provided in values - commentId: - name: commentId - in: path - required: true - description: Get comment by ID. - schema: - type: string - preserve-edited-at: - name: preserve-edited-at - in: header - required: false - description: | - Preserve the `editedAt` value when updating a comment. - If the value is `true`, the `editedAt` value will not be updated. - If the value is `false`, the `editedAt` value will be updated. - schema: - type: boolean - default: false - commentIds: - name: commentIds - in: query - required: true - schema: - type: array - minItems: 1 - maxItems: 10 - items: - type: string - maxLength: 50 - _commentId: - name: commentId - in: path - required: true - schema: - type: string - permanent: - name: permanent - in: query - schema: - type: boolean - description: If permanent data will be hard deleted - parameter_keyword: - name: keyword - in: query - schema: - type: string - minLength: 0 - maxLength: 100 - parameter_tags-2: - name: tags - in: query - schema: - type: array - maxItems: 10 - items: - type: string - minLength: 1 - maxLength: 1000 - description: Used for querying communities by matching all specified tags. When a query includes multiple tags (e.g., `tags=['tag1', 'tag2', 'tag3']`), the system will return all communities that have all the specified tags. - parameter_filter: - name: filter - in: query - schema: - type: string - enum: - - all - - member - - notMember - default: all - categoryId: - name: categoryId - in: query - schema: - type: string - minLength: 50 - maxLength: 50 - parameter_sortBy-3: - name: sortBy - in: query - description: | - The default value depends on the 'search' parameter. - * If 'search' parameter is not set, the default value is 'lastCreated'. - * If 'search' parameter is set, the default value is 'displayName'. - schema: - type: string - enum: - - firstCreated - - lastCreated - - displayName - default: lastCreated - parameter_isDeleted-3: - name: isDeleted - in: query - schema: - type: boolean - default: null - description: | - isDeleted: - * `null(default)` - Show both community is actived and community is inactived. - * `true` - Show community is inactived only. - * `false` - Show community is actived only. - parameter_hasFlag: - name: hasFlag - in: query - schema: - type: boolean - default: null - description: | - hasFlag: - * `null(default)` - Show all communities. - * `true` - Show only community has flagged post(or children post) or has flagged comment. - * `false` - Show only community has no flagged post(and children post) and has no flagged comment. - parameter_options-4: - name: options - in: query - style: deepObject - schema: - type: object - properties: - limit: - type: integer - minimum: 1 - maximum: 100 - token: - type: string - maxLength: 1000 - communityId: - name: communityId - in: path - required: true - schema: - type: string - minLength: 1 - maxLength: 900 - type: - name: type - in: query - schema: - type: string - enum: - - public - - internal - default: public - description: type of communityId - parameter_memberships: - name: memberships - in: query - schema: - type: array - description: Membership type to filter (If not filter will return both banned user and member) - minItems: 1 - maxItems: 2 - items: - type: string - enum: - - banned - - member - parameter_roles: - name: roles - in: query - description: Role to filter - schema: - type: array - minItems: 1 - maxItems: 20 - items: - type: string - minLength: 1 - maxLength: 100 - parameter_search: - name: search - description: Input text for searching display name and user id - in: query - schema: - type: string - maxLength: 10000 - isDeleted-users: - name: isDeleted - in: query - schema: - type: boolean - default: null - description: filter deleted members if isDeleted is null, will return both deleted and non-deleted members - parameter_userIds: - in: query - name: userIds - required: true - schema: - type: array - minItems: 1 - maxItems: 100 - items: - type: string - minLength: 1 - maxLength: 50 - description: list of user id - parameter_role-2: - in: query - name: role - required: true - schema: - type: string - minLength: 1 - maxLength: 900 - communityIds: - name: communityIds - in: query - required: true - schema: - type: array - minItems: 1 - maxItems: 100 - items: - type: string - maxLength: 50 - _communityId: - name: communityId - in: path - required: true - schema: - type: string - minLength: 1 - maxLength: 900 - parameter_roles-2: - in: query - name: roles - required: true - schema: - type: array - minItems: 1 - maxItems: 100 - items: - type: string - description: Role id - minLength: 1 - maxLength: 100 - description: list of role id - parameter_sortBy-4: - name: sortBy - in: query - schema: - type: string - enum: - - firstCreated - - lastCreated - - name - default: name - parameter_isDeleted-4: - name: isDeleted - in: query - schema: - type: boolean - default: null - parameter_options-5: - name: options - in: query - style: deepObject - schema: - type: object - properties: - limit: - type: integer - minimum: 1 - maximum: 100 - default: 10 - token: - type: string - maxLength: 1000 - _categoryId: - name: categoryId - in: path - required: true - schema: - type: string - maxLength: 50 - parameter_categoryId: - in: query - name: categoryId - required: true - schema: - type: string - minLength: 1 - maxLength: 50 - description: Category id - parameters_sortBy: - name: sortBy - in: query - required: false - description: | - Sort by option - * customRanking: Sort by custom ranking - * lastCreated: Sort by last created - schema: - type: string - enum: - - lastCreated - - customRanking - default: customRanking - parameters_limit: - name: limit - in: query - required: false - description: | - Limit the number of posts returned - schema: - type: integer - default: 10 - minimum: 1 - maximum: 100 - parameters_token: - name: token - in: query - required: false - description: | - Token for pagination - schema: - type: string - maxLength: 100 - parameter_sortBy-5: - name: sortBy - in: query - schema: - type: string - enum: - - firstCreated - - lastCreated - - lastUpdated - - firstUpdated - default: lastCreated - parameter_hasFlag-2: - name: hasFlag - in: query - schema: - type: boolean - default: null - description: | - hasFlag: - * `null(default)` - Show all contents. - * `true` - Show only flagged content or has flagged comment. - * `false` - Show only no flagged content and has no flagged comment. - parameter__communityId: - name: communityId - in: path - required: true - schema: - type: string - parameter_hasFlag-3: - name: hasFlag - in: query - schema: - type: boolean - default: false - description: | - hasFlag: - * `null(default)` - Show all posts. - * `true` - Show only flagged post(or children) or has flagged comment. - * `false` - Show only no flagged post(and children) and has no flagged comment. - parameter_dataTypes: - name: dataTypes - in: query - schema: - type: array - minItems: 1 - maxItems: 4 - items: - type: string - enum: - - video - - image - - file - - liveStream - description: post data type to filter - showOnlyMyFeed: - name: showOnlyMyFeed - in: query - schema: - type: boolean - _userId: - name: userId - in: path - required: true - schema: - type: string - parameter_hasFlag-4: - name: hasFlag - in: query - schema: - type: boolean - default: null - description: | - hasFlag: - * `null(default)` - Show all posts. - * `true` - Show only flagged post(or children) or has flagged comment. - * `false` - Show only no flagged post(and children) and has no flagged comment. - parameter_limit: - name: limit - in: query - schema: - type: integer - minimum: 1 - maximum: 100 - default: 10 - parameter_token: - name: token - in: query - schema: - type: string - minLength: 1 - maxLength: 100 - parameter_token-2: - name: token - in: query - schema: - type: string - minLength: 1 - maxLength: 1000 - _fileId: - in: path - name: fileId - required: true - schema: - type: string - maxLength: 50 - description: File id - parameter_authorization: - name: Authorization - in: header - schema: - type: string - _ascSession: - name: _ascSession - in: cookie - schema: - type: string - description: Access token - size: - in: query - name: size - required: false - schema: - type: string - enum: - - full - - large - - medium - - small - description: Size of image to download (no effect on file type 'file') - status: - name: status - in: query - schema: - type: string - enum: - - all - - pending - - accepted - default: all - parameter__userId: - name: userId - in: path - required: true - schema: - type: string - maxLength: 900 - parameter_postId: - name: postId - required: true - in: path - schema: - type: string - maxLength: 900 - parameter_channelIds: - name: channelIds - description: list of channel id (internal) - in: query - required: true - schema: - type: array - items: - type: string - description: list of channel id (internal) - parameter_channelId-2: - name: channelId - description: channel id (internal) - in: path - required: true - schema: - type: string - description: channel id (internal) - messageFeedIds: - name: messageFeedIds - description: list of message feed id (internal) - in: query - required: true - schema: - type: array - items: - type: string - description: list of message feed id (internal) - messageFeedId: - name: messageFeedId - description: message feed id (internal) - in: path - required: true - schema: - type: string - description: message feed id (internal) - messageIds: - name: messageIds - description: list of message id (internal) - in: query - required: true - schema: - type: array - items: - type: string - description: list of message id (internal) - ruleIds: - name: ruleIds - description: | - Regular expression to delete. - in: query - schema: - type: array - items: - type: string - regexs: - name: regexs - in: query - schema: - type: array - items: - type: string - parameter_ruleIds: - in: query - name: ruleIds - description: | - Rules information to be deleted. - schema: - type: array - items: - type: string - regex: - name: regex - in: query - schema: - type: string - description: search keyword from start - parameter_sortBy-6: - name: sortBy - in: query - schema: - type: string - enum: - - firstCreated - - lastCreated - parameter_options-6: - name: options - in: query - style: deepObject - explode: true - schema: - type: object - properties: - after: - type: number - before: - type: number - limit: - type: number - description: limit amount of result - token: - type: string - description: pagination token - _messageFeedId: - name: messageFeedId - in: path - required: true - description: Message feed ID - schema: - $ref: '#/components/schemas/MessageFeed_messageFeedId' - parameter_permanent: - name: permanent - in: query - schema: - $ref: '#/components/schemas/Generic_permanent' - parameter__channelId: - name: channelId - in: path - required: true - description: channel ID of message feed that needs to be find - schema: - $ref: '#/components/schemas/MessageFeed_channelId' - parameter_isDeleted-5: - name: isDeleted - in: query - description: deleted flag of message feed - schema: - type: boolean - default: false - paging-options: - name: options - in: query - description: | - Pagination options - - **after**: string(30) : return documents after this message feed id - - **before**: string(30) : return documents before this message feed id - - **limit**: number(0, 100) default=10 - - **sortBy**: lastContentTimestampDesc - - **token**: string(100) : This token will be generated by server using encryption of after, before, limit, sortBy. It would be returned in response payload (paging.next, paging.previous). The caller can send only token for getting data from previous or next page easily. - schema: - $ref: '#/components/schemas/MessageFeed_pageOptions' - parameter_messageFeedIds: - name: messageFeedIds - in: query - required: true - description: List of message feed ID that needs to find (max=10) [messageFeedIds[]=messageFeedId1&messageFeedIds[]=messageFeedId2] - schema: - $ref: '#/components/schemas/MessageFeed_messageFeedIds' - _creatorId: - name: creatorId - in: path - required: true - description: ID of message feed creator - schema: - description: Creator's ID - type: string - maxLength: 30 - example: 8aa313c8dbb00af911b07672 - parameter_channelId-3: - name: channelId - required: true - in: query - schema: - type: string - maxLength: 100 - parameter_type: - name: type - in: query - schema: - type: string - enum: - - text - - image - - file - - custom - - video - - audio - - imagemap - parameter_parentId: - name: parentId - in: query - schema: - type: string - maxLength: 150 - parameter_filterByParentId: - name: filterByParentId - in: query - schema: - type: boolean - default: false - parameter_hasFlag-5: - name: hasFlag - in: query - schema: - type: boolean - parameter_isDeleted-6: - name: isDeleted - in: query - schema: - type: boolean - default: null - description: | - isDeleted: - * `null(default)` - Show both message is actived and message is inactived. - * `true` - Show message is inactived only. - * `false` - Show message is actived only. - parameter_tags-3: - name: tags - in: query - schema: - type: array - maxItems: 10 - items: - type: string - maxLength: 100 - description: Used for querying messages by matching all specified tags. When a query includes multiple tags (e.g., `tags=['tag1', 'tag2', 'tag3']`), the system will return all messages that have all the specified tags. - parameter_excludeTags: - name: excludeTags - in: query - schema: - type: array - maxItems: 10 - items: - type: string - maxLength: 100 - description: Used for querying messages by excluding all specified tags. When a query includes multiple tags (e.g., `excludeTags=['tag1', 'tag2', 'tag3']`), the system will return all messages that do not have any of the specified tags. - parameter_options-7: - name: options - in: query - style: deepObject - schema: - type: object - properties: - after: - type: integer - minimum: 1 - first: - type: integer - minimum: 1 - maximum: 100 - before: - type: integer - minimum: 1 - last: - type: integer - minimum: 1 - maximum: 100 - token: - type: string - maxLength: 1000 - parameter_messageIds: - name: messageIds - in: query - required: true - schema: - type: array - maxItems: 10 - items: - type: string - maxLength: 150 - messageId: - name: messageId - in: path - required: true - schema: - type: string - maxLength: 150 - parameter_messageFeedId: - name: messageFeedId - in: query - required: true - description: Message feed ID - schema: - $ref: '#/components/schemas/MessageFeed_messageFeedId' - parameter_parentId-2: - name: parentId - in: query - description: parent ID of a message (max length=50) - schema: - $ref: '#/components/schemas/MessageV5_parentId' - parameter_isDeleted-7: - name: isDeleted - in: query - description: deleted flag of message that needs to be find - schema: - $ref: '#/components/schemas/Generic_isDeleted' - includeTags: - name: includeTags - in: query - description: Used for querying messages by matching all specified tags. When a query includes multiple tags (e.g., `tags=['tag1', 'tag2', 'tag3']`), the system will return all messages that have all the specified tags. (max=10) - schema: - $ref: '#/components/schemas/Generic_tags' - parameter_excludeTags-2: - name: excludeTags - in: query - description: Used for querying messages by excluding all specified tags. When a query includes multiple tags (e.g., `excludeTags=['tag1', 'tag2', 'tag3']`), the system will return all messages that do not have any of the specified tags. (max=10) - schema: - $ref: '#/components/schemas/Generic_tags' - hasFlags: - name: hasFlags - in: query - description: flag to filter only flagged message - schema: - $ref: '#/components/schemas/MessageV5_hasFlags' - dataType: - name: dataType - in: query - description: data type of message (max length=20) - schema: - $ref: '#/components/schemas/MessageV5_dataType' - parameter_paging-options: - name: options - in: query - description: | - Pagination options - - **after**: string(30) : return documents after this message id - - **before**: string(30) : return documents before this message id - - **limit**: number(0, 100) default=10 if use limit along with options.around, limit must be even number - - **sortBy**: segmentAsc | segmentDesc - - **token**: string(100) : This token will be generated by server using encryption of after, before, limit, sortBy. It would be returned in response payload (paging.next, paging.previous). The caller can send only token for getting data from previous or next page easily. - - **around**: target message id - schema: - $ref: '#/components/schemas/MessageV5_pageOptions' - _messageId: - name: messageId - in: path - required: true - description: ID of a message - schema: - $ref: '#/components/schemas/MessageV5_messageId' - parameter_permanent-2: - name: permanent - in: query - description: flag to confirm permanent deletion - schema: - $ref: '#/components/schemas/Generic_permanent' - parameter_messageIds-2: - name: messageIds - in: query - required: true - description: List of message ID that needs to find (max=10) [messageIds[]=message1&messageIds[]=message2] - schema: - $ref: '#/components/schemas/MessageV5_messageIds' - parameter__creatorId: - name: creatorId - in: path - required: true - description: Creator ID to filter - schema: - $ref: '#/components/schemas/MessageV5_creatorId' - parameter_channelId-4: - name: channelId - in: query - required: true - description: Channel ID to filter - schema: - $ref: '#/components/schemas/MessageV5_messageFeedId' - paging-options-admin: - name: options - in: query - description: | - Pagination options - - **after**: string(30) : return documents after this message id - - **before**: string(30) : return documents before this message id - - **limit**: number(0, 100) default=10 - - **token**: string(100) : This token will be generated by server using encryption of after, before, limit, sortBy. It would be returned in response payload (paging.next, paging.previous). The caller can send only token for getting data from previous or next page easily. - schema: - $ref: '#/components/schemas/MessageV5_pageOptionsAdmin' - parameter_userId-2: - name: userId - description: user id - in: query - schema: - type: string - minLength: 1 - deprecated: true - deviceId: - name: deviceId - description: device id - in: query - schema: - type: string - minLength: 1 - level: - name: level - required: true - in: query - schema: - type: string - enum: - - user - - channel - - community - parameter_channelId-5: - name: channelId - in: query - schema: - type: string - minLength: 1 - maxLength: 900 - parameter_communityId: - name: communityId - in: query - schema: - type: string - minLength: 1 - maxLength: 900 - parameter_communityId-2: - name: communityId - required: true - in: path - schema: - type: string - maxLength: 900 - parameter_options-8: - name: options - in: query - schema: - type: object - properties: - sortBy: - type: string - default: createdAt - enum: - - createdAt - orderBy: - type: string - default: desc - enum: - - asc - - desc - placement: - name: placement - required: true - in: path - schema: - type: string - enum: - - default - - announcement - pollId: - name: pollId - in: path - required: true - schema: - type: string - answerId: - name: answerId - in: path - required: true - schema: - type: string - maxLength: 900 - parameter_sortBy-7: - name: sortBy - in: query - schema: - type: string - enum: - - lastCreated - - firstCreated - parameter_options-9: - name: options - in: query - style: deepObject - schema: - type: object - properties: - limit: - type: integer - minimum: 1 - maximum: 100 - default: 10 - token: - type: string - maxLength: 1000 - before: - type: string - maxLength: 24 - after: - type: string - targetId: - name: targetId - in: query - schema: - type: string - maxLength: 900 - targetType: - name: targetType - required: true - in: query - schema: - type: string - enum: - - community - - user - - content - parameter_dataType: - name: dataType - in: query - schema: - type: string - maxLength: 900 - example: upstra.customtype - description: must be in namespace like format (ex. "upstra.customtype", "com.eko.birthday") - deprecated: true - parameter_hasFlag-6: - name: hasFlag - in: query - schema: - type: boolean - default: null - description: | - hasFlag: - * `null(default)` - Show all posts. - * `true` - Show only flagged post(or children) or has flagged comment. - * `false` - Show only no flagged post(and children) and has no flagged comment. - parameter_dataTypes-2: - name: dataTypes - in: query - description: | - Child post data type to filter. Only applied if the option `matchingOnlyParentPost` is `false`. The value in array could be oneOf: - * `video` - * `image` - * `file` - * `liveStream` - * custom post type - * must be a string in namespace like format (ex. `upstra.customtype`, `com.eko.birthday`) - schema: - type: array - maxItems: 10 - items: - oneOf: - - type: string - enum: - - video - - image - - file - - liveStream - description: Child post data type to filter. Only applied if the option `matchingOnlyParentPost` is `false` - - type: string - example: upstra.customtype - description: custom post type - must be in namespace like format (ex. "upstra.customtype", "com.eko.birthday") - parameter_tags-4: - name: tags - in: query - schema: - type: array - minItems: 0 - maxItems: 5 - items: - type: string - maxLength: 24 - matchingOnlyParentPost: - name: matchingOnlyParentPost - in: query - schema: - type: boolean - default: true - description: An option whether to filter only parent post or not. If `true` will return only parent posts, else will return both parent and child posts - _postId: - name: postId - in: path - required: true - schema: - type: string - maxLength: 900 - parameter_preserve-edited-at: - name: preserve-edited-at - in: header - required: false - description: | - Preserve the `editedAt` value when updating a post. - If the value is `true`, the `editedAt` value will not be updated. - If the value is `false`, the `editedAt` value will be updated. - schema: - type: boolean - default: false - postIds: - name: postIds - in: query - schema: - type: array - maxItems: 100 - items: - type: string - maxLength: 50 - parameter_targetId: - name: targetId - in: query - schema: - type: string - maxLength: 900 - description: ID of the target. - parameter_targetType: - name: targetType - in: query - required: true - schema: - type: string - enum: - - community - - user - - content - description: | - Type of the target. - * `community` - Community - * `user` - User - * `content` - Content - parameter_sortBy-8: - name: sortBy - in: query - schema: - type: string - enum: - - lastCreated - - firstCreated - - lastUpdated - - firstUpdated - default: lastCreated - description: Sort order for posts. - parameter_hasFlag-7: - name: hasFlag - in: query - schema: - type: boolean - default: null - description: Filter by flag status - parameter_options-10: - name: options - in: query - schema: - type: object - properties: - after: - type: string - maxLength: 24 - description: Cursor value to get records after - before: - type: string - maxLength: 24 - description: Cursor value to get records before - updatedAt: - type: string - maxLength: 30 - description: use updatedAt when sorting by first or last updated - limit: - type: integer - minimum: 1 - maximum: 100 - default: 10 - example: options[limit]=5 - description: Page size - token: - type: string - maxLength: 1000 - example: options[token]=eyJza2lwIjoyMCwibGlABDFRffewfQ== - description: Pagination token - feedType: - name: feedType - in: query - schema: - type: string - enum: - - reviewing - - published - - declined - example: published - description: Feed type to filter - parameter_dataTypes-3: - name: dataTypes - in: query - schema: - type: array - minItems: 1 - maxItems: 5 - items: - type: string - maxLength: 100 - enum: - - video - - image - - file - - liveStream - - poll - description: Child post data type to filter. Only applied if the option `matchingOnlyParentPost` is `false` - parameter_tags-5: - name: tags - in: query - schema: - type: array - minItems: 0 - maxItems: 5 - items: - type: string - maximum: 24 - description: tags - parameter_matchingOnlyParentPost: - name: matchingOnlyParentPost - in: query - schema: - type: boolean - default: true - description: | - An option to filter only parent post. If `true` will return only parent post, else will return both parent and child posts - parameter__postId: - name: postId - in: path - required: true - schema: - type: string - parameter_permanent-3: - name: permanent - in: query - schema: - type: boolean - default: false - description: If permanent data will be hard deleted - parameter_userIds-2: - name: userIds - in: query - required: true - schema: - type: array - description: A list of user ID - maxItems: 220 - items: - type: string - maxLength: 300 - example: - - yama69 - - yama420 - orderBy: - name: orderBy - in: query - schema: - type: string - enum: - - asc - - desc - parameter_limit-2: - name: limit - in: query - schema: - type: integer - minimum: 1 - reactionName: - name: reactionName - description: Reaction name - in: query - schema: - type: string - maxLength: 100 - parameter_referenceId: - name: referenceId - description: Reference id - in: query - required: true - schema: - type: string - maxLength: 900 - parameter_referenceType: - name: referenceType - description: Reference type - in: query - required: true - schema: - type: string - enum: - - message - - post - - comment - - story - parameter_options-11: - name: options - in: query - style: deepObject - schema: - type: object - properties: - limit: - type: integer - minimum: 0 - token: - type: string - maxLength: 1000 - skip: - type: integer - minimum: 0 - referenceVersion: - in: query - name: referenceVersion - schema: - type: integer - description: The API version of the document (Ex. If using with message v5, the referenceVersion will be 5) - parameter_referenceId-2: - name: referenceId - in: query - required: true - schema: - type: string - maxLength: 900 - parameter_referenceType-2: - name: referenceType - in: query - required: true - schema: - type: string - enum: - - message - - post - - comment - - story - parameter_referenceVersion: - name: referenceVersion - in: query - schema: - type: integer - parameter_reactionName: - name: reactionName - in: query - schema: - type: string - maxLength: 100 - parameter_options-12: - name: options - in: query - style: deepObject - schema: - type: object - properties: - limit: - type: integer - minimum: 0 - token: - type: string - maxLength: 200 - parameter_keyword-2: - name: keyword - in: query - required: true - schema: - type: string - minLength: 0 - maxLength: 100 - description: search keyword - parameter_sortBy-9: - name: sortBy - in: query - schema: - type: string - enum: - - lastCreated - - firstCreated - - displayName - default: lastCreated - _roleId: - name: roleId - in: path - required: true - schema: - type: string - roleId: - in: query - name: roleId - schema: - type: string - minLength: 1 - maxLength: 100 - description: role id to delete - parameter_query: - name: query - required: true - in: query - schema: - type: string - maxLength: 1024 - parameter_targetType-2: - name: targetType - in: query - schema: - type: string - enum: - - community - - user - - content - parameter_dataTypes-4: - name: dataTypes - in: query - description: | - Child post data type to filter. Only applied if the option `matchingOnlyParentPost` is `false`. The value in array could be oneOf: - * `text` - * `image` - schema: - type: array - maxItems: 10 - items: - oneOf: - - type: string - enum: - - text - - image - description: Child post data type to filter. Only applied if the option `matchingOnlyParentPost` is `false` - parameter_filter-2: - name: filter - in: query - schema: - type: string - enum: - - all - - member - - notMember - default: all - description: Filter community by membership status - categoryIds: - name: categoryIds - in: query - schema: - type: array - minItems: 0 - maxItems: 10 - items: - type: string - maxLength: 128 - x-api-key: - name: x-api-key - in: header - required: true - schema: - type: string - parameter_userId-3: - in: query - name: userId - schema: - type: string - minLength: 1 - maxLength: 50 - description: User id for revocation - isPublic: - in: query - name: isPublic - schema: - type: boolean - default: true - description: A flag indicating whether the userId is a public id or not - parameter__userId-2: - in: path - required: true - name: userId - schema: - type: string - minLength: 1 - maxLength: 50 - description: User id for revocation - parameter_targetId-2: - name: targetId - in: query - required: true - schema: - type: string - maxLength: 900 - parameter_targetType-3: - name: targetType - in: query - required: true - schema: - type: string - enum: - - community - - user - parameter_dataType-2: - name: dataType - in: query - schema: - description: Type of data contained in the story. Only admin can query with this parameter. - type: string - enum: - - image - - video - isExpired: - name: isExpired - in: query - schema: - description: | - Whether to include expired stories. Only admin can query with this parameter = true. - type: boolean - default: false - parameter_options-13: - name: options - in: query - schema: - type: object - properties: - sortBy: - type: string - default: createdAt - enum: - - createdAt - orderBy: - type: string - default: desc - enum: - - asc - - desc - limit: - type: integer - default: 10 - minimum: 1 - maximum: 100 - token: - type: string - targets: - name: targets - description: | - Target object. The target object is an array of objects that contain targetId and targetType. Max up to 10 items - * targetId: ID of a target. - * targetType: Type of a target (user, community). - in: query - required: true - schema: - type: array - items: - type: object - properties: - targetId: - schema: - type: string - maxLength: 900 - targetType: - schema: - type: string - enum: - - community - - user - maxItems: 10 - minItems: 1 - _storyId: - name: storyId - in: path - required: true - schema: - type: string - pattern: ^[a-f\d]{24}$ - parameter_permanent-4: - name: permanent - in: query - required: false - description: | - If true, the story will be deleted permanently (hard deleted). If false, the story will be soft deleted. - schema: - type: boolean - default: false - seenState: - name: seenState - in: query - description: the seen state option used for filter the seen/unseen story targets - schema: - type: string - enum: - - all - - seen - - unseen - default: unseen - parameter_limit-3: - name: limit - in: query - description: the amount of story targets per query - required: false - schema: - type: integer - default: 10 - minimum: 1 - maximum: 100 - parameter_token-3: - name: token - in: query - required: false - schema: - type: string - maxLength: 900 - parameter_userId-4: - name: userId - in: path - required: true - schema: - type: string - exactMatchKeyword: - name: exactMatchKeyword - in: query - schema: - type: boolean - default: false - description: Return exact match search result when true - parameter_filter-3: - name: filter - in: query - schema: - type: string - enum: - - all - - flagged - default: all - parameter_sortBy-10: - name: sortBy - in: query - schema: - type: string - enum: - - firstCreated - - lastCreated - - displayName - default: displayName - parameter_isDeleted-8: - name: isDeleted - in: query - schema: - type: boolean - default: false - description: filter only deleted deleted users when true - parameter_userIds-3: - name: userIds - in: query - required: true - schema: - type: array - maxItems: 100 - items: - type: string - maxLength: 900 - parameter__userId-3: - name: userId - in: path - required: true - schema: - type: string - minLength: 1 - maxLength: 900 - parameter_type-2: - name: type - in: query - schema: - type: string - enum: - - public - - internal - default: public - parameter__userId-4: - in: path - name: userId - required: true - schema: - type: string - minimum: 1 - maximum: 50 - description: User public id - deleteAll: - in: query - name: deleteAll - schema: - type: boolean - default: false - description: true - it will hard delete this user created channels, messages, comments, posts, polls, reactions after user is deleted. - markMessageDeleted: - in: query - name: markMessageDeleted - schema: - type: boolean - default: false - description: true - it will hard delete this user messages after user is deleted. - hardDeletePost: - in: query - name: hardDeletePost - schema: - type: boolean - default: false - description: true - it will hard delete this user posts after user is deleted. - hardDeleteComment: - in: query - name: hardDeleteComment - schema: - type: boolean - default: false - description: true - it will hard delete this user comments after user is deleted. - parameter_token-4: - name: token - in: query - schema: - type: string - isLive: - name: isLive - in: query - schema: - type: boolean - default: false - statuses: - name: statuses - in: query - schema: - type: array - maxItems: 10 - items: - type: string - enum: - - idle - - live - - ended - - recorded - description: | - Status of livestreaming - * idle - streaming is just created - * live - streamer is streaming now or streamer is reconnecting - * ended - streamer stop streaming or streamer disconnect and not connect back in time period - * recorded - live stream recordings available - userPublicIds: - name: userPublicIds - in: query - schema: - type: array - maxItems: 100 - items: - type: string - maxLength: 50 - parameter_isDeleted-9: - name: isDeleted - in: query - schema: - type: boolean - default: null - description: | - isDeleted: - * `null(default)` - Show both video streaming is activated and video streaming is inactivated. - * `true` - Show video streaming is inactivated only. - * `false` - Show video streaming is activated only. - parameter_options-14: - name: options - in: query - style: deepObject - schema: - type: object - properties: - limit: - type: integer - skip: - type: integer - token: - type: string - maxLength: 1000 - _streamId: - in: path - name: streamId - required: true - schema: - type: string - maxLength: 50 - description: Stream id to update - requestBodies: - activities-request-payload: - description: '' - required: true - content: - application/json: - schema: - type: object - properties: - activities: - type: array - minItems: 1 - maxItems: 1000 - items: - type: object - properties: - contentId: - type: string - pattern: ^[a-f\d]{24}$ - example: 60e4b1b4b3b2b5c4c4b3b2b5 - contentType: - type: string - enum: - - post - - story - activityType: - type: string - enum: - - view - - linkClicked - timestamp: - type: string - format: date-time - example: '2017-07-21T17:32:28Z' - mute-put-request-payload: - description: | - Information of channel to be muted and period - required: true - content: - application/json: - schema: - type: object - properties: - mutePeriod: - type: number - description: mute period (milliseconds) - required: - - mutePeriod - users-mute-put-request-payload: - description: | - Information of channel to be muted and period - required: true - content: - application/json: - schema: - type: object - properties: - userIds: - type: array - items: - type: string - maxLength: 50 - maxItems: 100 - mutePeriod: - type: number - description: mute period (milliseconds) - required: - - userIds - - mutePeriod - root-post-request-payload: - description: | - Information of channel to be created - required: true - content: - application/json: - schema: - type: object - properties: - channelId: - type: string - maxLength: 100 - description: A unique identifier for the channel. Maximum length is 100 characters. - type: - type: string - enum: - - community - - live - - broadcast - default: community - description: Type of the channel. Options are 'community', 'live', or 'broadcast'. Default is 'community'. - displayName: - type: string - maxLength: 100 - description: The display name for the channel. Maximum length is 100 characters. - avatarFileId: - type: string - maxLength: 50 - description: The ID of the file to be used as the channel's avatar. Maximum length is 50 characters. - metadata: - type: object - description: Additional metadata associated with the channel. Can include custom properties. - tags: - type: array - maxItems: 10 - items: - type: string - maxLength: 100 - description: List of tags associated with the channel. Maximum of 10 tags, each up to 100 characters long. - userIds: - type: array - maxItems: 1000 - items: - type: string - maxLength: 50 - description: List of user IDs to be added to the channel. Maximum of 1000 user IDs, each up to 50 characters long. - isMuted: - type: boolean - description: Indicates whether the channel is muted by default for all users. - messageAutoDeleteEnabled: - type: boolean - description: Indicates whether automatic deletion of messages is enabled for the channel. - autoDeleteMessageByFlagLimit: - type: number - minimum: 1 - maximum: 1000 - description: The number of flags required to automatically delete a message. Must be between 1 and 1000. - isPublic: - type: boolean - description: Indicates whether the channel is public and visible to all users. - notificationMode: - type: string - enum: - - default - - silent - - subscribe - description: | - The notification mode for the channel: - * `default` - Automatically register push notifications. - * `silent` - Do not send notifications. - * `subscribe` - Send notifications only to subscribed users. - seen-post-request-payload: - description: | - Information of read sengment to be updated - required: true - content: - application/json: - schema: - type: object - properties: - channels: - type: array - items: - type: object - properties: - channelId: - type: string - maxLength: 128 - description: | - The unique identifier for the channel. This public ID is used to identify the specific channel for which the readToSegment value is being updated. - readToSegment: - type: number - minimum: 1 - description: | - The readToSegment value indicates the last segment that has been read by the user in that channel. This is used to track the user's progress in reading messages within the channel. - required: - - channelId - - readToSegment - description: | - List of channels with their respective readToSegment values. Each channel object must include a channelId and the readToSegment value. - example: - - channelId: 67cfbbe1c5dbdcb2909935e5 - readToSegment: 4 - - channelId: 67cfbbd7c5dbdcb2909935d0 - readToSegment: 10 - - channelId: 67cfbbd7c5dbdcb2909935d1 - readToSegment: 10 - _channelId-post-request-payload: - description: | - Information of channel to be updated - required: true - content: - application/json: - schema: - type: object - properties: - displayName: - type: string - maxLength: 100 - avatarFileId: - type: string - maxLength: 50 - metadata: - type: object - tags: - type: array - maxItems: 10 - items: - type: string - maxLength: 100 - messageAutoDeleteEnabled: - type: boolean - autoDeleteMessageByFlagLimit: - type: number - minimum: 1 - maximum: 1000 - 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. - _channelId-seen-post-request-payload: - description: | - Segment of the message - required: true - content: - application/json: - schema: - type: object - properties: - readToSegment: - type: number - required: - - readToSegment - _channelId-users-post-request-payload: - description: | - Information of channel - required: true - content: - application/json: - schema: - type: object - properties: - userIds: - type: array - minItems: 1 - maxItems: 100 - items: - type: string - minLength: 1 - maxLength: 50 - required: - - userIds - _channelId-users-roles-post-request-payload: - required: true - content: - application/json: - schema: - type: object - properties: - role: - type: string - minLength: 1 - maxLength: 100 - userIds: - type: array - minItems: 1 - maxItems: 100 - items: - type: string - minLength: 1 - maxLength: 50 - required: - - userIds - - role - conversation-post-request-payload: - description: | - Information of conversation channel to be created - required: true - content: - application/json: - schema: - type: object - properties: - userIds: - type: array - maxItems: 10 - items: - type: string - maxLength: 50 - isDistinct: - type: boolean - default: true - displayName: - type: string - maxLength: 100 - avatarFileId: - type: string - maxLength: 50 - metadata: - type: object - tags: - type: array - maxItems: 10 - items: - type: string - maxLength: 100 - required: - - userIds - request_root-post-request-payload: - description: | - information of a comment to be created. - required: true - content: - application/json: - schema: - type: object - properties: - referenceId: - type: string - maxLength: 900 - referenceType: - type: string - enum: - - post - - content - - story - default: post - data: - type: object - properties: - text: - type: string - maxLength: 50000 - metadata: - type: object - commentId: - type: string - maxLength: 900 - parentId: - type: string - maxLength: 900 - 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 - example: user - description: | - type: * `user` - need to specific userIds and notification mentions individual user - enum: - - user - userIds: - type: array - example: - - userId1 - - userId2 - description: Array of UserId. if the mention type is a channel, doesn't send userIds - items: - type: string - createdAt: - type: string - description: The date/time when a comment is created. - format: date-time - example: '2022-07-07T04:24:20.444Z' - attachments: - type: array - description: The attachments/medias to be included in the comment - items: - $ref: '#/components/schemas/CommentAttachment' - required: - - referenceId - _commentId-put-request-payload: - description: | - comment information. - required: true - content: - application/json: - schema: - type: object - properties: - data: - type: object - properties: - text: - type: string - maxLength: 50000 - metadata: - type: object - 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 - example: user - description: | - type: * `user` - need to specific userIds and notification mentions individual user - enum: - - user - userIds: - type: array - example: - - userId1 - - userId2 - description: Array of UserId. if the mention type is a channel, doesn't send userIds - items: - type: string - attachments: - type: array - description: The attachments/medias to be included in the comment - items: - $ref: '#/components/schemas/CommentAttachment' - _commentId-flag-request-payload: - description: | - information of a comment to be flagged. - required: true - content: - application/json: - schema: - type: object - properties: - commentId: - type: string - maxLength: 900 - reason: - type: string - maxLength: 300 - default: Others - description: The reason for flagging this comment - detail: - type: string - maxLength: 300 - description: Additional details about the flag - required: - - commentId - request_root-post-request-payload-2: - description: | - information of a community to be created. - required: true - content: - application/json: - schema: - type: object - properties: - displayName: - type: string - minLength: 1 - maxLength: 1000 - isPublic: - type: boolean - default: true - isOfficial: - type: boolean - default: false - onlyAdminCanPost: - type: boolean - default: false - description: - type: string - minLength: 1 - maxLength: 5000 - tags: - type: array - minItems: 1 - maxItems: 10 - items: - type: string - minLength: 1 - maxLength: 100 - metadata: - type: object - avatarFileId: - type: string - maxLength: 50 - minLength: 1 - userIds: - type: array - minItems: 1 - maxItems: 1000 - items: - type: string - minLength: 1 - maxLength: 900 - categoryIds: - type: array - minItems: 1 - maxItems: 10 - items: - type: string - minLength: 1 - maxLength: 50 - isUniqueDisplayName: - type: boolean - default: false - needApprovalOnPostCreation: - type: boolean - default: false - allowCommentInStory: - type: boolean - default: true - 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. - required: - - displayName - _communityId-put-request-payload: - description: | - community information. - required: true - content: - application/json: - schema: - type: object - properties: - communityId: - type: string - minLength: 1 - maxLength: 900 - displayName: - type: string - minLength: 1 - maxLength: 1000 - isPublic: - type: boolean - isOfficial: - type: boolean - onlyAdminCanPost: - type: boolean - description: - type: string - minLength: 0 - maxLength: 5000 - tags: - type: array - minItems: 1 - maxItems: 10 - items: - type: string - minLength: 1 - maxLength: 100 - metadata: - type: object - avatarFileId: - type: string - maxLength: 50 - minLength: 1 - categoryIds: - type: array - minItems: 1 - maxItems: 10 - items: - type: string - minLength: 1 - maxLength: 50 - isUniqueDisplayName: - type: boolean - default: false - needApprovalOnPostCreation: - type: boolean - default: false - allowCommentInStory: - type: boolean - default: true - 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. - required: - - communityId - _communityId-users-post-request-payload: - description: | - information of a community. - required: true - content: - application/json: - schema: - type: object - properties: - userIds: - type: array - minItems: 1 - maxItems: 100 - items: - type: string - minLength: 1 - maxLength: 50 - required: - - userIds - _communityId-users-put-request-payload: - description: | - condition for querying - required: true - content: - application/json: - schema: - type: object - properties: - userIds: - type: array - minItems: 1 - maxItems: 100 - items: - type: string - minLength: 1 - maxLength: 900 - required: - - userIds - _communityId-users-roles-post-request-payload: - required: true - content: - application/json: - schema: - type: object - properties: - role: - type: string - minLength: 1 - maxLength: 100 - userIds: - type: array - minItems: 1 - maxItems: 100 - items: - type: string - minLength: 1 - maxLength: 50 - required: - - userIds - - role - _communityId-users-roles-request-payload: - required: true - content: - application/json: - schema: - type: object - properties: - roles: - type: array - minItems: 1 - maxItems: 20 - items: - description: Role id - type: string - minLength: 1 - maxLength: 100 - userIds: - type: array - minItems: 1 - maxItems: 100 - items: - type: string - minLength: 1 - maxLength: 50 - required: - - userIds - - roles - request_root-post-request-payload-3: - description: | - information of a community category to be created. - required: true - content: - application/json: - schema: - type: object - properties: - name: - type: string - maxLength: 1000 - metadata: - type: object - avatarFileId: - type: string - maxLength: 50 - required: - - name - _categoryId-put-request-payload: - description: | - community category information. - required: true - content: - application/json: - schema: - type: object - properties: - categoryId: - type: string - maxLength: 50 - name: - type: string - maxLength: 1000 - metadata: - type: object - avatarFileId: - type: string - maxLength: 50 - required: - - categoryId - request_root-post-request-payload-4: - description: | - Information of file to be created. It will be applied to every attachment - content: - multipart/form-data: - schema: - type: object - properties: - file: - type: array - items: - type: string - format: binary - fullImage: - type: boolean - nullable: true - preferredFilename: - type: string - maxLength: 1024 - accessType: - type: string - description: File access type. `network` type requires authentication to download. - enum: - - public - - network - default: public - common-post-request-payload: - content: - multipart/form-data: - schema: - type: object - properties: - files: - type: array - items: - type: string - format: binary - description: file data - preferredFilename: - type: string - maxLength: 1024 - accessType: - type: string - description: File access type. `network` type requires authentication to download. - enum: - - public - - network - default: public - required: - - files - upload-from-url-payload: - content: - application/json: - schema: - type: object - properties: - fileUrl: - type: string - description: A file URL to upload - preferredFilename: - type: string - maxLength: 1024 - accessType: - type: string - description: File access type. `network` type requires authentication to download. - enum: - - public - - network - default: public - required: - - fileUrl - message-feeds_messageFeedId-mark-delivering-request-payload: - description: Mark delivering - content: - application/json: - schema: - type: object - required: - - messageId - properties: - messageId: - type: string - description: message id (internal) - message-feeds_messageFeedId-mark-read-request-payload: - description: Mark read - content: - application/json: - schema: - type: object - required: - - readToSegment - properties: - readToSegment: - type: number - description: segment of message as read by user - message-feeds-reading-request-payload: - description: Message feed reading - content: - application/json: - schema: - type: object - required: - - messageFeedIds - properties: - messageFeedIds: - type: array - items: - type: string - description: message feed id (internal) - sync-request-payload: - description: Marker sync - content: - application/json: - schema: - type: object - properties: - deviceLastSyncAt: - type: string - description: The date/time when user device last sync. - format: date-time - blacklist-records-request-payload: - required: true - content: - application/json: - schema: - type: object - properties: - regexs: - type: array - items: - type: string - required: - - regexs - records-put-request-payload: - description: | - Rules information to be refreshed. - required: true - content: - application/json: - schema: - type: object - properties: - regexs: - type: array - items: - type: string - required: - - regexs - records-post-request-payload: - description: | - Rules information to be added. - required: true - content: - application/json: - schema: - type: object - properties: - regexs: - type: array - items: - type: string - isMatchExactWord: - type: boolean - required: - - regexs - records_ruleId-put-request-payload: - description: | - Rules information to be updated. - required: true - content: - application/json: - schema: - type: object - properties: - ruleId: - type: string - isEnabled: - type: boolean - required: - - ruleId - - isEnabled - settings-put-request-payload: - description: | - moderation setting information - required: true - content: - application/json: - schema: - type: object - properties: - maxRepetition: - type: integer - minimum: 0 - maxRepetitionTimeout: - type: integer - minimum: 0 - blacklistMuteTimeout: - type: integer - minimum: 0 - whitelistMuteTimeout: - type: integer - minimum: 0 - maxRepetitionMuteTimeout: - type: integer - minimum: 0 - enableImageModeration: - type: boolean - imageModeration: - type: object - properties: - nudity: - type: number - minimum: 0 - suggestive: - type: number - minimum: 0 - violence: - type: number - minimum: 0 - disturbing: - type: number - minimum: 0 - allowlists-post-request-payload: - description: | - Rules information to be added. - required: true - content: - application/json: - schema: - type: object - properties: - regexs: - type: array - minItems: 0 - maxItems: 100 - items: - type: string - minLength: 1 - maxLength: 500 - required: - - regexs - blocklists-post-request-payload: - description: | - Rules information to be added. - required: true - content: - application/json: - schema: - type: object - properties: - regexs: - type: array - minItems: 0 - maxItems: 100 - items: - type: string - minLength: 1 - maxLength: 500 - isMatchExactWord: - type: boolean - default: false - required: - - regexs - verify-request-payload: - content: - application/json: - schema: - type: object - properties: - data: - description: A list of URLs to be verified - type: array - items: - type: string - maxLength: 500 - maxItems: 10 - minItems: 1 - request_root-post-request-payload-5: - description: Payload for creating a new message feed - content: - application/json: - schema: - type: object - required: - - channelId - - name - properties: - name: - $ref: '#/components/schemas/MessageFeed_name' - channelId: - $ref: '#/components/schemas/MessageFeed_channelId' - createdAt: - $ref: '#/components/schemas/MessageFeed_createdAt' - _messageFeedId-put-request-payload: - description: Payload for updating an existing message feed Message feed object that needs to be added - content: - application/json: - schema: - type: object - required: - - name - properties: - name: - $ref: '#/components/schemas/MessageFeed_name' - request_root-post-request-payload-6: - description: | - Information of message to be created - required: true - content: - application/json: - schema: - type: object - properties: - channelId: - type: string - maxLength: 150 - messageId: - type: string - maxLength: 150 - type: - type: string - enum: - - text - - image - - file - - custom - - video - - audio - - imagemap - default: text - data: - type: object - properties: - text: - type: string - maxLength: 20000 - fileId: - type: string - maxLength: 50 - parentId: - type: string - maxLength: 150 - metadata: - type: object - tags: - type: array - maxItems: 10 - items: - type: string - maxLength: 30 - mentionees: - type: array - description: The object of the mentions type and user who get a notification for the message. - maxItems: 2 - items: - $ref: '#/components/schemas/MentioneesRequest' - required: - - channelId - _messageId-post-request-payload: - description: | - Information of message to be updated - required: true - content: - application/json: - schema: - type: object - properties: - data: - type: object - properties: - text: - type: string - maxLength: 20000 - metadata: - type: object - tags: - type: array - maxItems: 10 - items: - type: string - maxLength: 30 - mentionees: - type: array - description: The object of the mentions type and user who get a notification for the message. - maxItems: 2 - items: - $ref: '#/components/schemas/MentioneesRequest' - create-message-request-payload: - description: Message object that needs to be added - content: - application/json: - schema: - type: object - required: - - referenceId - - dataType - - messageFeedId - properties: - messageFeedId: - $ref: '#/components/schemas/MessageV5_messageFeedId' - parentId: - $ref: '#/components/schemas/MessageV5_parentId' - referenceId: - $ref: '#/components/schemas/MessageV5_referenceId' - dataType: - $ref: '#/components/schemas/MessageV5_dataType' - data: - $ref: '#/components/schemas/MessageV5_data' - fileId: - $ref: '#/components/schemas/MessageV5_fileId' - metadata: - $ref: '#/components/schemas/MessageV5_metadata' - tags: - $ref: '#/components/schemas/Generic_tags' - mentionedUsers: - $ref: '#/components/schemas/MessageV5_mentionedUsers' - createdAt: - $ref: '#/components/schemas/MessageV5_createdAt' - update-message-request-payload: - description: Message object that needs to be updated - content: - application/json: - schema: - type: object - properties: - data: - $ref: '#/components/schemas/MessageV5_data' - metadata: - $ref: '#/components/schemas/MessageV5_metadata' - tags: - $ref: '#/components/schemas/Generic_tags' - mentionedUsers: - $ref: '#/components/schemas/MessageV5_mentionedUsers' - root-put-request-payload: - description: | - information for a network setting - required: true - content: - application/json: - schema: - type: object - properties: - networkId: - type: string - tierHandler: - type: string - maxLength: 200 - socialEnabled: - type: boolean - videoStreamingEnabled: - type: boolean - chatEnabled: - type: boolean - isWhitelistEnabled: - type: boolean - chat-put-request-payload: - description: | - information for a network setting - required: true - content: - application/json: - schema: - type: object - properties: - isAllowMentionedChannelEnabled: - type: boolean - default: false - messagePreviewSetting: - type: object - description: Message preview setting - properties: - enabled: - type: boolean - default: false - description: message preview feature enable or disable - isIncludeDeleted: - type: boolean - default: false - description: message preview can be a deleted message, if false return message preview without a deleted message - required: - - enabled - isAllowAdminViewConversationMessage: - type: boolean - default: true - isAllowAdminManageConversationMessage: - type: boolean - default: true - allowMemberToUpdateConversationChannel: - type: boolean - default: false - description: Allow conversation channel that has more than 2 member wide edit rights - prehook-put-request-payload: - description: | - Information of a prehook to be updated. - required: true - content: - application/json: - schema: - type: object - properties: - enabled: - type: boolean - callbackUrl: - type: string - maxLength: 900 - defaultAction: - type: string - enum: - - allow - - deny - regenerateKey: - type: boolean - description: An option for regenerating the secret key. - social-put-request-payload: - description: | - information for a network setting - required: true - content: - application/json: - schema: - type: object - properties: - userPrivacySetting: - type: string - enum: - - public - - private - isFollowWithRequestEnabled: - type: boolean - default: false - isAllowEditPostWhenReviewingEnabled: - type: boolean - showOnlyMyFeed: - type: boolean - default: false - showMyPost: - type: boolean - showEveryonePost: - type: boolean - showCommunityPost: - type: boolean - showFollowingPost: - type: boolean - isAllowMentionedChannelEnabled: - type: boolean - disallowNonMemberInteractInCommunity: - type: boolean - storyExpiryTimeMinutes: - type: integer - minimum: 60 - maximum: 1440 - default: 1440 - allowAllUserToCreateStory: - type: boolean - description: Allow all user to create story (default will allow only user that have permission to create story) - allowJoinPrivateCommunity: - type: boolean - description: | - true - Allow user to join private community by themselves - false - User need to be added to join private community - maxGlobalPinnedPost: - description: Maximum number of global pinned post (only super admin) - type: integer - minimum: 1 - maximum: 20 - default: 1 - semantic-search-put-request-payload: - description: | - information for a network setting - required: true - content: - application/json: - schema: - type: object - properties: - postMinScore: - type: number - minimum: 0 - maximum: 1 - communityMinScore: - type: number - minimum: 0 - maximum: 1 - users-put-request-payload: - description: | - Information of a users to be updated. - required: true - content: - application/json: - schema: - type: object - properties: - isAllowUpdateDisplayName: - type: boolean - webhook-put-request-payload: - description: | - information for a network setting - required: true - content: - application/json: - schema: - type: object - properties: - webhookEnabled: - type: boolean - description: | - `true` - User can register webhook for network and will receive a webhook. - `false` - User won't be able to register webhook and won't receive a webhook. - uikit-put-request-payload: - description: UIKit config in json - required: true - content: - application/json: - schema: - type: object - example: - config: - preferred_theme: default - theme: - light: - primary_color: '#1054DF' - secondary_color: '#292B32' - base_color: '#292B32' - base_shade1_color: '#636878' - base_shade2_color: '#898E9E' - base_shade3_color: '#A5A9b5' - base_shade4_color: '#EBECEF' - alert_color: '#FA4D30' - background_color: '#FFFFFF' - base_inverse_color: '#000000' - background_shade1_color: '#F6F7F8' - highlight_color: '#1054DE' - dark: - primary_color: '#1054DE' - secondary_color: '#292B32' - base_color: '#EBECEF' - base_shade1_color: '#A5A9B5' - base_shade2_color: '#6E7487' - base_shade3_color: '#40434E' - base_shade4_color: '#292B32' - alert_color: '#FA4D30' - background_color: '#191919' - base_inverse_color: '#FFFFFF' - background_shade1_color: '#40434E' - highlight_color: '#1054DE' - request_root-post-request-payload-7: - description: | - information of a device to be registered. - required: true - content: - application/json: - schema: - type: object - properties: - deviceId: - type: string - maxLength: 150 - platform: - type: string - enum: - - android - - ios - token: - type: string - description: device token for push notification. For ios platform, the token length must be less than or equals 400 characters and they must be hexadecimal. - maxLength: 1000 - userId: - type: string - provider: - type: string - required: - - deviceId - - platform - - token - - userId - setting-post-request-payload: - description: | - Notification setting information to be updated - required: true - content: - application/json: - schema: - type: object - properties: - level: - type: string - enum: - - user - - channel - - community - description: | - level: - * `user` - need to specific modules via notifiableEvents. - * `channel` - need to specific channelId. - * `community` - need to specific communityId and community event via notifiableEvents. - isPushNotifiable: - type: boolean - channelId: - type: string - minLength: 1 - maxLength: 900 - communityId: - type: string - minLength: 1 - maxLength: 900 - notifiableEvents: - type: array - minItems: 1 - maxItems: 7 - items: - type: object - properties: - name: - type: string - enum: - - channel.created - - channel.joined - - conversation-channel.joined - - text-mention-message.created - - message.created - - conversation-message.created - - conversation-text-message.created - - conversation-image-message.created - - conversation-file-message.created - - post.created - - post.approved - - post.need-reviewing - - text-mention-post.created - - text-mention-user-feed-post.created - - video-streaming-post.created - - post.reacted - - comment.created - - text-mention-comment.created - - text-mention-user-feed-comment.created - - comment.replied - - text-mention-comment.replied - - text-mention-user-feed-comment.replied - - comment.reacted - - follow.created - - follow.requested - - follow.accepted - - community.roleAdded - - community.updated - - video-streaming.didStart - moduleName: - type: string - enum: - - chat - - video-streaming - - social - isPushNotifiable: - type: boolean - titleTemplate: - type: string - maxLength: 1000 - bodyTemplate: - type: string - maxLength: 5000 - listenFromRoleIds: - type: array - maxItems: 10 - items: - type: string - minLength: 1 - maxLength: 900 - description: specific roles for get notify by event creator who has roles only - ignoreFromRoleIds: - type: array - maxItems: 10 - items: - type: string - minLength: 1 - maxLength: 900 - description: specific roles for ignore notify by event creator who has roles only - required: - - level - request_root-post-request-payload-8: - description: | - Information of a poll to be created. - ### Required - - at least 2 options - - dataType currently support only `text` - - closedIn unit must be `milliseconds` - required: true - content: - application/json: - schema: - type: object - properties: - text: - type: string - question: - type: string - description: question. - answers: - type: array - minimum: 2 - maxItems: 10 - items: - type: object - properties: - dataType: - description: Datatype of answer (current only string). - type: string - enum: - - text - data: - type: string - answerType: - description: single or multiple. - type: string - enum: - - single - - multiple - - null - default: null - closedIn: - type: number - description: Countdown time to close vote (milliseconds) - required: - - data - _pollId-put-request-payload: - description: | - Information of a poll to be updated. - ### Required - - currently support only `closed` - required: true - content: - application/json: - schema: - type: object - properties: - text: - type: string - status: - description: poll status - type: string - default: closed - required: - - data - _pollId-votes-post-request-payload: - description: | - Information of a poll to be voted. - ### Required - - answerIds for vote the poll - required: true - content: - application/json: - schema: - type: object - properties: - answerIds: - description: poll id - type: array - items: - type: string - required: - - data - request_root-post-request-payload-9: - description: | - information of a post to be created. - - When `dataType` is set `data` payload can be anything but it will not support normal data capability (ex. images and files) and `data` payload size will be limit to `100kb` - required: true - content: - application/json: - schema: - type: object - properties: - text: - type: string - deprecated: true - data: +components: + securitySchemes: + ApiKeyAuth: + type: apiKey + in: header + name: X-API-Key + BearerAuth: + type: http + scheme: bearer + cookieAuth: + type: apiKey + in: cookie + name: connect.sid + basicAuth: + type: http + scheme: basic + schemas: + Content: + type: object + properties: + contentId: + type: string + description: Internal ID of the content. + contentPublicId: + type: string + description: Public ID of the content. + contentType: + type: string + enum: + - post + - comment + description: Type of the content. + flagCount: + type: integer + description: Number of flags on the content. + lastFlaggedAt: + type: string + format: date-time + description: Timestamp of the last flag on the content. + lastReviewedAt: + type: string + format: date-time + description: Timestamp of the last review on the content. + manualReview: + type: object + properties: + reviewedType: + type: string + enum: + - delete + - clearFlag + description: Type of manual review action. + reviewedAt: + type: string + format: date-time + description: Timestamp of the manual review action. + reviewedBy: + type: string + description: Internal ID of the user who performed the manual review. + tags: + type: array + items: + type: string + maxLength: 24 + max: 5 + description: List of tags associated with the content. + aiModeration: + type: object + properties: + type: + type: string + enum: + - text + - image + - video + moderatedAction: + type: string + enum: + - delete + - flag + description: Type of AI moderation action. + moderatedAt: + type: string + format: date-time + description: Timestamp of the AI moderation action. + categories: + type: array + items: type: object - description: require text or images or files (can't add images with files) + description: List of categories identified by AI moderation. properties: - text: + name: type: string - images: - type: array - items: - type: string - files: - type: array - items: - type: string - required: - - text - dataType: - type: string - example: upstra.customtype - description: must be in namespace like format (ex. "upstra.customtype", "com.eko.birthday") - targetType: - type: string - enum: - - user - - community - - content - default: user - targetId: - type: string - example: - metadata: - type: object - postId: - type: string - tags: - type: array - minItems: 0 - maxItems: 5 - items: - type: string - maximum: 24 - description: tags - createdAt: - type: string - description: The date/time when a post is created. - format: date-time - example: '2022-07-07T04:24:20.444Z' - required: - - data - _postId-put-request-payload: + description: Category name. + score: + type: number + format: float + description: Confidence score of the category. + targetId: + type: string + description: ID of the target (user or community) associated with the content. + targetType: + type: string + description: Type of the target (user or community) associated with the content. + userId: + type: string + description: ID of the user who created the content. + Error: + 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 + PremiumReportNetworkSetting: + type: object + properties: + enabled: + type: boolean + default: false + PremiumReport: + type: object + properties: + fileName: + type: string + description: The name of the report file. + lastModified: + type: string + format: date-time + description: The date and time when the report was last modified. + fileSize: + type: integer + description: The size of the report file in bytes. + responses: + root-response-200: description: | - information of a post to be updated. - required: true + Moderation feeds information. To display actual content, use the contentId and contentType to get the content from the list API (ex. Post list, Comment list). content: application/json: schema: type: object properties: - text: - type: string - deprecated: true - data: - type: object - properties: - text: - type: string - maximum: 50000 - description: For updating text in the post - fileId: - type: string - maximum: 100 - description: Put file id to update file,image inside file, image post (video is not supported yet) - streamId: - type: string - maximum: 100 - description: Put stream id to update live streaming post with new streaming - thumbnailFileId: - type: string - maximum: 100 - description: Put image file id to update video file thumbnail in video post - metadata: - type: object - tags: + contents: type: array - minItems: 0 - maxItems: 5 items: - type: string - maximum: 24 - description: tags - required: - - postId - _postId-flag-request-payload: - description: Information required to flag a post. - required: true - content: - application/json: - schema: - type: object - properties: - reason: - type: string - maxLength: 300 - default: Others - description: The reason for flagging this post - detail: - type: string - maxLength: 300 - description: Additional details about the flag - request__postId-put-request-payload: - description: | - information of a post to be updated. - ### Image, File, Video post update - Put `type` with file id in `attachments` - Image and File data can be picked from `fileId` in `data` object in child post - Video fileId for each resolution will be in `videoFileId` in `data` object in child post - required: true - content: - application/json: - schema: - type: object - properties: - text: - type: string - deprecated: true - data: + $ref: '#/components/schemas/Content' + paging: type: object properties: - text: - type: string - maximum: 50000 - description: For updating text in the post - fileId: - type: string - maximum: 100 - description: Put file id to update file,image inside file, image post (video is not supported yet) - streamId: + next: type: string - maximum: 100 - description: Put stream id to update live streaming post with new streaming - thumbnailFileId: + previous: type: string - maximum: 100 - description: Put image file id to update video file thumbnail in video post - metadata: - type: object - tags: - type: array - minItems: 0 - maxItems: 5 - items: - type: string - maximum: 24 - description: tags - 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 - example: user - description: | - type: * `user` - need to specific userIds and notification mentions individual user - enum: - - user - userIds: - type: array - example: - - userId1 - - userId2 - description: Array of UserId. if the mention type is a channel, doesn't send userIds - items: - type: string - attachments: - type: array - items: - type: object - description: attachment info - properties: - fileId: - type: string - example: 57b916d38eaf8010caddfb7759a2d06c - description: file id for attachment - type: - type: string - description: attachment type - enum: - - image - - file - - video - settings-user-request-payload: + total: + type: integer + description: Total number of contents that match the filter. + example: 100 + BadRequestError: + description: Bad Request error. content: application/json: schema: - type: object - properties: - enabled: - type: boolean - required: - - enabled - request_root-post-request-payload-10: - description: | - reference ID and type with reaction name - required: true + $ref: '#/components/schemas/Error' + example: + status: error + code: 400000 + message: Bad Request. + UnexpectedError: + description: Unexpected error. content: application/json: schema: - type: object - properties: - referenceId: - type: string - maxLength: 900 - referenceType: - type: string - enum: - - message - - post - - comment - - story - reactionName: - type: string - maxLength: 100 - referenceVersion: - description: The API version of the document (Ex. If using with message v5, the referenceVersion will be 5) - type: integer - required: - - referenceId - - referenceType - - reactionName - request_root-put-request-payload: + $ref: '#/components/schemas/Error' + example: + status: error + code: 500000 + message: Unexpected error + premium-reports-get-response-200: description: | - Permission information to be added - required: true + Premium report settings response. content: application/json: schema: - type: object - properties: - publicIds: - type: array - description: The list of role public ids - items: - type: string - permissions: - type: array - description: The list of permission to be added. You can see all permissions at https://docs.amity.co/amity-sdk/core-concepts/user/user-permission#permissions - items: - type: string - required: - - publicIds - - permissions - role-request-payload: + $ref: '#/components/schemas/PremiumReportNetworkSetting' + root-get-response-200: description: | - information of a role to be created. - required: true + Premium report list. content: application/json: schema: type: object properties: - roleId: - type: string - description: role id - minLength: 1 - maxLength: 100 - displayName: - type: string - description: display name of role - minLength: 0 - maxLength: 100 - permissions: + reports: 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 - required: - - roleId - - permissions - request_root-post-request-payload-11: - description: | - Information about user and devices that he/she use to connect to. If displayName is provide, that user display is updated as well. - - If userId doesn't exists, new user will be created. - - authToken need to pass when network option is set to secure - required: true - content: - application/json: - schema: - type: object - properties: - userId: - type: string - minLength: 1 - maxLength: 50 - deviceId: - type: string - minLength: 1 - maxLength: 150 - deviceInfo: + $ref: '#/components/schemas/PremiumReport' + paging: type: object properties: - kind: - type: string - enum: - - ios - - android - - web - - node - model: - type: string - maxLength: 100 - sdkVersion: + next: type: string - maxLength: 30 - displayName: - type: string - maxLength: 100 - authToken: - type: string - description: Authentication token from /api/v3/authentication/token - minLength: 1 - maxLength: 100 - required: - - userId - - deviceId - request_root-post-request-payload-12: + download-response-302: description: | - Information about user and devices that he/she use to connect to. If displayName is provide, that user display is updated as well. - - If userId doesn't exists, new user will be created. - - authToken need to pass when network option is set to secure - - accessToken expiry 30 days - required: true - content: - application/json: + Redirect to S3 signed URL for downloading the report. + headers: + Location: schema: - type: object - properties: - userId: - type: string - minLength: 1 - maxLength: 50 - deviceId: - type: string - minLength: 1 - maxLength: 150 - deviceInfo: - type: object - properties: - kind: - type: string - enum: - - ios - - android - - web - - node - model: - type: string - maxLength: 100 - sdkVersion: - type: string - maxLength: 30 - displayName: - type: string - maxLength: 100 - authToken: - type: string - description: Authentication token from /api/v3/authentication/token - minLength: 1 - maxLength: 100 - required: - - userId - - deviceId - request_root-post-request-payload-13: + type: string + format: uri + example: https://s3.amazonaws.com/bucket-name/report.csv?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Expires=1234567890&Signature=example + list-networks-get-response-200: + description: | + List settings of networks that have the premium report enabled. 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: + premiumReportSettings: type: array - description: List of items contained in story. Currently only support hyperlink item. Only one hyperlink item is allowed per story. items: - $ref: '#/components/schemas/StoryItem' - 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 - request_common-post-request-payload: - required: true + type: object + properties: + networkId: + type: string + description: Network ID. + example: 507f1f77bcf86cd799439011 + enabled: + type: boolean + description: Whether the premium report is enabled or not. + example: true + description: List of settings of networks that have the premium report enabled. + premium-reports-put-response-200: + description: | + Premium report settings response. content: application/json: schema: - type: object - properties: - userId: - type: string - required: - - userId - request_root-put-request-payload-2: - description: | - User to be updated - required: true + $ref: '#/components/schemas/PremiumReportNetworkSetting' + root-post-response-200: + description: Successful response content: application/json: schema: type: object properties: - userId: - type: string - maxLength: 50 - displayName: - type: string - maxLength: 100 - roles: - type: array - description: Only administrator can update system roles (moderator and admin) - maxItems: 10 - items: - type: string - maxLength: 100 - metadata: - type: object - description: | - User metadata (max: 5,000 bytes) - avatarFileId: - type: string - maxLength: 50 - avatarCustomUrl: - type: string - maxLength: 1000 - description: + message: type: string - maxLength: 500 - user-event-video-streaming-request-payload: - description: A group of user activity on startTime, endTime and watchSeconds. - required: true + example: success + UnAuthorizedError: + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + example: + status: error + code: 400100 + message: Unauthorized + roles-post-response-200: + description: Successful response for create role API content: application/json: schema: - required: - - signature - - nonceStr - - timestamp - - streams + type: object properties: - signature: - description: check detail signature algorithm at https://ekoapp.atlassian.net/wiki/spaces/UP/pages/1685750282/Billing#Signature-Algorithm%3A - type: string - nonceStr: - description: unique string for each request, max length 50 - type: string - timestamp: - description: timestamp string in UTC format - type: string - example: '2021-03-10T03:07:16.127Z' - streams: + roles: type: array items: type: object - required: - - streamId - - startTime - - endTime - - watchSeconds - - resolution properties: - sessionId: - description: unique sessionId for each user event, max length 50 + roleId: type: string - streamId: - description: streamId of video streaming instance, max length 50 + description: The unique ID of the role. + example: test + displayName: type: string - startTime: - description: timestamp string in UTC format + description: The display name of the role. + example: test + permissions: + type: array + items: + type: string + description: List of permissions assigned to the role. + example: + - VIEW_DYNAMIC_UI + - VIEW_CHANNEL_MANAGEMENT + - MANAGE_CHANNEL + - MODERATE_CHANNEL + - VIEW_STORY_MANAGEMENT + - MANAGE_STORY + - VIEW_POST_AND_COMMENT_MANAGEMENT + - MODERATE_POST_AND_COMMENT + - MANAGE_POST_AND_COMMENT + - CAN_USE_BRAND_USERS + - CAN_MANAGE_BRAND_USERS + - CAN_MANAGE_GLOBAL_PINNED_POST + - CAN_MANAGE_PINNED_POST + - CAN_MANAGE_FEATURED_POST + - VIEW_LIVE_STREAMING_MANAGEMENT + - MANAGE_LIVE_STREAMING + - MODERATE_LIVE_STREAMING + - VIEW_COMMUNITY_MANAGEMENT + - MANAGE_COMMUNITY + - MODERATE_COMMUNITY + - DELETE_COMMUNITY + - VIEW_COMMUNITY_CATEGORY_MANAGEMENT + - MANAGE_COMMUNITY_CATEGORY + - VIEW_SPONSORED_CONTENT_MANAGEMENT + - MANAGE_SPONSORED_CONTENT + - MANAGE_AD_SETTING + - VIEW_USAGE + - VIEW_MODERATION_FEED + - MANAGE_ALLOW_LIST + - MANAGE_BLOCK_LIST + - MANAGE_IMAGE_MODERATION_SETTING + - MANAGE_LIVE_STREAMING_MODERATION_SETTING + - VIEW_USER_MANAGEMENT + - MANAGE_USER + - MODERATE_USER + - VIEW_USER_ROLE_MANAGEMENT + - MANAGE_USER_ROLE + - VIEW_ADMIN_USER + - MANAGE_ADMIN + - VIEW_ADMIN_ROLE + - VIEW_SETTING + - MANAGE_SETTING + - MANAGE_SECURITY + isDeleted: + type: boolean + description: Indicates if the role is deleted. + example: false + type: type: string - example: '2021-03-10T03:07:16.127Z' - endTime: - description: timestamp string in UTC format + description: The type of the role. + example: consoleAdmin + description: type: string - example: '2021-03-10T03:07:16.127Z' - watchSeconds: - description: user's watching time in seconds - type: number - example: 120 - request_root-post-request-payload-14: - description: | - Information of video streaming to be created - required: true - content: - application/json: - schema: - type: object - properties: - title: - type: string - maxLength: 1000 - description: - type: string - maxLength: 5000 - thumbnailFileId: - type: string - maxLength: 50 - metadata: - type: object - isSecure: - type: boolean - default: false - resolution: - type: string - enum: - - SD - - HD - - FHD - default: SD - required: - - title - _streamId-request-payload: - description: | - Information of video streaming to be updated - required: true + description: A brief description of the role. + example: test + NotFoundError: + description: Resource Not Found error. content: application/json: schema: - type: object - properties: - title: - type: string - maxLength: 1000 - description: - type: string - maxLength: 5000 - thumbnailFileId: - type: string - maxLength: 50 - metadata: - type: object - resolution: - type: string - enum: - - SD - - HD - - FHD - default: SD - required: - - title - examples: - ForbiddenAvatarError: - summary: Put file type not image into avatar - value: - status: error - code: 400300 - message: Avatar must be an image. - PermissionDeniedError: - summary: Permission denied. - value: - status: error - code: 400301 - message: User is not a member of a channel - ForbiddenError: - summary: No permission to access this resource. - value: - status: error - code: 400300 - message: Forbidden error. - UserIsBannedError: - summary: User is banned from a channel / community. - value: - status: error - code: 400304 - message: User is banned from a channel / community. - GenericPermissionDeniedError: - summary: Permission denied. - value: - status: error - code: 400301 - message: Permission denied - DuplicateEntryError: - summary: Data already exists - value: - status: error - code: 400315 - message: Data already exists - ExemptFromBanError: - summary: Some users cannot be banned - value: - status: error - code: 400306 - message: Some users cannot be banned - UserIsUnbannedError: - summary: User is unbanned from a channel / community. - value: - status: error - code: 400316 - message: User is unbanned from a channel / community. - UserIsMutedError: - summary: User is muted from the channel. - value: - status: error - code: 400302 - message: User is muted from the channel. - ChannelIsMutedError: - summary: Channel is muted. - value: - status: error - code: 400303 - message: Channel is muted. - MaxRepetitionExceed: - summary: User create too many same messages in short period of times. - value: - status: error - code: 400307 - message: Max Repetition Exceed - BanWordFoundError: - summary: Banned word are found in the messages. - value: - status: error - code: 400308 - message: Data contain blacklist word - LinkNotAllowedError: - summary: Unallowed link are found in the messages. - value: - status: error - code: 400309 - message: Data contain link that is not in whitelist + $ref: '#/components/schemas/Error' + example: + status: error + code: 400400 + message: Resource Not Found. diff --git a/package.json b/package.json index 5782595a..f157c42e 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,9 @@ "scripts": { "lint": "redocly lint swagger.yaml", "build": "redocly bundle swagger.yaml -o bundled.yaml", + "build-admin": "redocly bundle swagger-admin.yaml -o bundled.yaml", "prepare-local": "npm run build && rm -rf ./local && cp -r build local && cp ./bundled.yaml ./local/bundled.yaml && sh ./scripts/prepare-local.sh", + "prepare-local-admin": "npm run build-admin && rm -rf ./local && cp -r build local && cp ./bundled.yaml ./local/bundled.yaml && sh ./scripts/prepare-local.sh", "prepare": "husky", "changelog:gen": "git-cliff --output CHANGELOG.md", "changelog:patch": "git-cliff --bump patch --output CHANGELOG.md", diff --git a/schema/content.yaml b/schema/content.yaml new file mode 100644 index 00000000..6dd78055 --- /dev/null +++ b/schema/content.yaml @@ -0,0 +1,90 @@ +Content: + type: object + properties: + contentId: + type: string + description: Internal ID of the content. + contentPublicId: + type: string + description: Public ID of the content. + contentType: + type: string + enum: + - post + - comment + description: Type of the content. + flagCount: + type: integer + description: Number of flags on the content. + lastFlaggedAt: + type: string + format: date-time + description: Timestamp of the last flag on the content. + lastReviewedAt: + type: string + format: date-time + description: Timestamp of the last review on the content. + manualReview: + type: object + properties: + reviewedType: + type: string + enum: + - delete + - clearFlag + description: Type of manual review action. + reviewedAt: + type: string + format: date-time + description: Timestamp of the manual review action. + reviewedBy: + type: string + description: Internal ID of the user who performed the manual review. + tags: + type: array + items: + type: string + maxLength: 24 + max: 5 + description: List of tags associated with the content. + aiModeration: + type: object + properties: + type: + type: string + enum: + - text + - image + - video + moderatedAction: + type: string + enum: + - delete + - flag + description: Type of AI moderation action. + moderatedAt: + type: string + format: date-time + description: Timestamp of the AI moderation action. + categories: + type: array + items: + type: object + description: List of categories identified by AI moderation. + properties: + name: + type: string + description: Category name. + score: + type: number + format: float + description: Confidence score of the category. + targetId: + type: string + description: ID of the target (user or community) associated with the content. + targetType: + type: string + description: Type of the target (user or community) associated with the content. + userId: + type: string + description: ID of the user who created the content. diff --git a/schema/network-setting.yaml b/schema/network-setting.yaml index e7522a47..7ebdbc09 100644 --- a/schema/network-setting.yaml +++ b/schema/network-setting.yaml @@ -19,6 +19,8 @@ NetworkSetting: type: boolean tierHandler: type: string + premiumReport: + $ref: "#/PremiumReportNetworkSetting" SocialNetworkSetting: type: object @@ -356,3 +358,10 @@ SemanticSearchNetworkSetting: default: false minScore: type: number + +PremiumReportNetworkSetting: + type: object + properties: + enabled: + type: boolean + default: false diff --git a/schema/premium-report.yaml b/schema/premium-report.yaml new file mode 100644 index 00000000..ede88579 --- /dev/null +++ b/schema/premium-report.yaml @@ -0,0 +1,13 @@ +PremiumReport: + type: object + properties: + fileName: + type: string + description: The name of the report file. + lastModified: + type: string + format: date-time + description: The date and time when the report was last modified. + fileSize: + type: integer + description: The size of the report file in bytes. diff --git a/swagger-admin.yaml b/swagger-admin.yaml new file mode 100644 index 00000000..d92a7661 --- /dev/null +++ b/swagger-admin.yaml @@ -0,0 +1,60 @@ +openapi: "3.0.0" +info: + title: "Social+ Cloud SDK" + description: + $ref: "./description.md" + version: "4.99.1" +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" +paths: + /admin/v1/moderation-feeds: + $ref: "./v1-admin/moderation-feeds/index.yaml#/root" + + /admin/v1/network-settings/premium-reports: + $ref: "./v1-admin/network-settings/index.yaml#/premium-reports" + + /admin/v1/premium-reports: + $ref: "./v1-admin/premium-reports/index.yaml#/root" + + /admin/v1/premium-reports/download: + $ref: "./v1-admin/premium-reports/index.yaml#/download" + + /internal/v1/premium-reports/list-networks: + $ref: "./v1-internal/premium-reports/index.yaml#/list-networks" + + /internal/v1/network-settings/premium-report: + $ref: "./v1-internal/network-settings/index.yaml#/premium-report" + + /admin/v1/admin: + $ref: "./v1-admin/admin/index.yaml#/root" + + /admin/v1/admin/update: + $ref: "./v1-admin/admin/index.yaml#/update" + + /admin/v1/admin/roles: + $ref: "./v1-admin/admin/index.yaml#/roles" + + /admin/v1/admin/roles/{roleId}: + $ref: "./v1-admin/admin/index.yaml#/_roleId" + +components: + securitySchemes: + ApiKeyAuth: + type: "apiKey" + in: "header" + name: "X-API-Key" + BearerAuth: + type: "http" + scheme: "bearer" + cookieAuth: # arbitrary name for the security scheme; will be used in the "security" key later + type: apiKey + in: cookie + name: connect.sid # cookie name + basicAuth: + type: http + scheme: basic diff --git a/v1-admin/admin/index.yaml b/v1-admin/admin/index.yaml new file mode 100644 index 00000000..333e09d2 --- /dev/null +++ b/v1-admin/admin/index.yaml @@ -0,0 +1,484 @@ +root: + post: + summary: "Create a new admin user" + description: "Creates a new admin user with the specified details and permissions." + tags: + - "Admin" + security: + - cookieAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + username: + type: string + description: "The username for the new admin." + example: "newadmin" + displayName: + type: string + description: "The display name for the new admin." + example: "New Admin" + password: + type: string + description: "The password for the new admin." + example: "securepassword123" + firstname: + type: string + description: "The first name of the new admin." + example: "John" + lastname: + type: string + description: "The last name of the new admin." + example: "Doe" + permissions: + type: array + items: + type: string + description: "List of permissions assigned to the new admin." + example: + - "VIEW_DYNAMIC_UI" + - "VIEW_CHANNEL_MANAGEMENT" + - "MANAGE_CHANNEL" + - "MODERATE_CHANNEL" + - "VIEW_STORY_MANAGEMENT" + - "MANAGE_STORY" + - "VIEW_POST_AND_COMMENT_MANAGEMENT" + - "MODERATE_POST_AND_COMMENT" + - "MANAGE_POST_AND_COMMENT" + - "CAN_USE_BRAND_USERS" + - "CAN_MANAGE_BRAND_USERS" + - "CAN_MANAGE_GLOBAL_PINNED_POST" + - "CAN_MANAGE_PINNED_POST" + - "CAN_MANAGE_FEATURED_POST" + - "VIEW_LIVE_STREAMING_MANAGEMENT" + - "MANAGE_LIVE_STREAMING" + - "MODERATE_LIVE_STREAMING" + - "VIEW_COMMUNITY_MANAGEMENT" + - "MANAGE_COMMUNITY" + - "MODERATE_COMMUNITY" + - "DELETE_COMMUNITY" + - "VIEW_COMMUNITY_CATEGORY_MANAGEMENT" + - "MANAGE_COMMUNITY_CATEGORY" + - "VIEW_SPONSORED_CONTENT_MANAGEMENT" + - "MANAGE_SPONSORED_CONTENT" + - "MANAGE_AD_SETTING" + - "VIEW_USAGE" + - "VIEW_MODERATION_FEED" + - "MANAGE_ALLOW_LIST" + - "MANAGE_BLOCK_LIST" + - "MANAGE_IMAGE_MODERATION_SETTING" + - "MANAGE_LIVE_STREAMING_MODERATION_SETTING" + - "VIEW_USER_MANAGEMENT" + - "MANAGE_USER" + - "MODERATE_USER" + - "VIEW_USER_ROLE_MANAGEMENT" + - "MANAGE_USER_ROLE" + - "VIEW_ADMIN_USER" + - "MANAGE_ADMIN" + - "VIEW_ADMIN_ROLE" + - "VIEW_SETTING" + - "MANAGE_SETTING" + - "MANAGE_SECURITY" + avatarFileId: + type: string + description: "The file ID of the avatar for the new admin." + example: "file-12345" + roleAssignments: + type: array + maxLength: 10 + items: + type: object + properties: + roleId: + type: string + description: "The ID of the role to assign." + scope: + type: object + description: "The scope of the role assignment." + properties: + communityIds: + type: array + description: "Community internal id for the role assignment." + items: + type: string + maxLength: 250 + example: + - roleId: "role-12345" + scope: + communityIds: + - "community-67890" + + description: "List of role assignments for the new admin." + required: + - username + - displayName + - password + - roleAssignments + responses: + 200: + $ref: "./response.yaml#/root-post-response-200" + 400: + $ref: "../../global/error.yaml#/BadRequestError" + 401: + $ref: "../../global/error.yaml#/UnAuthorizedError" + 500: + $ref: "../../global/error.yaml#/UnexpectedError" +update: + post: + summary: "Update admin user details" + description: "Updates the details of an existing admin user." + tags: + - "Admin" + security: + - cookieAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + userId: + type: string + description: "The ID of the admin user to update." + example: "68259ab53825b47fcb5a518e" + displayName: + type: string + description: "The updated display name for the admin." + example: "test" + firstname: + type: string + description: "The updated first name of the admin." + example: "Test" + lastname: + type: string + description: "The updated last name of the admin." + example: "test" + permissions: + type: array + items: + type: string + description: "Updated list of permissions assigned to the admin." + example: + - "VIEW_DYNAMIC_UI" + - "VIEW_CHANNEL_MANAGEMENT" + - "MANAGE_CHANNEL" + - "MODERATE_CHANNEL" + - "VIEW_STORY_MANAGEMENT" + - "MANAGE_STORY" + - "VIEW_POST_AND_COMMENT_MANAGEMENT" + - "MODERATE_POST_AND_COMMENT" + - "MANAGE_POST_AND_COMMENT" + - "CAN_USE_BRAND_USERS" + - "CAN_MANAGE_BRAND_USERS" + - "CAN_MANAGE_GLOBAL_PINNED_POST" + - "CAN_MANAGE_PINNED_POST" + - "CAN_MANAGE_FEATURED_POST" + - "VIEW_LIVE_STREAMING_MANAGEMENT" + - "MANAGE_LIVE_STREAMING" + - "MODERATE_LIVE_STREAMING" + - "VIEW_COMMUNITY_MANAGEMENT" + - "MANAGE_COMMUNITY" + - "MODERATE_COMMUNITY" + - "DELETE_COMMUNITY" + - "VIEW_COMMUNITY_CATEGORY_MANAGEMENT" + - "MANAGE_COMMUNITY_CATEGORY" + - "VIEW_SPONSORED_CONTENT_MANAGEMENT" + - "MANAGE_SPONSORED_CONTENT" + - "MANAGE_AD_SETTING" + - "VIEW_USAGE" + - "VIEW_MODERATION_FEED" + - "MANAGE_ALLOW_LIST" + - "MANAGE_BLOCK_LIST" + - "MANAGE_IMAGE_MODERATION_SETTING" + - "MANAGE_LIVE_STREAMING_MODERATION_SETTING" + - "VIEW_USER_MANAGEMENT" + - "MANAGE_USER" + - "MODERATE_USER" + - "VIEW_USER_ROLE_MANAGEMENT" + - "MANAGE_USER_ROLE" + - "VIEW_ADMIN_USER" + - "MANAGE_ADMIN" + - "VIEW_ADMIN_ROLE" + - "VIEW_SETTING" + - "MANAGE_SETTING" + - "MANAGE_SECURITY" + avatarFileId: + type: string + description: "The updated file ID of the avatar for the admin." + example: "3b05fe26320945438543a34e3d19e648" + roleAssignments: + type: array + items: + type: object + maxLength: 10 + properties: + roleId: + type: string + description: "The ID of the role to assign." + scope: + type: object + description: "The scope of the role assignment." + properties: + communityIds: + type: array + maxLength: 250 + description: "Community internal id for the role assignment." + items: + type: string + example: + - roleId: "role-12345" + scope: + communityIds: + - "community-67890" + description: "List of role assignments for the admin." + required: + - userId + - displayName + - firstname + - lastname + - permissions + - avatarFileId + - roleAssignments + responses: + 200: + $ref: "./response.yaml#/root-post-response-200" + 400: + $ref: "../../global/error.yaml#/BadRequestError" + 401: + $ref: "../../global/error.yaml#/UnAuthorizedError" + 500: + $ref: "../../global/error.yaml#/UnexpectedError" +roles: + get: + summary: "Query admin roles" + description: "Retrieve a list of admin roles based on query parameters." + tags: + - "Admin" + security: + - cookieAuth: [] + responses: + 200: + $ref: "./response.yaml#/roles-post-response-200" + 400: + $ref: "../../global/error.yaml#/BadRequestError" + 401: + $ref: "../../global/error.yaml#/UnAuthorizedError" + 500: + $ref: "../../global/error.yaml#/UnexpectedError" + post: + summary: "Create a new admin role" + description: "Creates a new admin role with the specified details and permissions. Role create from this API will have type as 'consoleAdmin'." + tags: + - "Admin" + security: + - cookieAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + roleId: + type: string + description: "The unique ID of the role." + example: "f74c96f3-eab5-4cda-b7a9-5d8e9402a43c" + maxLength: 100 + displayName: + type: string + description: "The display name of the role." + example: "some role test" + maxLength: 100 + description: + type: string + maxLength: 1024 + description: "A brief description of the role." + example: "This is a test role" + permissions: + type: array + items: + type: string + description: "List of permissions assigned to the role." + example: + - "VIEW_DYNAMIC_UI" + - "VIEW_CHANNEL_MANAGEMENT" + - "MANAGE_CHANNEL" + - "MODERATE_CHANNEL" + - "VIEW_STORY_MANAGEMENT" + - "MANAGE_STORY" + - "VIEW_POST_AND_COMMENT_MANAGEMENT" + - "MODERATE_POST_AND_COMMENT" + - "MANAGE_POST_AND_COMMENT" + - "CAN_USE_BRAND_USERS" + - "CAN_MANAGE_BRAND_USERS" + - "CAN_MANAGE_GLOBAL_PINNED_POST" + - "CAN_MANAGE_PINNED_POST" + - "CAN_MANAGE_FEATURED_POST" + - "VIEW_LIVE_STREAMING_MANAGEMENT" + - "MANAGE_LIVE_STREAMING" + - "MODERATE_LIVE_STREAMING" + - "VIEW_COMMUNITY_MANAGEMENT" + - "MANAGE_COMMUNITY" + - "MODERATE_COMMUNITY" + - "DELETE_COMMUNITY" + - "VIEW_COMMUNITY_CATEGORY_MANAGEMENT" + - "MANAGE_COMMUNITY_CATEGORY" + - "VIEW_SPONSORED_CONTENT_MANAGEMENT" + - "MANAGE_SPONSORED_CONTENT" + - "MANAGE_AD_SETTING" + - "VIEW_USAGE" + - "VIEW_MODERATION_FEED" + - "MANAGE_ALLOW_LIST" + - "MANAGE_BLOCK_LIST" + - "MANAGE_IMAGE_MODERATION_SETTING" + - "MANAGE_LIVE_STREAMING_MODERATION_SETTING" + - "VIEW_USER_MANAGEMENT" + - "MANAGE_USER" + - "MODERATE_USER" + - "VIEW_USER_ROLE_MANAGEMENT" + - "MANAGE_USER_ROLE" + - "VIEW_ADMIN_USER" + - "MANAGE_ADMIN" + - "VIEW_ADMIN_ROLE" + - "VIEW_SETTING" + - "MANAGE_SETTING" + - "MANAGE_SECURITY" + required: + - roleId + - displayName + - permissions + responses: + 200: + $ref: "./response.yaml#/roles-post-response-200" + 400: + $ref: "../../global/error.yaml#/BadRequestError" + 401: + $ref: "../../global/error.yaml#/UnAuthorizedError" + 500: + $ref: "../../global/error.yaml#/UnexpectedError" + +_roleId: + get: + summary: "Get admin role details" + description: "Retrieve details of a specific admin role by its ID." + tags: + - "Admin" + security: + - cookieAuth: [] + parameters: + - name: roleId + in: path + required: true + description: "The ID of the role to retrieve." + schema: + type: string + example: "f74c96f3-eab5-4cda-b7a9-5d8e9402a43c" + responses: + 200: + $ref: "./response.yaml#/roles-post-response-200" + 400: + $ref: "../../global/error.yaml#/BadRequestError" + 401: + $ref: "../../global/error.yaml#/UnAuthorizedError" + 404: + $ref: "../../global/error.yaml#/NotFoundError" + 500: + $ref: "../../global/error.yaml#/UnexpectedError" + put: + summary: "Update an admin role" + description: "Updates the details of an existing admin role." + tags: + - "Admin" + security: + - cookieAuth: [] + parameters: + - name: roleId + in: path + required: true + description: "The ID of the role to update." + schema: + type: string + example: "f74c96f3-eab5-4cda-b7a9-5d8e9402a43c" + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + displayName: + type: string + description: "The updated display name of the role." + example: "updated role test" + maxLength: 100 + description: + type: string + description: "An updated brief description of the role." + example: "This is an updated test role" + maxLength: 1024 + permissions: + type: array + items: + type: string + description: "Updated list of permissions assigned to the role." + example: + - "VIEW_DYNAMIC_UI" + - "VIEW_CHANNEL_MANAGEMENT" + - "MANAGE_CHANNEL" + - "MODERATE_CHANNEL" + - "VIEW_STORY_MANAGEMENT" + - "MANAGE_STORY" + - "VIEW_POST_AND_COMMENT_MANAGEMENT" + - "MODERATE_POST_AND_COMMENT" + - "MANAGE_POST_AND_COMMENT" + - "CAN_USE_BRAND_USERS" + - "CAN_MANAGE_BRAND_USERS" + - "CAN_MANAGE_GLOBAL_PINNED_POST" + - "CAN_MANAGE_PINNED_POST" + - "CAN_MANAGE_FEATURED_POST" + - "VIEW_LIVE_STREAMING_MANAGEMENT" + - "MANAGE_LIVE_STREAMING" + - "MODERATE_LIVE_STREAMING" + - "VIEW_COMMUNITY_MANAGEMENT" + - "MANAGE_COMMUNITY" + - "MODERATE_COMMUNITY" + - "DELETE_COMMUNITY" + - "VIEW_COMMUNITY_CATEGORY_MANAGEMENT" + - "MANAGE_COMMUNITY_CATEGORY" + - "VIEW_SPONSORED_CONTENT_MANAGEMENT" + - "MANAGE_SPONSORED_CONTENT" + - "MANAGE_AD_SETTING" + - "VIEW_USAGE" + - "VIEW_MODERATION_FEED" + - "MANAGE_ALLOW_LIST" + - "MANAGE_BLOCK_LIST" + - "MANAGE_IMAGE_MODERATION_SETTING" + - "MANAGE_LIVE_STREAMING_MODERATION_SETTING" + - "VIEW_USER_MANAGEMENT" + - "MANAGE_USER" + - "MODERATE_USER" + - "VIEW_USER_ROLE_MANAGEMENT" + - "MANAGE_USER_ROLE" + - "VIEW_ADMIN_USER" + - "MANAGE_ADMIN" + - "VIEW_ADMIN_ROLE" + - "VIEW_SETTING" + - "MANAGE_SETTING" + - "MANAGE_SECURITY" + required: + - roleId + - displayName + - permissions + responses: + 200: + $ref: "./response.yaml#/roles-post-response-200" + 400: + $ref: "../../global/error.yaml#/BadRequestError" + 401: + $ref: "../../global/error.yaml#/UnAuthorizedError" + 500: + $ref: "../../global/error.yaml#/UnexpectedError" diff --git a/v1-admin/admin/request.yaml b/v1-admin/admin/request.yaml new file mode 100644 index 00000000..e69de29b diff --git a/v1-admin/admin/response.yaml b/v1-admin/admin/response.yaml new file mode 100644 index 00000000..21a59c75 --- /dev/null +++ b/v1-admin/admin/response.yaml @@ -0,0 +1,92 @@ +root-post-response-200: + description: "Successful response" + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: "success" + +roles-post-response-200: + description: "Successful response for create role API" + content: + application/json: + schema: + type: object + properties: + roles: + type: array + items: + type: object + properties: + roleId: + type: string + description: "The unique ID of the role." + example: "test" + displayName: + type: string + description: "The display name of the role." + example: "test" + permissions: + type: array + items: + type: string + description: "List of permissions assigned to the role." + example: + - "VIEW_DYNAMIC_UI" + - "VIEW_CHANNEL_MANAGEMENT" + - "MANAGE_CHANNEL" + - "MODERATE_CHANNEL" + - "VIEW_STORY_MANAGEMENT" + - "MANAGE_STORY" + - "VIEW_POST_AND_COMMENT_MANAGEMENT" + - "MODERATE_POST_AND_COMMENT" + - "MANAGE_POST_AND_COMMENT" + - "CAN_USE_BRAND_USERS" + - "CAN_MANAGE_BRAND_USERS" + - "CAN_MANAGE_GLOBAL_PINNED_POST" + - "CAN_MANAGE_PINNED_POST" + - "CAN_MANAGE_FEATURED_POST" + - "VIEW_LIVE_STREAMING_MANAGEMENT" + - "MANAGE_LIVE_STREAMING" + - "MODERATE_LIVE_STREAMING" + - "VIEW_COMMUNITY_MANAGEMENT" + - "MANAGE_COMMUNITY" + - "MODERATE_COMMUNITY" + - "DELETE_COMMUNITY" + - "VIEW_COMMUNITY_CATEGORY_MANAGEMENT" + - "MANAGE_COMMUNITY_CATEGORY" + - "VIEW_SPONSORED_CONTENT_MANAGEMENT" + - "MANAGE_SPONSORED_CONTENT" + - "MANAGE_AD_SETTING" + - "VIEW_USAGE" + - "VIEW_MODERATION_FEED" + - "MANAGE_ALLOW_LIST" + - "MANAGE_BLOCK_LIST" + - "MANAGE_IMAGE_MODERATION_SETTING" + - "MANAGE_LIVE_STREAMING_MODERATION_SETTING" + - "VIEW_USER_MANAGEMENT" + - "MANAGE_USER" + - "MODERATE_USER" + - "VIEW_USER_ROLE_MANAGEMENT" + - "MANAGE_USER_ROLE" + - "VIEW_ADMIN_USER" + - "MANAGE_ADMIN" + - "VIEW_ADMIN_ROLE" + - "VIEW_SETTING" + - "MANAGE_SETTING" + - "MANAGE_SECURITY" + isDeleted: + type: boolean + description: "Indicates if the role is deleted." + example: false + type: + type: string + description: "The type of the role." + example: "consoleAdmin" + description: + type: string + description: "A brief description of the role." + example: "test" diff --git a/v1-admin/contents/index.yaml b/v1-admin/contents/index.yaml new file mode 100644 index 00000000..f77a7981 --- /dev/null +++ b/v1-admin/contents/index.yaml @@ -0,0 +1,35 @@ +root: + delete: + summary: "Delete multiple content" + description: "Delete multiple content. Use when review item in moderation feeds." + tags: + - "Moderation Feed" + security: + - BearerAuth: [] + requestBody: + $ref: "./request.yaml#/root-delete-request-payload" + responses: + 200: + $ref: "./response.yaml#/root-delete-response-200" + 400: + $ref: "../../global/error.yaml#/BadRequestError" + 500: + $ref: "../../global/error.yaml#/UnexpectedError" + +flags: + delete: + summary: "Clear multiple content flags" + description: "Clear multiple content flags. Use when review item in moderation feeds." + tags: + - "Moderation Feed" + security: + - BearerAuth: [] + requestBody: + $ref: "./request.yaml#/flags-delete-request-payload" + responses: + 200: + $ref: "./response.yaml#/flags-delete-response-200" + 400: + $ref: "../../global/error.yaml#/BadRequestError" + 500: + $ref: "../../global/error.yaml#/UnexpectedError" diff --git a/v1-admin/contents/request.yaml b/v1-admin/contents/request.yaml new file mode 100644 index 00000000..89a8f627 --- /dev/null +++ b/v1-admin/contents/request.yaml @@ -0,0 +1,51 @@ +root-delete-request-payload: + description: "Information of content to be deleted" + content: + application/json: + schema: + type: object + properties: + contents: + type: array + items: + type: object + properties: + contentId: + type: string + maxLength: 900 + contentType: + type: string + enum: + - post + - comment + maxItems: 100 + required: + - contents + description: | + Payload to delete multiple content by their IDs. + +flags-delete-request-payload: + description: "Information of content to be cleared" + content: + application/json: + schema: + type: object + properties: + contents: + type: array + items: + type: object + properties: + contentId: + type: string + maxLength: 900 + contentType: + type: string + enum: + - post + - comment + maxItems: 100 + required: + - contentIds + description: | + Payload to clear multiple content flags by their IDs. diff --git a/v1-admin/contents/response.yaml b/v1-admin/contents/response.yaml new file mode 100644 index 00000000..c1255c15 --- /dev/null +++ b/v1-admin/contents/response.yaml @@ -0,0 +1,25 @@ +root-delete-response-200: + description: "Delete multiple content successfully." + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + description: "Status of the delete operation." + +flags-delete-response-200: + description: "Clear multiple content flags successfully." + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + description: "Status of the clear operation." diff --git a/v1-admin/moderation-feeds/index.yaml b/v1-admin/moderation-feeds/index.yaml new file mode 100644 index 00000000..95035a19 --- /dev/null +++ b/v1-admin/moderation-feeds/index.yaml @@ -0,0 +1,17 @@ +root: + get: + summary: "Get moderation feeds" + description: "Get moderation feeds." + tags: + - "Moderation Feed" + security: + - cookieAuth: [] + parameters: + $ref: "./request.yaml#/root-get-request-parameters" + responses: + 200: + $ref: "./response.yaml#/root-response-200" + 400: + $ref: "../../global/error.yaml#/BadRequestError" + 500: + $ref: "../../global/error.yaml#/UnexpectedError" diff --git a/v1-admin/moderation-feeds/request.yaml b/v1-admin/moderation-feeds/request.yaml new file mode 100644 index 00000000..d4584c3f --- /dev/null +++ b/v1-admin/moderation-feeds/request.yaml @@ -0,0 +1,97 @@ +root-get-request-parameters: + - name: targetType + in: query + schema: + type: string + enum: + - user + - community + - name: targetIds + in: query + description: Target internal id + schema: + type: array + items: + type: string + maxLength: 900 + - name: contentTypes + in: query + schema: + type: array + items: + type: string + enum: + - post + - comment + - image + - video + - file + - name: creatorIds + in: query + description: Creator internal id + schema: + type: array + items: + type: string + maxLength: 900 + - name: tags + in: query + schema: + type: array + items: + type: string + maxLength: 24 + max: 5 + - name: isDeleted + in: query + description: | + For filter content that is deleted while reviewing
+ Will filter manualReview.reviewedType == 'deleted' || aiModeration.moderatedAction == 'deleted' + schema: + type: boolean + - name: isFlagCleared + in: query + description: | + For filter content that flag is cleared while reviewing
+ Will filter manualReview.reviewedType == "clearFlag" + schema: + type: boolean + - name: isReviewed + in: query + description: | + For filter content that is reviewed or not reviewed
+ Will filter lastReviewedAt exists + schema: + type: boolean + - name: options[token] + in: query + description: "Token for pagination. Use the token from the previous response to get the next page." + schema: + type: string + maxLength: 1000 + - name: options[limit] + in: query + description: "Limit the number of items in the response. Default is 20." + schema: + type: integer + minimum: 1 + maximum: 100 + default: 20 + - name: sortBy[type] + in: query + description: "Sort by type." + schema: + type: string + default: lastFlaggedAt + enum: + - lastFlaggedAt + - flagCount + - lastReviewedAt + - name: sortBy[order] + in: query + description: "Sort order. Default is desc." + schema: + type: string + enum: + - asc + - desc diff --git a/v1-admin/moderation-feeds/response.yaml b/v1-admin/moderation-feeds/response.yaml new file mode 100644 index 00000000..6323feff --- /dev/null +++ b/v1-admin/moderation-feeds/response.yaml @@ -0,0 +1,23 @@ +root-response-200: + description: | + Moderation feeds information. To display actual content, use the contentId and contentType to get the content from the list API (ex. Post list, Comment list). + content: + application/json: + schema: + type: "object" + properties: + contents: + type: "array" + items: + $ref: "../../schema/content.yaml#/Content" + paging: + type: object + properties: + next: + type: string + previous: + type: string + total: + type: integer + description: Total number of contents that match the filter. + example: 100 diff --git a/v1-admin/network-settings/index.yaml b/v1-admin/network-settings/index.yaml new file mode 100644 index 00000000..d8cb6930 --- /dev/null +++ b/v1-admin/network-settings/index.yaml @@ -0,0 +1,15 @@ +premium-reports: + get: + summary: "Get premium report settings" + description: "Get premium report settings." + tags: + - "Premium Report" + security: + - cookieAuth: [] + responses: + 200: + $ref: "./response.yaml#/premium-reports-get-response-200" + 400: + $ref: "../../global/error.yaml#/BadRequestError" + 500: + $ref: "../../global/error.yaml#/UnexpectedError" diff --git a/v1-admin/network-settings/response.yaml b/v1-admin/network-settings/response.yaml new file mode 100644 index 00000000..e594ccb2 --- /dev/null +++ b/v1-admin/network-settings/response.yaml @@ -0,0 +1,7 @@ +premium-reports-get-response-200: + description: | + Premium report settings response. + content: + application/json: + schema: + $ref: "../../schema/network-setting.yaml#/PremiumReportNetworkSetting" diff --git a/v1-admin/premium-reports/index.yaml b/v1-admin/premium-reports/index.yaml new file mode 100644 index 00000000..727121fa --- /dev/null +++ b/v1-admin/premium-reports/index.yaml @@ -0,0 +1,56 @@ +root: + get: + summary: "Query report items" + description: "Retrieve the existing report" + tags: + - "Premium Report" + security: + - cookieAuth: [] + parameters: + - name: "options[token]" + in: "query" + description: "Next page token for pagination." + required: false + schema: + type: "string" + example: "1w41l63U0xa8q7smH50vCxyTQqdxo69O3EmK28Bi5PcROI4wI/EyIJg==" + maxLength: 1000 + - name: "options[limit]" + in: "query" + description: "The limit for the number of report items." + schema: + type: "integer" + minimum: 1 + maximum: 100 + default: 20 + responses: + 200: + $ref: "./response.yaml#/root-get-response-200" + 400: + $ref: "../../global/error.yaml#/BadRequestError" + 500: + $ref: "../../global/error.yaml#/UnexpectedError" + +download: + get: + summary: "Download report item" + description: "Download the report item from S3" + tags: + - "Premium Report" + security: + - cookieAuth: [] + parameters: + - name: "fileName" + in: "query" + description: "Base64 encoded file name of the report items." + required: true + schema: + type: "string" + example: "c2FtcGxlLXRleHQtZmlsZS5qcGc=" + responses: + 302: + $ref: "./response.yaml#/download-response-302" + 400: + $ref: "../../global/error.yaml#/BadRequestError" + 500: + $ref: "../../global/error.yaml#/UnexpectedError" diff --git a/v1-admin/premium-reports/request.yaml b/v1-admin/premium-reports/request.yaml new file mode 100644 index 00000000..e69de29b diff --git a/v1-admin/premium-reports/response.yaml b/v1-admin/premium-reports/response.yaml new file mode 100644 index 00000000..d310ae07 --- /dev/null +++ b/v1-admin/premium-reports/response.yaml @@ -0,0 +1,27 @@ +root-get-response-200: + description: | + Premium report list. + content: + application/json: + schema: + type: "object" + properties: + reports: + type: "array" + items: + $ref: "../../schema/premium-report.yaml#/PremiumReport" + paging: + type: object + properties: + next: + type: string + +download-response-302: + description: | + Redirect to S3 signed URL for downloading the report. + headers: + Location: + schema: + type: string + format: uri + example: "https://s3.amazonaws.com/bucket-name/report.csv?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Expires=1234567890&Signature=example" diff --git a/v1-internal/network-settings/index.yaml b/v1-internal/network-settings/index.yaml new file mode 100644 index 00000000..847b843d --- /dev/null +++ b/v1-internal/network-settings/index.yaml @@ -0,0 +1,34 @@ +premium-report: + put: + summary: "Update premium report settings" + description: "Update premium report settings." + tags: + - "Premium Report" + security: + - basicAuth: [] + parameters: + - name: x-internal-api-key + in: header + description: The internal API key of network to update + required: true + type: string + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + enabled: + type: boolean + description: | + Whether the premium report is enabled or not. + example: true + default: false + responses: + 200: + $ref: "./response.yaml#/premium-reports-put-response-200" + 400: + $ref: "../../global/error.yaml#/BadRequestError" + 500: + $ref: "../../global/error.yaml#/UnexpectedError" diff --git a/v1-internal/network-settings/response.yaml b/v1-internal/network-settings/response.yaml new file mode 100644 index 00000000..6cfe1a06 --- /dev/null +++ b/v1-internal/network-settings/response.yaml @@ -0,0 +1,7 @@ +premium-reports-put-response-200: + description: | + Premium report settings response. + content: + application/json: + schema: + $ref: "../../schema/network-setting.yaml#/PremiumReportNetworkSetting" diff --git a/v1-internal/premium-reports/index.yaml b/v1-internal/premium-reports/index.yaml new file mode 100644 index 00000000..f2a31e46 --- /dev/null +++ b/v1-internal/premium-reports/index.yaml @@ -0,0 +1,23 @@ +list-networks: + get: + summary: "List enabled networks" + description: "List networks that have the premium report enabled." + parameters: + - name: x-caller-context + in: header + description: The caller context header is used to identify the caller context. Must be a JSON string. + required: true + type: string + example: | + {} + tags: + - "Premium Report" + security: + - basicAuth: [] + responses: + 200: + $ref: "./response.yaml#/list-networks-get-response-200" + 400: + $ref: "../../global/error.yaml#/BadRequestError" + 500: + $ref: "../../global/error.yaml#/UnexpectedError" diff --git a/v1-internal/premium-reports/response.yaml b/v1-internal/premium-reports/response.yaml new file mode 100644 index 00000000..2d871330 --- /dev/null +++ b/v1-internal/premium-reports/response.yaml @@ -0,0 +1,22 @@ +list-networks-get-response-200: + description: | + List settings of networks that have the premium report enabled. + content: + application/json: + schema: + type: "object" + properties: + premiumReportSettings: + type: "array" + items: + type: object + properties: + networkId: + type: string + description: Network ID. + example: "507f1f77bcf86cd799439011" + enabled: + type: boolean + description: Whether the premium report is enabled or not. + example: true + description: List of settings of networks that have the premium report enabled.