From 3f917611de9105a0fd93d25862053eccda48d1f1 Mon Sep 17 00:00:00 2001 From: Nuttapong Thaiauboon Date: Fri, 14 Mar 2025 12:02:01 +0700 Subject: [PATCH 01/15] feat: add moderation feed related api --- bundled.yaml | 23364 +--------------------- package.json | 4 +- schema/content.yaml | 13 + swagger-admin.yaml | 36 + v1-admin/contents/index.yaml | 35 + v1-admin/contents/request.yaml | 35 + v1-admin/contents/response.yaml | 25 + v1-admin/moderation-feeds/index.yaml | 17 + v1-admin/moderation-feeds/request.yaml | 67 + v1-admin/moderation-feeds/response.yaml | 66 + 10 files changed, 1400 insertions(+), 22262 deletions(-) create mode 100644 schema/content.yaml create mode 100644 swagger-admin.yaml create mode 100644 v1-admin/contents/index.yaml create mode 100644 v1-admin/contents/request.yaml create mode 100644 v1-admin/contents/response.yaml create mode 100644 v1-admin/moderation-feeds/index.yaml create mode 100644 v1-admin/moderation-feeds/request.yaml create mode 100644 v1-admin/moderation-feeds/response.yaml diff --git a/bundled.yaml b/bundled.yaml index 1f3d1a09..7900abc8 100644 --- a/bundled.yaml +++ b/bundled.yaml @@ -102,22438 +102,1280 @@ 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 - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/channelId' - responses: - '200': - $ref: '#/components/responses/channels_channelId-post-response-payload-200' - '400': - $ref: '#/components/responses/BadRequestError' - '404': - $ref: '#/components/responses/NotFoundError' - delete: - summary: Unarchive channels - tags: - - Archive + - Moderation Feed security: - BearerAuth: [] 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 + - photo + - 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 + - name: isDeleted + in: query + description: For filter content that is deleted while reviewing + schema: + type: boolean + - name: isFlagCleared + in: query + description: For filter content that flag is cleared while reviewing + schema: + type: boolean + - name: 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: limit + in: query + description: Limit the number of items in the response. Default is 20. + schema: + type: integer + minimum: 1 + maximum: 100 + default: 20 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/root-response-200' '400': $ref: '#/components/responses/BadRequestError' - '422': - $ref: '#/components/responses/UnProcessableError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v1/analytics/views/posts/{postId}/users: - 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. - tags: - - Analytic - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/postId' - - $ref: '#/components/parameters/token' - - $ref: '#/components/parameters/limit' - 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' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v1/analytics/views/stories/{storyId}/users: - 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. - tags: - - Analytic - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/storyId' - - $ref: '#/components/parameters/token' - - $ref: '#/components/parameters/limit' - 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' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/authentication/token: - get: - summary: Get authentication token - deprecated: true - tags: - - Authentication - parameters: - - $ref: '#/components/parameters/x-server-key' - - $ref: '#/components/parameters/userId' - responses: - '200': - $ref: '#/components/responses/token-get-response-payload-200' - '403': - $ref: '#/components/responses/ForbiddenError' - '500': - $ref: '#/components/responses/ValidationError' - /api/v4/authentication/token: - post: - summary: Create authentication token for session creation API - tags: - - Authentication - parameters: - - $ref: '#/components/parameters/x-server-key' - description: | - Create authentication token for session creation API. Token userId need to match userId when using it - requestBody: - 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' - responses: - '200': - description: OK - '403': - $ref: '#/components/responses/PermissionDeniedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v2/channel/{channelId}/mute: - put: - summary: Mute channel - tags: - - Channel - security: - - BearerAuth: [] - description: | - Mute all users in channel for a specific period of time. - parameters: - - $ref: '#/components/parameters/parameter_channelId' - requestBody: - $ref: '#/components/requestBodies/mute-put-request-payload' - responses: - '200': - $ref: '#/components/responses/mute-response-payload-200' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v2/channel/{channelId}/users/mute: - put: - summary: Mute user in channel - tags: - - Channel - security: - - BearerAuth: [] - description: | - Mute a user in channel for a specific period of time. - parameters: - - $ref: '#/components/parameters/parameter_channelId' - requestBody: - $ref: '#/components/requestBodies/users-mute-put-request-payload' - responses: - '200': - $ref: '#/components/responses/mute-response-payload-200' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v2/search/channels: - get: - tags: - - Channel - summary: Search channels - description: Retrieve channels based on search criteria - 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' - 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' - '500': - $ref: '#/components/responses/UnexpectedError' - post: - summary: Create channel - tags: - - Channel - security: - - BearerAuth: [] - requestBody: - $ref: '#/components/requestBodies/root-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/seen: - post: - summary: Bulk mark seen - tags: - - Channel - security: - - BearerAuth: [] - requestBody: - $ref: '#/components/requestBodies/seen-post-request-payload' - responses: - '200': - description: This endpoint returns 200 OK if the request is successful. - '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. - tags: - - Channel - security: - - BearerAuth: [] - 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: + /admin/v1/contents: delete: - summary: leave a channel + summary: Delete multiple content + description: Delete multiple content. Use when review item in moderation feeds. tags: - - Channel + - Moderation Feed 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' + $ref: '#/components/requestBodies/root-delete-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' + $ref: '#/components/responses/root-delete-response-200' + '400': + $ref: '#/components/responses/BadRequestError' '500': $ref: '#/components/responses/UnexpectedError' + /admin/v1/contents/flags: 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 + summary: Clear multiple content flags + description: Clear multiple content flags. Use when review item in moderation feeds. tags: - - Channel + - Moderation Feed security: - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/parameter_channelId' requestBody: - $ref: '#/components/requestBodies/_channelId-users-roles-post-request-payload' + $ref: '#/components/requestBodies/flags-delete-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' + $ref: '#/components/responses/flags-delete-response-200' + '400': + $ref: '#/components/responses/BadRequestError' '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 (pagination support). - tags: - - Comment - security: - - ApiKeyAuth: [] - description: | - query comments. - 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' - requestBody: - $ref: '#/components/requestBodies/_commentId-put-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' - 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' - '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/_commentId-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/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/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-2' - - $ref: '#/components/parameters/parameter_options-5' - responses: - '200': - $ref: '#/components/responses/response_common-response-200' - '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' - '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' - '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' - '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' - '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-2' - - $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-2' - - $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-2' - - $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-2' - 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/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-2' - '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-2' - '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-2' - '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-2' - '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-3' - '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-3' - '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-3' - '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-3' - '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-4' - - $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-4' - - $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-5' - - $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-4' - '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-4' - '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-4' - '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-4' - '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-4' - '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-4' - '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-4' - '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-6' - - $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' - /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-2' - '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-2' - '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-2' - '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-2' - '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-5' - '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-5' - '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-5' - '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-5' - '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-2' - - $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-6' - '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-6' - '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-6' - '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-6' - '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-6' - '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' - responses: - '200': - $ref: '#/components/responses/response_common-response-200-6' - '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-6' - '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-6' - '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-6' - '403': - $ref: '#/components/responses/PermissionDeniedError' - '404': - $ref: '#/components/responses/NotFoundError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v4/posts: - 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' - get: - summary: query a post - 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-4' - - $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' - /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/referenceId' - - $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-7' - '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-7' - '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-7' - '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-7' - '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-7' - '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' - - $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' - - $ref: '#/components/parameters/parameter_targetType-2' - - $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' - - $ref: '#/components/parameters/parameter_targetType-2' - 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-7' - - $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-8' - '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-8' - '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-8' - '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-9' - '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-8' - - $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-9' - '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-9' - '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-9' - '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 - 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' - 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 - 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. - 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 - 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 - 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 - 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: - 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. - 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 - 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 - 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 - 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' - 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' - 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' - 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 - _commentId-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' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - 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' - 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: 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' - comments: - type: array - items: - $ref: '#/components/schemas/Comment' - users: - type: array - items: - $ref: '#/components/schemas/UserV3' - files: - type: array - items: - $ref: '#/components/schemas/File' - 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' - communityUsers: - type: array - items: - $ref: '#/components/schemas/CommunityUser' - categories: - type: array - items: - $ref: '#/components/schemas/CommunityCategory' - 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 - acceType: - 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-2: - 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-3: - 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-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' - 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' - 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' - 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-5: - 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' - 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' - 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-6: - 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' - 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' - 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-7: - 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' - 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' - 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' - paging: - type: object - properties: - next: - type: string - response_common-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' - 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-9: - 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 - required: true - schema: - type: string - maxLength: 900 - referenceType: - name: referenceType - in: query - schema: - type: string - enum: - - post - - content - - story - filterByParentId: - name: filterByParentId - in: query - schema: - type: boolean - default: true - parentId: - name: parentId - in: query - schema: - type: string - maxLength: 900 - hasFlag: - name: hasFlag - in: query - schema: - type: boolean - default: false - parameter_isDeleted-2: - name: isDeleted - in: query - schema: - type: boolean - default: null - parameter_sortBy-2: - name: sortBy - in: query - schema: - type: string - enum: - - firstCreated - - lastCreated - - lastUpdated - - firstUpdated - default: lastCreated - description: | - type: - * `scrollable(default)` - sort by segment number only. - * `pagination` - can sort by 'lastCreated(default)', 'firstCreated', 'lastUpdated', 'firstUpdated'. - parameter_options-3: - name: options - in: query - style: deepObject - description: | - type: - * `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/skip: - * support pagination type only - - before/after/first/last: - * support scrollable type only - schema: - type: object - properties: - type: - type: string - enum: - - scrollable - - pagination - default: scrollable - limit: - type: integer - minimum: 1 - maximum: 100 - skip: - type: integer - minimum: 0 - maximum: 100 - 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 - dataTypes: - name: dataTypes - in: query - style: deepObject - description: | - Option to set how the returned comments dataTypes will be contained: - * `values`: the dataTypes values want to be contained in the comment (available values: `text`, `image`) - * `matchType`: 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 - - Example query params: `GET /api/v3/comments?dataTypes[values][]=text&dataTypes[values][]=image&dataTypes[matchType]=any` - schema: - type: object - properties: - values: - type: array - items: - type: string - matchType: - type: string - enum: - - any - - exact - 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_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 +components: + securitySchemes: + ApiKeyAuth: + type: apiKey in: header - schema: - type: string - _ascSession: - name: _ascSession + name: X-API-Key + BearerAuth: + type: http + scheme: bearer + cookieAuth: + type: apiKey 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: + name: connect.sid + schemas: + Content: + type: object + properties: + contentId: 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: + description: ID of the content. + contentType: 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: + enum: + - post + - comment + - message + description: Type of the content. + Post: + type: object + properties: + _id: type: string - description: list of message id (internal) - ruleIds: - name: ruleIds - description: | - Regular expression to delete. - in: query - schema: - type: array - items: + description: Private ID of a post. (for real-time event) + path: type: string - regexs: - name: regexs - in: query - schema: - type: array - items: + description: Path of a post. (for real-time event) + postId: type: string - parameter_ruleIds: - in: query - name: ruleIds - description: | - Rules information to be deleted. - schema: - type: array - items: + description: ID of a post. + parentPostId: 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-4: - 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-5: - 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: + description: ID of a parent post. + postedUserId: 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: + description: ID of a creator. + postedUserPublicId: 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: + description: Public ID of a creator. + postedUserInternalId: 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-6: - 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: + description: Internal ID of a creator. + sharedUserId: 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: + description: ID of a shared owner. + sharedCount: + type: integer + description: number of shared post. + targetId: type: string - maxLength: 50 - parameter_targetId: - name: targetId - in: query - required: true - schema: - type: string - maxLength: 900 - parameter_targetType: - name: targetType - in: query - schema: - type: string - enum: - - community - - user - - content - parameter_sortBy-8: - name: sortBy - in: query - schema: - type: string - enum: - - lastCreated - - firstCreated - - lastUpdated - - firstUpdated - default: lastCreated - parameter_options-10: - 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 - maxLength: 24 - updatedAt: - type: string - maxLength: 100 - description: use updatedAt when sort by first/lastUpdated - feedType: - name: feedType - in: query - schema: - type: array - minItems: 1 - maxItems: 4 - items: + 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: - - reviewing - - published - example: - - published - parameter_dataTypes-3: - name: dataTypes - in: query - schema: - type: array - minItems: 1 - maxItems: 4 - items: + - user + - community + - content + description: Type of a target (user, community, content). + dataType: type: string - maxLength: 100 enum: - - video + - text - image - file + - video - 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_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_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_targetType-2: - 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: + 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: - targetId: - schema: - type: string - maxLength: 900 - targetType: - schema: + 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 - 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-7: - 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: + editedAt: 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: + description: The date/time when text or metadata of post is updated. + format: date-time + createdAt: 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: + description: The date/time when a post is created. + format: date-time + updatedAt: type: string - maxLength: 50 - parameter_isDeleted-8: - 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: + 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 - 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: + 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. + 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: - 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: 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 + type: * `user` - need to specific userIds and notification mentions individual user + enum: + - user userIds: type: array - minItems: 1 - maxItems: 100 + description: Array of UserId. 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: + userPublicIds: type: array - maxItems: 10 + description: Array of UserPublicId. items: type: string - maxLength: 50 - isDistinct: - type: boolean - default: true - displayName: - type: string - maxLength: 100 - avatarFileId: - type: string - maxLength: 50 - metadata: - type: object - tags: + userInternalIds: type: array - maxItems: 10 + description: Array of UserInternalId. 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: + impression: + type: integer + reach: + type: integer + required: + - postId + - data + 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 - maxLength: 900 - required: - - commentId - request_root-post-request-payload-2: - description: | - information of a community to be created. - required: true - content: - application/json: - schema: + 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: - 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: 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 + type: * `user` - need to specific userIds and notification mentions individual user 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 + - user userIds: type: array - minItems: 1 - maxItems: 100 + description: Array of UserId. 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: + userPublicIds: type: array + description: Array of UserPublicId. 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: + userInternalIds: type: array + description: Array of UserInternalId. 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 - 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: + 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 + 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 + required: + - userId + - createdAt + - updatedAt + 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 + 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 + ChannelMembership: + type: string + enum: + - none + - member + - banned + 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' + 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 + 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 + 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 - 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: + appName: 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: + streamName: 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: + query: 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: + recordings: + type: array + items: 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: + flv: type: object properties: - nudity: - type: number - minimum: 0 - suggestive: + url: + type: string + duration: type: number - minimum: 0 - violence: + startTime: type: number - minimum: 0 - disturbing: + stopTime: 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: + mp4: type: object properties: - text: + url: 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: + duration: + type: number + startTime: + type: number + stopTime: + type: number + m3u8: 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. - 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: + 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: - name: + origin: 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: + appName: type: string - enum: - - chat - - video-streaming - - social - isPushNotifiable: - type: boolean - titleTemplate: + streamName: type: string - maxLength: 1000 - bodyTemplate: + query: 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: + hls: + type: object + properties: + url: + type: string + components: type: object properties: - dataType: - description: Datatype of answer (current only string). + origin: type: string - enum: - - text - data: + appName: 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: + 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: - text: + dataType: type: string - status: - description: poll status + enum: + - text + data: 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 + 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 + 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 + responses: + root-response-200: + description: Moderation feeds information. content: application/json: schema: type: object properties: - answerIds: - description: poll id + contents: 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: - type: object - description: require text or images or files (can't add images with files) - properties: - text: - 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: + $ref: '#/components/schemas/Content' + posts: 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: | - information of a post to be updated. - required: true - 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: + $ref: '#/components/schemas/Post' + postChildren: type: array - minItems: 0 - maxItems: 5 items: - type: string - maximum: 24 - description: tags - required: - - postId - 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: - 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: + $ref: '#/components/schemas/Post' + comments: type: array - minItems: 0 - maxItems: 5 items: - type: string - maximum: 24 - description: tags - mentionees: + $ref: '#/components/schemas/Comment' + users: 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: + $ref: '#/components/schemas/UserV3' + files: 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: - 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 - 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: - description: | - Permission information to be added - required: true - content: - application/json: - schema: - type: object - properties: - publicIds: + $ref: '#/components/schemas/File' + communities: type: array - description: The list of role public ids items: - type: string - permissions: + $ref: '#/components/schemas/Community' + communityUsers: 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: - description: | - information of a role to be created. - required: true - 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: + $ref: '#/components/schemas/CommunityUser' + categories: 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/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' + commentChildren: + type: array + items: + $ref: '#/components/schemas/Comment' + paging: type: object properties: - kind: - type: string - enum: - - ios - - android - - web - - node - model: + next: type: string - maxLength: 100 - sdkVersion: + previous: 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: - 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 + BadRequestError: + description: Bad Request error. content: application/json: 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: + $ref: '#/components/schemas/Error' + example: + status: error + code: 400000 + message: Bad Request. + UnexpectedError: + description: Unexpected error. content: application/json: schema: - type: object - properties: - data: - type: object - description: Main data contained in the story, required only 1 field depends on dataType. The size of this object must be less than 10 KB. - properties: - text: - type: string - description: text data (required if dataType is text) - example: example text - fileId: - type: string - description: image or video file id (required if dataType is image or video) - imageDisplayMode: - type: string - description: | - image display mode (required if dataType is image) represents the display mode of an image for maintaining the correct visual dimensions when displaying or processing image. - enum: - - fit - - fill - default: fit - dataType: - type: string - enum: - - text - - image - - video - items: - type: array - description: List of items contained in story. Currently only support hyperlink item. Only one hyperlink item is allowed per story. - items: - $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 + $ref: '#/components/schemas/Error' + example: + status: error + code: 500000 + message: Unexpected error + root-delete-response-200: + description: Delete multiple content successfully. content: application/json: schema: type: object properties: - userId: + status: type: string - required: - - userId - request_root-put-request-payload-2: - description: | - User to be updated - required: true + 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: - 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: + status: type: string - maxLength: 500 - user-event-video-streaming-request-payload: - description: A group of user activity on startTime, endTime and watchSeconds. - required: true + enum: + - success + description: Status of the clear operation. + requestBodies: + root-delete-request-payload: + description: Information of content to be deleted 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: + contentIds: type: array items: - type: object - required: - - streamId - - startTime - - endTime - - watchSeconds - - resolution - properties: - sessionId: - description: unique sessionId for each user event, max length 50 - type: string - streamId: - description: streamId of video streaming instance, max length 50 - type: string - startTime: - description: timestamp string in UTC format - type: string - example: '2021-03-10T03:07:16.127Z' - endTime: - description: timestamp string in UTC format - 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 + type: string + maxLength: 900 + maxItems: 100 required: - - title - _streamId-request-payload: - description: | - Information of video streaming to be updated - required: true + - contentIds + 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: - 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 + contentIds: + type: array + items: + type: string + maxLength: 900 + maxItems: 100 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 + - contentIds + description: | + Payload to clear multiple content flags by their IDs. diff --git a/package.json b/package.json index 1684abdb..62c91ecf 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", - "prepare-local": "npm run build && rm -rf ./local && cp -r build local && cp ./bundled.yaml ./local/bundled.yaml && sh ./scripts/prepare-local.sh" + "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" }, "dependencies": { "@redocly/cli": "^1.33.0" diff --git a/schema/content.yaml b/schema/content.yaml new file mode 100644 index 00000000..563795fc --- /dev/null +++ b/schema/content.yaml @@ -0,0 +1,13 @@ +Content: + type: object + properties: + contentId: + type: string + description: ID of the content. + contentType: + type: string + enum: + - post + - comment + - message + description: Type of the content. diff --git a/swagger-admin.yaml b/swagger-admin.yaml new file mode 100644 index 00000000..42c6a2e0 --- /dev/null +++ b/swagger-admin.yaml @@ -0,0 +1,36 @@ +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/contents: + $ref: "./v1-admin/contents/index.yaml#/root" + + /admin/v1/contents/flags: + $ref: "./v1-admin/contents/index.yaml#/flags" + +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 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..ee8b8167 --- /dev/null +++ b/v1-admin/contents/request.yaml @@ -0,0 +1,35 @@ +root-delete-request-payload: + description: "Information of content to be deleted" + content: + application/json: + schema: + type: object + properties: + contentIds: + type: array + items: + type: string + maxLength: 900 + maxItems: 100 + required: + - contentIds + 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: + contentIds: + type: array + items: + type: string + maxLength: 900 + 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..d99fc480 --- /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: + - BearerAuth: [] + 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..ffd3debe --- /dev/null +++ b/v1-admin/moderation-feeds/request.yaml @@ -0,0 +1,67 @@ +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 + - photo + - 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 + - name: isDeleted + in: query + description: "For filter content that is deleted while reviewing" + schema: + type: boolean + - name: isFlagCleared + in: query + description: "For filter content that flag is cleared while reviewing" + schema: + type: boolean + - name: 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: limit + in: query + description: "Limit the number of items in the response. Default is 20." + schema: + type: integer + minimum: 1 + maximum: 100 + default: 20 diff --git a/v1-admin/moderation-feeds/response.yaml b/v1-admin/moderation-feeds/response.yaml new file mode 100644 index 00000000..2859cd58 --- /dev/null +++ b/v1-admin/moderation-feeds/response.yaml @@ -0,0 +1,66 @@ +root-response-200: + description: "Moderation feeds information." + content: + application/json: + schema: + type: "object" + properties: + contents: + type: "array" + items: + $ref: "../../schema/content.yaml#/Content" + posts: + type: array + items: + $ref: "../../schema/post.yaml#/Post" + postChildren: + type: array + items: + $ref: "../../schema/post.yaml#/Post" + comments: + type: array + items: + $ref: "../../schema/comment.yaml#/Comment" + users: + type: array + items: + $ref: "../../schema/user.yaml#/UserV3" + files: + type: array + items: + $ref: "../../schema/file.yaml#/File" + communities: + type: array + items: + $ref: "../../schema/community.yaml#/Community" + communityUsers: + type: array + items: + $ref: "../../schema/community.yaml#/CommunityUser" + categories: + type: array + items: + $ref: "../../schema/community.yaml#/CommunityCategory" + feeds: + type: array + items: + $ref: "../../schema/feed.yaml#/Feed" + videoStreamings: + type: array + items: + $ref: "../../schema/video-streaming.yml#/VideoStreaming" + polls: + type: array + items: + $ref: "../../schema/poll.yaml#/Poll" + commentChildren: + type: array + items: + $ref: "../../schema/comment.yaml#/Comment" + paging: + type: object + properties: + next: + type: string + previous: + type: string From 216e870efa44c8406f0cc6c634ecad546c889e75 Mon Sep 17 00:00:00 2001 From: Nuttapong Thaiauboon Date: Fri, 14 Mar 2025 12:12:47 +0700 Subject: [PATCH 02/15] fix: add sort by --- bundled.yaml | 22 ++++++++++++++++++++-- v1-admin/moderation-feeds/request.yaml | 22 ++++++++++++++++++++-- 2 files changed, 40 insertions(+), 4 deletions(-) diff --git a/bundled.yaml b/bundled.yaml index 7900abc8..734709bb 100644 --- a/bundled.yaml +++ b/bundled.yaml @@ -163,13 +163,13 @@ paths: description: For filter content that flag is cleared while reviewing schema: type: boolean - - name: token + - 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: limit + - name: options[limit] in: query description: Limit the number of items in the response. Default is 20. schema: @@ -177,6 +177,24 @@ paths: 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/root-response-200' diff --git a/v1-admin/moderation-feeds/request.yaml b/v1-admin/moderation-feeds/request.yaml index ffd3debe..6283af38 100644 --- a/v1-admin/moderation-feeds/request.yaml +++ b/v1-admin/moderation-feeds/request.yaml @@ -51,13 +51,13 @@ root-get-request-parameters: description: "For filter content that flag is cleared while reviewing" schema: type: boolean - - name: token + - 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: limit + - name: options[limit] in: query description: "Limit the number of items in the response. Default is 20." schema: @@ -65,3 +65,21 @@ root-get-request-parameters: 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 From 67f352cf86f2aa066910f10b38bcbce883c25525 Mon Sep 17 00:00:00 2001 From: Nuttapong Thaiauboon Date: Fri, 14 Mar 2025 12:17:33 +0700 Subject: [PATCH 03/15] feat: add more description --- bundled.yaml | 8 ++++++-- v1-admin/moderation-feeds/request.yaml | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/bundled.yaml b/bundled.yaml index 734709bb..10826296 100644 --- a/bundled.yaml +++ b/bundled.yaml @@ -155,12 +155,16 @@ paths: maxLength: 24 - name: isDeleted in: query - description: For filter content that is deleted while reviewing + 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 + description: | + For filter content that flag is cleared while reviewing
+ Will filter manualReview.reviewedType == "clearFlag" schema: type: boolean - name: options[token] diff --git a/v1-admin/moderation-feeds/request.yaml b/v1-admin/moderation-feeds/request.yaml index 6283af38..06ed1979 100644 --- a/v1-admin/moderation-feeds/request.yaml +++ b/v1-admin/moderation-feeds/request.yaml @@ -43,12 +43,16 @@ root-get-request-parameters: maxLength: 24 - name: isDeleted in: query - description: "For filter content that is deleted while reviewing" + 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" + description: | + For filter content that flag is cleared while reviewing
+ Will filter manualReview.reviewedType == "clearFlag" schema: type: boolean - name: options[token] From ec76fa611fa6b056c49ec6f678e8b253ab489adc Mon Sep 17 00:00:00 2001 From: Nuttapong Thaiauboon Date: Fri, 14 Mar 2025 16:01:19 +0700 Subject: [PATCH 04/15] fix: update document as per comment --- bundled.yaml | 1054 +---------------------- schema/content.yaml | 3 +- v1-admin/contents/request.yaml | 30 +- v1-admin/moderation-feeds/response.yaml | 51 +- 4 files changed, 52 insertions(+), 1086 deletions(-) diff --git a/bundled.yaml b/bundled.yaml index 10826296..d24b5aaa 100644 --- a/bundled.yaml +++ b/bundled.yaml @@ -259,984 +259,13 @@ components: properties: contentId: type: string - description: ID of the content. + description: Public ID of the content. contentType: type: string enum: - post - comment - - message description: Type of the content. - 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. - 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 - 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 - 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 - required: - - userId - - createdAt - - updatedAt - 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 - 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 - ChannelMembership: - type: string - enum: - - none - - member - - banned - 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' - 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 - 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 - 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 Error: type: object properties: @@ -1257,7 +286,8 @@ components: - type: object responses: root-response-200: - description: Moderation feeds information. + 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: @@ -1267,54 +297,6 @@ components: type: array items: $ref: '#/components/schemas/Content' - 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' - commentChildren: - type: array - items: - $ref: '#/components/schemas/Comment' paging: type: object properties: @@ -1374,14 +356,22 @@ components: schema: type: object properties: - contentIds: + contents: type: array items: - type: string - maxLength: 900 + type: object + properties: + contentId: + type: string + maxLength: 900 + contentType: + type: string + enum: + - post + - comment maxItems: 100 required: - - contentIds + - contents description: | Payload to delete multiple content by their IDs. flags-delete-request-payload: @@ -1391,11 +381,19 @@ components: schema: type: object properties: - contentIds: + contents: type: array items: - type: string - maxLength: 900 + type: object + properties: + contentId: + type: string + maxLength: 900 + contentType: + type: string + enum: + - post + - comment maxItems: 100 required: - contentIds diff --git a/schema/content.yaml b/schema/content.yaml index 563795fc..7a8218d1 100644 --- a/schema/content.yaml +++ b/schema/content.yaml @@ -3,11 +3,10 @@ Content: properties: contentId: type: string - description: ID of the content. + description: Public ID of the content. contentType: type: string enum: - post - comment - - message description: Type of the content. diff --git a/v1-admin/contents/request.yaml b/v1-admin/contents/request.yaml index ee8b8167..89a8f627 100644 --- a/v1-admin/contents/request.yaml +++ b/v1-admin/contents/request.yaml @@ -5,14 +5,22 @@ root-delete-request-payload: schema: type: object properties: - contentIds: + contents: type: array items: - type: string - maxLength: 900 + type: object + properties: + contentId: + type: string + maxLength: 900 + contentType: + type: string + enum: + - post + - comment maxItems: 100 required: - - contentIds + - contents description: | Payload to delete multiple content by their IDs. @@ -23,11 +31,19 @@ flags-delete-request-payload: schema: type: object properties: - contentIds: + contents: type: array items: - type: string - maxLength: 900 + type: object + properties: + contentId: + type: string + maxLength: 900 + contentType: + type: string + enum: + - post + - comment maxItems: 100 required: - contentIds diff --git a/v1-admin/moderation-feeds/response.yaml b/v1-admin/moderation-feeds/response.yaml index 2859cd58..b3f880e0 100644 --- a/v1-admin/moderation-feeds/response.yaml +++ b/v1-admin/moderation-feeds/response.yaml @@ -1,5 +1,6 @@ root-response-200: - description: "Moderation feeds information." + 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: @@ -9,54 +10,6 @@ root-response-200: type: "array" items: $ref: "../../schema/content.yaml#/Content" - posts: - type: array - items: - $ref: "../../schema/post.yaml#/Post" - postChildren: - type: array - items: - $ref: "../../schema/post.yaml#/Post" - comments: - type: array - items: - $ref: "../../schema/comment.yaml#/Comment" - users: - type: array - items: - $ref: "../../schema/user.yaml#/UserV3" - files: - type: array - items: - $ref: "../../schema/file.yaml#/File" - communities: - type: array - items: - $ref: "../../schema/community.yaml#/Community" - communityUsers: - type: array - items: - $ref: "../../schema/community.yaml#/CommunityUser" - categories: - type: array - items: - $ref: "../../schema/community.yaml#/CommunityCategory" - feeds: - type: array - items: - $ref: "../../schema/feed.yaml#/Feed" - videoStreamings: - type: array - items: - $ref: "../../schema/video-streaming.yml#/VideoStreaming" - polls: - type: array - items: - $ref: "../../schema/poll.yaml#/Poll" - commentChildren: - type: array - items: - $ref: "../../schema/comment.yaml#/Comment" paging: type: object properties: From 38e65fac2a4f6c99e7f27b83917cdb306933595e Mon Sep 17 00:00:00 2001 From: Nuttapong Thaiauboon Date: Tue, 1 Apr 2025 17:24:42 +0700 Subject: [PATCH 05/15] feat: update moderation feed query and remove unused API --- bundled.yaml | 201 +++++++++++------------- schema/content.yaml | 78 +++++++++ swagger-admin.yaml | 6 - v1-admin/moderation-feeds/request.yaml | 10 +- v1-admin/moderation-feeds/response.yaml | 4 + 5 files changed, 182 insertions(+), 117 deletions(-) diff --git a/bundled.yaml b/bundled.yaml index d24b5aaa..dcc05ce9 100644 --- a/bundled.yaml +++ b/bundled.yaml @@ -135,7 +135,7 @@ paths: enum: - post - comment - - photo + - image - video - file - name: creatorIds @@ -153,6 +153,7 @@ paths: items: type: string maxLength: 24 + max: 5 - name: isDeleted in: query description: | @@ -167,6 +168,13 @@ paths: 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. @@ -206,40 +214,6 @@ paths: $ref: '#/components/responses/BadRequestError' '500': $ref: '#/components/responses/UnexpectedError' - /admin/v1/contents: - delete: - summary: Delete multiple content - description: Delete multiple content. Use when review item in moderation feeds. - tags: - - Moderation Feed - security: - - BearerAuth: [] - requestBody: - $ref: '#/components/requestBodies/root-delete-request-payload' - responses: - '200': - $ref: '#/components/responses/root-delete-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' - /admin/v1/contents/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: '#/components/requestBodies/flags-delete-request-payload' - responses: - '200': - $ref: '#/components/responses/flags-delete-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' components: securitySchemes: ApiKeyAuth: @@ -258,6 +232,9 @@ components: type: object properties: contentId: + type: string + description: Internal ID of the content. + contentPublicId: type: string description: Public ID of the content. contentType: @@ -266,6 +243,81 @@ components: - 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. Error: type: object properties: @@ -304,6 +356,10 @@ components: type: string previous: type: string + total: + type: integer + description: Total number of contents that match the filter. + example: 100 BadRequestError: description: Bad Request error. content: @@ -324,78 +380,3 @@ components: status: error code: 500000 message: Unexpected error - 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. - requestBodies: - 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/schema/content.yaml b/schema/content.yaml index 7a8218d1..6dd78055 100644 --- a/schema/content.yaml +++ b/schema/content.yaml @@ -2,6 +2,9 @@ Content: type: object properties: contentId: + type: string + description: Internal ID of the content. + contentPublicId: type: string description: Public ID of the content. contentType: @@ -10,3 +13,78 @@ Content: - 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/swagger-admin.yaml b/swagger-admin.yaml index 42c6a2e0..b9385c3e 100644 --- a/swagger-admin.yaml +++ b/swagger-admin.yaml @@ -15,12 +15,6 @@ paths: /admin/v1/moderation-feeds: $ref: "./v1-admin/moderation-feeds/index.yaml#/root" - /admin/v1/contents: - $ref: "./v1-admin/contents/index.yaml#/root" - - /admin/v1/contents/flags: - $ref: "./v1-admin/contents/index.yaml#/flags" - components: securitySchemes: ApiKeyAuth: diff --git a/v1-admin/moderation-feeds/request.yaml b/v1-admin/moderation-feeds/request.yaml index 06ed1979..d4584c3f 100644 --- a/v1-admin/moderation-feeds/request.yaml +++ b/v1-admin/moderation-feeds/request.yaml @@ -23,7 +23,7 @@ root-get-request-parameters: enum: - post - comment - - photo + - image - video - file - name: creatorIds @@ -41,6 +41,7 @@ root-get-request-parameters: items: type: string maxLength: 24 + max: 5 - name: isDeleted in: query description: | @@ -55,6 +56,13 @@ root-get-request-parameters: 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." diff --git a/v1-admin/moderation-feeds/response.yaml b/v1-admin/moderation-feeds/response.yaml index b3f880e0..6323feff 100644 --- a/v1-admin/moderation-feeds/response.yaml +++ b/v1-admin/moderation-feeds/response.yaml @@ -17,3 +17,7 @@ root-response-200: type: string previous: type: string + total: + type: integer + description: Total number of contents that match the filter. + example: 100 From 1988b8031e8a6f98148f706285f37e4c9458597e Mon Sep 17 00:00:00 2001 From: Nuttapong Thaiauboon Date: Thu, 24 Apr 2025 16:56:09 +0700 Subject: [PATCH 06/15] chore: add bundle admin --- bundled.yaml | 22983 +------------------------------------------------ 1 file changed, 246 insertions(+), 22737 deletions(-) diff --git a/bundled.yaml b/bundled.yaml index 4bc7cb4a..dcc05ce9 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.102.0 + version: 4.99.1 servers: - url: https://apix.us.amity.co description: API Endpoint for US Region @@ -102,22772 +102,281 @@ 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 - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/channelId' - responses: - '200': - $ref: '#/components/responses/channels_channelId-post-response-payload-200' - '400': - $ref: '#/components/responses/BadRequestError' - '404': - $ref: '#/components/responses/NotFoundError' - delete: - summary: Unarchive channels - tags: - - Archive - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/channelId' - 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 - '400': - $ref: '#/components/responses/BadRequestError' - '422': - $ref: '#/components/responses/UnProcessableError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v1/analytics/views/posts/{postId}/users: - 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. - tags: - - Analytic - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/postId' - - $ref: '#/components/parameters/token' - - $ref: '#/components/parameters/limit' - 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' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v1/analytics/views/stories/{storyId}/users: - 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. - tags: - - Analytic - security: - - BearerAuth: [] - parameters: - - $ref: '#/components/parameters/storyId' - - $ref: '#/components/parameters/token' - - $ref: '#/components/parameters/limit' - 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' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v3/authentication/token: - get: - summary: Get authentication token - deprecated: true - tags: - - Authentication - parameters: - - $ref: '#/components/parameters/x-server-key' - - $ref: '#/components/parameters/userId' - responses: - '200': - $ref: '#/components/responses/token-get-response-payload-200' - '403': - $ref: '#/components/responses/ForbiddenError' - '500': - $ref: '#/components/responses/ValidationError' - /api/v4/authentication/token: - post: - summary: Create authentication token for session creation API - tags: - - Authentication - parameters: - - $ref: '#/components/parameters/x-server-key' - description: | - Create authentication token for session creation API. Token userId need to match userId when using it - requestBody: - 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' - responses: - '200': - description: OK - '403': - $ref: '#/components/responses/PermissionDeniedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v2/channel/{channelId}/mute: - put: - summary: Mute channel - tags: - - Channel - security: - - BearerAuth: [] - description: | - Mute all users in channel for a specific period of time. - parameters: - - $ref: '#/components/parameters/parameter_channelId' - requestBody: - $ref: '#/components/requestBodies/mute-put-request-payload' - responses: - '200': - $ref: '#/components/responses/mute-response-payload-200' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v2/channel/{channelId}/users/mute: - put: - summary: Mute user in channel - tags: - - Channel - security: - - BearerAuth: [] - description: | - Mute a user in channel for a specific period of time. - parameters: - - $ref: '#/components/parameters/parameter_channelId' - requestBody: - $ref: '#/components/requestBodies/users-mute-put-request-payload' - responses: - '200': - $ref: '#/components/responses/mute-response-payload-200' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/UnexpectedError' - /api/v2/search/channels: - get: - tags: - - Channel - summary: Search channels - description: Retrieve channels based on search criteria - 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' - 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' - '500': - $ref: '#/components/responses/UnexpectedError' - post: - summary: Create channel - tags: - - Channel - security: - - BearerAuth: [] - requestBody: - $ref: '#/components/requestBodies/root-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/seen: - post: - summary: Bulk mark seen - tags: - - Channel - security: - - BearerAuth: [] - requestBody: - $ref: '#/components/requestBodies/seen-post-request-payload' - responses: - '200': - description: This endpoint returns 200 OK if the request is successful. - '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. - tags: - - Channel - security: - - BearerAuth: [] - 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 + - Moderation Feed 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' - requestBody: - $ref: '#/components/requestBodies/_commentId-put-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' - 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' - '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/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 - acceType: - 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 - 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: - type: object - description: require text or images or files (can't add images with files) - properties: - text: - 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: | - information of a post to be updated. - required: true - 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: - 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: + - name: targetType + in: query 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: + type: string + enum: + - user + - community + - name: targetIds + in: query + description: Target internal id 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: - 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: - content: - application/json: + type: array + items: + type: string + maxLength: 900 + - name: contentTypes + in: query 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 - content: - application/json: + type: array + items: + type: string + enum: + - post + - comment + - image + - video + - file + - name: creatorIds + in: query + description: Creator internal id 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: - description: | - Permission information to be added - required: true - content: - application/json: + type: array + items: + type: string + maxLength: 900 + - name: tags + in: query 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: - description: | - information of a role to be created. - required: true - content: - application/json: + 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: 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: - 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: + type: boolean + - name: isFlagCleared + in: query + description: | + For filter content that flag is cleared while reviewing
+ Will filter manualReview.reviewedType == "clearFlag" 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-12: - 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: + type: boolean + - name: isReviewed + in: query + description: | + For filter content that is reviewed or not reviewed
+ Will filter lastReviewedAt exists 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: - content: - application/json: + 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: object - properties: - data: + 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/root-response-200' + '400': + $ref: '#/components/responses/BadRequestError' + '500': + $ref: '#/components/responses/UnexpectedError' +components: + securitySchemes: + ApiKeyAuth: + type: apiKey + in: header + name: X-API-Key + BearerAuth: + type: http + scheme: bearer + cookieAuth: + type: apiKey + in: cookie + name: connect.sid + 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: Main data contained in the story, required only 1 field depends on dataType. The size of this object must be less than 10 KB. + description: List of categories identified by AI moderation. properties: - text: - type: string - description: text data (required if dataType is text) - example: example text - fileId: + name: type: string - description: image or video file id (required if dataType is image or video) - imageDisplayMode: + 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 - description: | - image display mode (required if dataType is image) represents the display mode of an image for maintaining the correct visual dimensions when displaying or processing image. - enum: - - fit - - fill - default: fit - dataType: - type: string - enum: - - text - - image - - video - items: - type: array - description: List of items contained in story. Currently only support hyperlink item. Only one hyperlink item is allowed per story. - items: - $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 - content: - application/json: - schema: - type: object - properties: - userId: - type: string - required: - - userId - request_root-put-request-payload-2: + - type: object + responses: + root-response-200: description: | - User 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: - userId: - type: string - maxLength: 50 - displayName: - type: string - maxLength: 100 - roles: + contents: type: array - description: Only administrator can update system roles (moderator and admin) - maxItems: 10 items: - type: string - maxLength: 100 - metadata: + $ref: '#/components/schemas/Content' + paging: type: object - description: | - User metadata (max: 5,000 bytes) - avatarFileId: - type: string - maxLength: 50 - avatarCustomUrl: - type: string - maxLength: 1000 - description: - type: string - maxLength: 500 - user-event-video-streaming-request-payload: - description: A group of user activity on startTime, endTime and watchSeconds. - required: true - content: - application/json: - schema: - required: - - signature - - nonceStr - - timestamp - - streams - 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: - type: array - items: - type: object - required: - - streamId - - startTime - - endTime - - watchSeconds - - resolution - properties: - sessionId: - description: unique sessionId for each user event, max length 50 - type: string - streamId: - description: streamId of video streaming instance, max length 50 - type: string - startTime: - description: timestamp string in UTC format - type: string - example: '2021-03-10T03:07:16.127Z' - endTime: - description: timestamp string in UTC format - 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 + properties: + next: + type: string + previous: + type: string + 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: - 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 + $ref: '#/components/schemas/Error' + example: + status: error + code: 400000 + message: Bad Request. + UnexpectedError: + description: Unexpected 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: 500000 + message: Unexpected error From 5ce31d8145c18577441f57d2587df2023e8803f2 Mon Sep 17 00:00:00 2001 From: Nuttapong Thaiauboon Date: Fri, 25 Apr 2025 11:49:58 +0700 Subject: [PATCH 07/15] feat(premium-report): add api docs --- bundled.yaml | 209 ++++++++++++++++++++- schema/network-setting.yaml | 9 + schema/premium-report.yaml | 13 ++ swagger-admin.yaml | 18 ++ v1-admin/moderation-feeds/index.yaml | 2 +- v1-admin/network-settings/index.yaml | 15 ++ v1-admin/network-settings/response.yaml | 7 + v1-admin/premium-reports/index.yaml | 56 ++++++ v1-admin/premium-reports/request.yaml | 0 v1-admin/premium-reports/response.yaml | 27 +++ v1-internal/network-settings/index.yaml | 54 ++++++ v1-internal/network-settings/response.yaml | 30 +++ 12 files changed, 438 insertions(+), 2 deletions(-) create mode 100644 schema/premium-report.yaml create mode 100644 v1-admin/network-settings/index.yaml create mode 100644 v1-admin/network-settings/response.yaml create mode 100644 v1-admin/premium-reports/index.yaml create mode 100644 v1-admin/premium-reports/request.yaml create mode 100644 v1-admin/premium-reports/response.yaml create mode 100644 v1-internal/network-settings/index.yaml create mode 100644 v1-internal/network-settings/response.yaml diff --git a/bundled.yaml b/bundled.yaml index dcc05ce9..4ad50bf8 100644 --- a/bundled.yaml +++ b/bundled.yaml @@ -109,7 +109,7 @@ paths: tags: - Moderation Feed security: - - BearerAuth: [] + - cookieAuth: [] parameters: - name: targetType in: query @@ -214,6 +214,129 @@ paths: $ref: '#/components/responses/BadRequestError' '500': $ref: '#/components/responses/UnexpectedError' + /admin/v1/network-settings/premium-reports: + get: + summary: Get premium report settings + description: Get premium report settings. + tags: + - Premium Report + security: + - cookieAuth: [] + responses: + '200': + $ref: '#/components/responses/premium-reports-get-response-200' + '400': + $ref: '#/components/responses/BadRequestError' + '500': + $ref: '#/components/responses/UnexpectedError' + /admin/v1/premium-reports: + get: + summary: Query report items + description: Retrieve the existing report + tags: + - Premium Report + security: + - basicAuth: [] + 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: '#/components/responses/root-get-response-200' + '400': + $ref: '#/components/responses/BadRequestError' + '500': + $ref: '#/components/responses/UnexpectedError' + /admin/v1/premium-reports/{key}/download: + get: + summary: Download report items + description: Download the report items in CSV format. + tags: + - Premium Report + security: + - basicAuth: [] + parameters: + - name: key + in: path + description: File S3 key for the report items. + required: true + schema: + type: string + example: report-xyz-2023-10-01T00:00:00Z.csv + responses: + '302': + $ref: '#/components/responses/_key-download-response-200' + '400': + $ref: '#/components/responses/BadRequestError' + '500': + $ref: '#/components/responses/UnexpectedError' + /internal/v1/network-settings/premium-reports: + put: + summary: Update premium report settings + description: Update premium report settings. + tags: + - Premium Report + security: + - basicAuth: [] + headers: + x-caller-context: + required: true + schema: + type: string + description: | + The caller context header is used to identify the caller context. + Must be a JSON string. + example: | + {"networkId": "1234567890","apiKey": "xxxxxxxx"} + 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: '#/components/responses/premium-reports-put-response-200' + '400': + $ref: '#/components/responses/BadRequestError' + '500': + $ref: '#/components/responses/UnexpectedError' + /internal/v1/network-settings/premium-reports/list-networks: + get: + summary: List enabled networks + description: List networks that have the premium report enabled. + tags: + - Premium Report + security: + - basicAuth: [] + responses: + '200': + $ref: '#/components/responses/premium-reports-list-networks-get-response-200' + '400': + $ref: '#/components/responses/BadRequestError' + '500': + $ref: '#/components/responses/UnexpectedError' components: securitySchemes: ApiKeyAuth: @@ -227,6 +350,9 @@ components: type: apiKey in: cookie name: connect.sid + basicAuth: + type: http + scheme: basic schemas: Content: type: object @@ -336,6 +462,25 @@ components: 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: | @@ -380,3 +525,65 @@ components: status: error code: 500000 message: Unexpected error + premium-reports-get-response-200: + description: | + Premium report settings response. + content: + application/json: + schema: + $ref: '#/components/schemas/PremiumReportNetworkSetting' + root-get-response-200: + description: | + Premium report list. + content: + application/json: + schema: + type: object + properties: + reports: + type: array + items: + $ref: '#/components/schemas/PremiumReport' + paging: + type: object + properties: + next: + type: string + _key-download-response-200: + 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 + premium-reports-put-response-200: + description: | + Premium report settings response. + content: + application/json: + schema: + $ref: '#/components/schemas/PremiumReportNetworkSetting' + premium-reports-list-networks-get-response-200: + description: | + List of networks that have the premium report enabled. + content: + application/json: + schema: + type: object + properties: + networks: + 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 networks that have the premium report enabled. 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 index b9385c3e..029d9213 100644 --- a/swagger-admin.yaml +++ b/swagger-admin.yaml @@ -15,6 +15,21 @@ 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/{key}/download: + $ref: "./v1-admin/premium-reports/index.yaml#/_key-download" + + /internal/v1/network-settings/premium-reports: + $ref: "./v1-internal/network-settings/index.yaml#/premium-reports" + + /internal/v1/network-settings/premium-reports/list-networks: + $ref: "./v1-internal/network-settings/index.yaml#/premium-reports-list-networks" + components: securitySchemes: ApiKeyAuth: @@ -28,3 +43,6 @@ components: type: apiKey in: cookie name: connect.sid # cookie name + basicAuth: + type: http + scheme: basic diff --git a/v1-admin/moderation-feeds/index.yaml b/v1-admin/moderation-feeds/index.yaml index d99fc480..95035a19 100644 --- a/v1-admin/moderation-feeds/index.yaml +++ b/v1-admin/moderation-feeds/index.yaml @@ -5,7 +5,7 @@ root: tags: - "Moderation Feed" security: - - BearerAuth: [] + - cookieAuth: [] parameters: $ref: "./request.yaml#/root-get-request-parameters" responses: 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..4aa96827 --- /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" + +_key-download: + get: + summary: "Download report items" + description: "Download the report items in CSV format." + tags: + - "Premium Report" + security: + - cookieAuth: [] + parameters: + - name: "key" + in: "path" + description: "File S3 key for the report items." + required: true + schema: + type: "string" + example: "report-xyz-2023-10-01T00:00:00Z.csv" + responses: + 302: + $ref: "./response.yaml#/_key-download-response-200" + 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..704d3b0b --- /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 + +_key-download-response-200: + 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..c9dac50e --- /dev/null +++ b/v1-internal/network-settings/index.yaml @@ -0,0 +1,54 @@ +premium-reports: + put: + summary: "Update premium report settings" + description: "Update premium report settings." + tags: + - "Premium Report" + security: + - basicAuth: [] + headers: + x-caller-context: + required: true + schema: + type: string + description: | + The caller context header is used to identify the caller context. + Must be a JSON string. + example: | + {"networkId": "1234567890","apiKey": "xxxxxxxx"} + 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" + +premium-reports-list-networks: + get: + summary: "List enabled networks" + description: "List networks that have the premium report enabled." + tags: + - "Premium Report" + security: + - basicAuth: [] + responses: + 200: + $ref: "./response.yaml#/premium-reports-list-networks-get-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..c849b2a9 --- /dev/null +++ b/v1-internal/network-settings/response.yaml @@ -0,0 +1,30 @@ +premium-reports-put-response-200: + description: | + Premium report settings response. + content: + application/json: + schema: + $ref: "../../schema/network-setting.yaml#/PremiumReportNetworkSetting" + +premium-reports-list-networks-get-response-200: + description: | + List of networks that have the premium report enabled. + content: + application/json: + schema: + type: "object" + properties: + networks: + 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 networks that have the premium report enabled. From 3de0acda9c3a6b8881eebc49fb402fd5c399af59 Mon Sep 17 00:00:00 2001 From: Nuttapong Thaiauboon Date: Fri, 25 Apr 2025 12:01:31 +0700 Subject: [PATCH 08/15] chore(premium-report): fix typo --- swagger-admin.yaml | 4 ++-- v1-admin/premium-reports/index.yaml | 12 ++++++------ v1-admin/premium-reports/response.yaml | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/swagger-admin.yaml b/swagger-admin.yaml index 029d9213..2f575ae9 100644 --- a/swagger-admin.yaml +++ b/swagger-admin.yaml @@ -21,8 +21,8 @@ paths: /admin/v1/premium-reports: $ref: "./v1-admin/premium-reports/index.yaml#/root" - /admin/v1/premium-reports/{key}/download: - $ref: "./v1-admin/premium-reports/index.yaml#/_key-download" + /admin/v1/premium-reports/{fileName}/download: + $ref: "./v1-admin/premium-reports/index.yaml#/_fileName-download" /internal/v1/network-settings/premium-reports: $ref: "./v1-internal/network-settings/index.yaml#/premium-reports" diff --git a/v1-admin/premium-reports/index.yaml b/v1-admin/premium-reports/index.yaml index 4aa96827..8d186516 100644 --- a/v1-admin/premium-reports/index.yaml +++ b/v1-admin/premium-reports/index.yaml @@ -31,25 +31,25 @@ root: 500: $ref: "../../global/error.yaml#/UnexpectedError" -_key-download: +_fileName-download: get: - summary: "Download report items" - description: "Download the report items in CSV format." + summary: "Download report item" + description: "Download the report item from S3" tags: - "Premium Report" security: - cookieAuth: [] parameters: - - name: "key" + - name: "fileName" in: "path" - description: "File S3 key for the report items." + description: "File name of the report items." required: true schema: type: "string" example: "report-xyz-2023-10-01T00:00:00Z.csv" responses: 302: - $ref: "./response.yaml#/_key-download-response-200" + $ref: "./response.yaml#/_key-download-response-302" 400: $ref: "../../global/error.yaml#/BadRequestError" 500: diff --git a/v1-admin/premium-reports/response.yaml b/v1-admin/premium-reports/response.yaml index 704d3b0b..6977f9ce 100644 --- a/v1-admin/premium-reports/response.yaml +++ b/v1-admin/premium-reports/response.yaml @@ -16,7 +16,7 @@ root-get-response-200: next: type: string -_key-download-response-200: +_key-download-response-302: description: | Redirect to S3 signed URL for downloading the report. headers: From 200c46449ad2075ab2496a953b471affca5d0296 Mon Sep 17 00:00:00 2001 From: Nuttapong Thaiauboon Date: Fri, 25 Apr 2025 13:43:23 +0700 Subject: [PATCH 09/15] chore: replace bundle --- bundled.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/bundled.yaml b/bundled.yaml index 4ad50bf8..31ade270 100644 --- a/bundled.yaml +++ b/bundled.yaml @@ -236,7 +236,7 @@ paths: tags: - Premium Report security: - - basicAuth: [] + - cookieAuth: [] parameters: - name: options[token] in: query @@ -261,25 +261,25 @@ paths: $ref: '#/components/responses/BadRequestError' '500': $ref: '#/components/responses/UnexpectedError' - /admin/v1/premium-reports/{key}/download: + /admin/v1/premium-reports/{fileName}/download: get: - summary: Download report items - description: Download the report items in CSV format. + summary: Download report item + description: Download the report item from S3 tags: - Premium Report security: - - basicAuth: [] + - cookieAuth: [] parameters: - - name: key + - name: fileName in: path - description: File S3 key for the report items. + description: File name of the report items. required: true schema: type: string example: report-xyz-2023-10-01T00:00:00Z.csv responses: '302': - $ref: '#/components/responses/_key-download-response-200' + $ref: '#/components/responses/_key-download-response-302' '400': $ref: '#/components/responses/BadRequestError' '500': @@ -549,7 +549,7 @@ components: properties: next: type: string - _key-download-response-200: + _key-download-response-302: description: | Redirect to S3 signed URL for downloading the report. headers: From 24da4a892c9f2835225a3efce249861872430f98 Mon Sep 17 00:00:00 2001 From: Nuttapong Thaiauboon Date: Fri, 25 Apr 2025 14:15:44 +0700 Subject: [PATCH 10/15] fix(premium-report): change response data --- bundled.yaml | 8 ++++---- v1-internal/network-settings/response.yaml | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/bundled.yaml b/bundled.yaml index 4683f254..c071b2e6 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 @@ -567,13 +567,13 @@ components: $ref: '#/components/schemas/PremiumReportNetworkSetting' premium-reports-list-networks-get-response-200: description: | - List of networks that have the premium report enabled. + List settings of networks that have the premium report enabled. content: application/json: schema: type: object properties: - networks: + premiumReportSettings: type: array items: type: object @@ -586,4 +586,4 @@ components: type: boolean description: Whether the premium report is enabled or not. example: true - description: List of networks that have the premium report enabled. + description: List of settings of networks that have the premium report enabled. diff --git a/v1-internal/network-settings/response.yaml b/v1-internal/network-settings/response.yaml index c849b2a9..4b83aff2 100644 --- a/v1-internal/network-settings/response.yaml +++ b/v1-internal/network-settings/response.yaml @@ -8,13 +8,13 @@ premium-reports-put-response-200: premium-reports-list-networks-get-response-200: description: | - List of networks that have the premium report enabled. + List settings of networks that have the premium report enabled. content: application/json: schema: type: "object" properties: - networks: + premiumReportSettings: type: "array" items: type: object @@ -27,4 +27,4 @@ premium-reports-list-networks-get-response-200: type: boolean description: Whether the premium report is enabled or not. example: true - description: List of networks that have the premium report enabled. + description: List of settings of networks that have the premium report enabled. From cbbb5265eca5d2cb85507a66cae9c0349f84877b Mon Sep 17 00:00:00 2001 From: Nuttapong Thaiauboon Date: Mon, 28 Apr 2025 10:54:13 +0700 Subject: [PATCH 11/15] fix: update document --- bundled.yaml | 60 +++++++++++----------- swagger-admin.yaml | 12 ++--- v1-admin/premium-reports/index.yaml | 10 ++-- v1-admin/premium-reports/response.yaml | 2 +- v1-internal/network-settings/index.yaml | 18 +------ v1-internal/network-settings/response.yaml | 23 --------- v1-internal/premium-reports/index.yaml | 15 ++++++ v1-internal/premium-reports/response.yaml | 22 ++++++++ 8 files changed, 80 insertions(+), 82 deletions(-) create mode 100644 v1-internal/premium-reports/index.yaml create mode 100644 v1-internal/premium-reports/response.yaml diff --git a/bundled.yaml b/bundled.yaml index c071b2e6..a14b685d 100644 --- a/bundled.yaml +++ b/bundled.yaml @@ -261,7 +261,7 @@ paths: $ref: '#/components/responses/BadRequestError' '500': $ref: '#/components/responses/UnexpectedError' - /admin/v1/premium-reports/{fileName}/download: + /admin/v1/premium-reports/download: get: summary: Download report item description: Download the report item from S3 @@ -271,20 +271,35 @@ paths: - cookieAuth: [] parameters: - name: fileName - in: path - description: File name of the report items. + in: query + description: Base64 encoded file name of the report items. required: true schema: type: string - example: report-xyz-2023-10-01T00:00:00Z.csv + example: c2FtcGxlLXRleHQtZmlsZS5qcGc= responses: '302': - $ref: '#/components/responses/_key-download-response-302' + $ref: '#/components/responses/download-response-302' '400': $ref: '#/components/responses/BadRequestError' '500': $ref: '#/components/responses/UnexpectedError' - /internal/v1/network-settings/premium-reports: + /internal/v1/premium-reports/list-networks: + get: + summary: List enabled networks + description: List networks that have the premium report enabled. + tags: + - Premium Report + security: + - basicAuth: [] + responses: + '200': + $ref: '#/components/responses/list-networks-get-response-200' + '400': + $ref: '#/components/responses/BadRequestError' + '500': + $ref: '#/components/responses/UnexpectedError' + /internal/v1/network-settings/premium-report: put: summary: Update premium report settings description: Update premium report settings. @@ -322,21 +337,6 @@ paths: $ref: '#/components/responses/BadRequestError' '500': $ref: '#/components/responses/UnexpectedError' - /internal/v1/network-settings/premium-reports/list-networks: - get: - summary: List enabled networks - description: List networks that have the premium report enabled. - tags: - - Premium Report - security: - - basicAuth: [] - responses: - '200': - $ref: '#/components/responses/premium-reports-list-networks-get-response-200' - '400': - $ref: '#/components/responses/BadRequestError' - '500': - $ref: '#/components/responses/UnexpectedError' components: securitySchemes: ApiKeyAuth: @@ -549,7 +549,7 @@ components: properties: next: type: string - _key-download-response-302: + download-response-302: description: | Redirect to S3 signed URL for downloading the report. headers: @@ -558,14 +558,7 @@ components: type: string format: uri example: https://s3.amazonaws.com/bucket-name/report.csv?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Expires=1234567890&Signature=example - premium-reports-put-response-200: - description: | - Premium report settings response. - content: - application/json: - schema: - $ref: '#/components/schemas/PremiumReportNetworkSetting' - premium-reports-list-networks-get-response-200: + list-networks-get-response-200: description: | List settings of networks that have the premium report enabled. content: @@ -587,3 +580,10 @@ components: 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: + $ref: '#/components/schemas/PremiumReportNetworkSetting' diff --git a/swagger-admin.yaml b/swagger-admin.yaml index 2f575ae9..31a65c87 100644 --- a/swagger-admin.yaml +++ b/swagger-admin.yaml @@ -21,14 +21,14 @@ paths: /admin/v1/premium-reports: $ref: "./v1-admin/premium-reports/index.yaml#/root" - /admin/v1/premium-reports/{fileName}/download: - $ref: "./v1-admin/premium-reports/index.yaml#/_fileName-download" + /admin/v1/premium-reports/download: + $ref: "./v1-admin/premium-reports/index.yaml#/download" - /internal/v1/network-settings/premium-reports: - $ref: "./v1-internal/network-settings/index.yaml#/premium-reports" + /internal/v1/premium-reports/list-networks: + $ref: "./v1-internal/premium-reports/index.yaml#/list-networks" - /internal/v1/network-settings/premium-reports/list-networks: - $ref: "./v1-internal/network-settings/index.yaml#/premium-reports-list-networks" + /internal/v1/network-settings/premium-report: + $ref: "./v1-internal/network-settings/index.yaml#/premium-report" components: securitySchemes: diff --git a/v1-admin/premium-reports/index.yaml b/v1-admin/premium-reports/index.yaml index 8d186516..727121fa 100644 --- a/v1-admin/premium-reports/index.yaml +++ b/v1-admin/premium-reports/index.yaml @@ -31,7 +31,7 @@ root: 500: $ref: "../../global/error.yaml#/UnexpectedError" -_fileName-download: +download: get: summary: "Download report item" description: "Download the report item from S3" @@ -41,15 +41,15 @@ _fileName-download: - cookieAuth: [] parameters: - name: "fileName" - in: "path" - description: "File name of the report items." + in: "query" + description: "Base64 encoded file name of the report items." required: true schema: type: "string" - example: "report-xyz-2023-10-01T00:00:00Z.csv" + example: "c2FtcGxlLXRleHQtZmlsZS5qcGc=" responses: 302: - $ref: "./response.yaml#/_key-download-response-302" + $ref: "./response.yaml#/download-response-302" 400: $ref: "../../global/error.yaml#/BadRequestError" 500: diff --git a/v1-admin/premium-reports/response.yaml b/v1-admin/premium-reports/response.yaml index 6977f9ce..d310ae07 100644 --- a/v1-admin/premium-reports/response.yaml +++ b/v1-admin/premium-reports/response.yaml @@ -16,7 +16,7 @@ root-get-response-200: next: type: string -_key-download-response-302: +download-response-302: description: | Redirect to S3 signed URL for downloading the report. headers: diff --git a/v1-internal/network-settings/index.yaml b/v1-internal/network-settings/index.yaml index c9dac50e..989ebdb2 100644 --- a/v1-internal/network-settings/index.yaml +++ b/v1-internal/network-settings/index.yaml @@ -1,4 +1,4 @@ -premium-reports: +premium-report: put: summary: "Update premium report settings" description: "Update premium report settings." @@ -36,19 +36,3 @@ premium-reports: $ref: "../../global/error.yaml#/BadRequestError" 500: $ref: "../../global/error.yaml#/UnexpectedError" - -premium-reports-list-networks: - get: - summary: "List enabled networks" - description: "List networks that have the premium report enabled." - tags: - - "Premium Report" - security: - - basicAuth: [] - responses: - 200: - $ref: "./response.yaml#/premium-reports-list-networks-get-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 index 4b83aff2..6cfe1a06 100644 --- a/v1-internal/network-settings/response.yaml +++ b/v1-internal/network-settings/response.yaml @@ -5,26 +5,3 @@ premium-reports-put-response-200: application/json: schema: $ref: "../../schema/network-setting.yaml#/PremiumReportNetworkSetting" - -premium-reports-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. diff --git a/v1-internal/premium-reports/index.yaml b/v1-internal/premium-reports/index.yaml new file mode 100644 index 00000000..6dde1783 --- /dev/null +++ b/v1-internal/premium-reports/index.yaml @@ -0,0 +1,15 @@ +list-networks: + get: + summary: "List enabled networks" + description: "List networks that have the premium report enabled." + 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. From aeb06a58778d016357f0164ad89d8610d061757c Mon Sep 17 00:00:00 2001 From: Nuttapong Thaiauboon Date: Wed, 14 May 2025 13:04:31 +0700 Subject: [PATCH 12/15] chore: update document --- bundled.yaml | 22 +++++++++++++--------- v1-internal/network-settings/index.yaml | 14 +++++--------- v1-internal/premium-reports/index.yaml | 8 ++++++++ 3 files changed, 26 insertions(+), 18 deletions(-) diff --git a/bundled.yaml b/bundled.yaml index a14b685d..d53169d8 100644 --- a/bundled.yaml +++ b/bundled.yaml @@ -288,6 +288,14 @@ paths: 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: @@ -307,16 +315,12 @@ paths: - Premium Report security: - basicAuth: [] - headers: - x-caller-context: + parameters: + - name: x-internal-api-key + in: header + description: The internal API key of network to update required: true - schema: - type: string - description: | - The caller context header is used to identify the caller context. - Must be a JSON string. - example: | - {"networkId": "1234567890","apiKey": "xxxxxxxx"} + type: string requestBody: required: true content: diff --git a/v1-internal/network-settings/index.yaml b/v1-internal/network-settings/index.yaml index 989ebdb2..847b843d 100644 --- a/v1-internal/network-settings/index.yaml +++ b/v1-internal/network-settings/index.yaml @@ -6,16 +6,12 @@ premium-report: - "Premium Report" security: - basicAuth: [] - headers: - x-caller-context: + parameters: + - name: x-internal-api-key + in: header + description: The internal API key of network to update required: true - schema: - type: string - description: | - The caller context header is used to identify the caller context. - Must be a JSON string. - example: | - {"networkId": "1234567890","apiKey": "xxxxxxxx"} + type: string requestBody: required: true content: diff --git a/v1-internal/premium-reports/index.yaml b/v1-internal/premium-reports/index.yaml index 6dde1783..f2a31e46 100644 --- a/v1-internal/premium-reports/index.yaml +++ b/v1-internal/premium-reports/index.yaml @@ -2,6 +2,14 @@ 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: From fc9e102493042d5122a9199980acb6c696b7919d Mon Sep 17 00:00:00 2001 From: Nuttapong Thaiauboon Date: Thu, 15 May 2025 17:58:52 +0700 Subject: [PATCH 13/15] feat: add api doc for granular access control feature --- bundled.yaml | 532 +++++++++++++++++++++++++++++++++++ swagger-admin.yaml | 12 + v1-admin/admin/index.yaml | 433 ++++++++++++++++++++++++++++ v1-admin/admin/request.yaml | 0 v1-admin/admin/response.yaml | 92 ++++++ 5 files changed, 1069 insertions(+) create mode 100644 v1-admin/admin/index.yaml create mode 100644 v1-admin/admin/request.yaml create mode 100644 v1-admin/admin/response.yaml diff --git a/bundled.yaml b/bundled.yaml index d53169d8..ea16faed 100644 --- a/bundled.yaml +++ b/bundled.yaml @@ -341,6 +341,437 @@ paths: $ref: '#/components/responses/BadRequestError' '500': $ref: '#/components/responses/UnexpectedError' + /admin/v1/admin: + post: + summary: Create a new admin user + description: Creates a new admin user with the specified details and permissions. + tags: + - Admin + security: + - BearerAuth: [] + 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 + 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 + 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/root-post-response-200' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnAuthorizedError' + '500': + $ref: '#/components/responses/UnexpectedError' + /admin/v1/admin/update: + post: + summary: Update admin user details + description: Updates the details of an existing admin user. + tags: + - Admin + security: + - BearerAuth: [] + 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 + 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 + 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/root-post-response-200' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnAuthorizedError' + '500': + $ref: '#/components/responses/UnexpectedError' + /admin/v1/admin/roles: + 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: + - BearerAuth: [] + 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 + displayName: + type: string + description: The display name of the role. + example: some role test + description: + type: string + 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/roles-post-response-200' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnAuthorizedError' + '500': + $ref: '#/components/responses/UnexpectedError' + /admin/v1/admin/roles/{roleId}: + put: + summary: Update an admin role + description: Updates the details of an existing admin role. + tags: + - Admin + security: + - BearerAuth: [] + 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 + description: + type: string + description: An updated brief description of the role. + example: This is an updated test role + 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/roles-post-response-200' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnAuthorizedError' + '500': + $ref: '#/components/responses/UnexpectedError' components: securitySchemes: ApiKeyAuth: @@ -591,3 +1022,104 @@ components: application/json: schema: $ref: '#/components/schemas/PremiumReportNetworkSetting' + root-post-response-200: + description: Successful response + content: + application/json: + schema: + type: object + properties: + message: + type: string + 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: + 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/swagger-admin.yaml b/swagger-admin.yaml index 31a65c87..d92a7661 100644 --- a/swagger-admin.yaml +++ b/swagger-admin.yaml @@ -30,6 +30,18 @@ paths: /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: diff --git a/v1-admin/admin/index.yaml b/v1-admin/admin/index.yaml new file mode 100644 index 00000000..a023a764 --- /dev/null +++ b/v1-admin/admin/index.yaml @@ -0,0 +1,433 @@ +root: + post: + summary: "Create a new admin user" + description: "Creates a new admin user with the specified details and permissions." + tags: + - "Admin" + security: + - BearerAuth: [] + 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 + 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 + 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: + - BearerAuth: [] + 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 + 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 + 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: + 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: + - BearerAuth: [] + 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" + displayName: + type: string + description: "The display name of the role." + example: "some role test" + description: + type: string + 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: + put: + summary: "Update an admin role" + description: "Updates the details of an existing admin role." + tags: + - "Admin" + security: + - BearerAuth: [] + 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" + description: + type: string + description: "An updated brief description of the role." + example: "This is an updated test role" + 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" From 302f619297ba41607eed4025431bcfb96c327420 Mon Sep 17 00:00:00 2001 From: Nuttapong Thaiauboon Date: Thu, 15 May 2025 18:30:52 +0700 Subject: [PATCH 14/15] feat: add api for query and get admin role --- bundled.yaml | 60 ++++++++++++++++++++++++++++++++++++--- v1-admin/admin/index.yaml | 50 +++++++++++++++++++++++++++++--- 2 files changed, 102 insertions(+), 8 deletions(-) diff --git a/bundled.yaml b/bundled.yaml index ea16faed..89ca9e8b 100644 --- a/bundled.yaml +++ b/bundled.yaml @@ -348,7 +348,7 @@ paths: tags: - Admin security: - - BearerAuth: [] + - cookieAuth: [] requestBody: required: true content: @@ -473,7 +473,7 @@ paths: tags: - Admin security: - - BearerAuth: [] + - cookieAuth: [] requestBody: required: true content: @@ -591,13 +591,29 @@ paths: '500': $ref: '#/components/responses/UnexpectedError' /admin/v1/admin/roles: + get: + summary: Query admin roles + description: Retrieve a list of admin roles based on query parameters. + tags: + - Admin + security: + - cookieAuth: [] + responses: + '200': + $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 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: - - BearerAuth: [] + - cookieAuth: [] requestBody: required: true content: @@ -680,13 +696,39 @@ paths: '500': $ref: '#/components/responses/UnexpectedError' /admin/v1/admin/roles/{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: '#/components/responses/roles-post-response-200' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnAuthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '500': + $ref: '#/components/responses/UnexpectedError' put: summary: Update an admin role description: Updates the details of an existing admin role. tags: - Admin security: - - BearerAuth: [] + - cookieAuth: [] parameters: - name: roleId in: path @@ -1123,3 +1165,13 @@ components: type: string description: A brief description of the role. example: test + NotFoundError: + description: Resource Not Found error. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + example: + status: error + code: 400400 + message: Resource Not Found. diff --git a/v1-admin/admin/index.yaml b/v1-admin/admin/index.yaml index a023a764..7e45c0de 100644 --- a/v1-admin/admin/index.yaml +++ b/v1-admin/admin/index.yaml @@ -5,7 +5,7 @@ root: tags: - "Admin" security: - - BearerAuth: [] + - cookieAuth: [] requestBody: required: true content: @@ -131,7 +131,7 @@ update: tags: - "Admin" security: - - BearerAuth: [] + - cookieAuth: [] requestBody: required: true content: @@ -249,13 +249,29 @@ update: 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: - - BearerAuth: [] + - cookieAuth: [] requestBody: required: true content: @@ -339,13 +355,39 @@ roles: $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: - - BearerAuth: [] + - cookieAuth: [] parameters: - name: roleId in: path From f1dba434b933891561ada757f27aad2808efa68d Mon Sep 17 00:00:00 2001 From: Nuttapong Thaiauboon Date: Fri, 16 May 2025 16:06:37 +0700 Subject: [PATCH 15/15] fix: add parameter limit --- bundled.yaml | 9 +++++++++ v1-admin/admin/index.yaml | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/bundled.yaml b/bundled.yaml index 89ca9e8b..f4f425de 100644 --- a/bundled.yaml +++ b/bundled.yaml @@ -431,6 +431,7 @@ paths: example: file-12345 roleAssignments: type: array + maxLength: 10 items: type: object properties: @@ -446,6 +447,7 @@ paths: description: Community internal id for the role assignment. items: type: string + maxLength: 250 example: - roleId: role-12345 scope: @@ -554,6 +556,7 @@ paths: type: array items: type: object + maxLength: 10 properties: roleId: type: string @@ -564,6 +567,7 @@ paths: properties: communityIds: type: array + maxLength: 250 description: Community internal id for the role assignment. items: type: string @@ -625,12 +629,15 @@ paths: 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: @@ -748,10 +755,12 @@ paths: 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: diff --git a/v1-admin/admin/index.yaml b/v1-admin/admin/index.yaml index 7e45c0de..333e09d2 100644 --- a/v1-admin/admin/index.yaml +++ b/v1-admin/admin/index.yaml @@ -88,6 +88,7 @@ root: example: "file-12345" roleAssignments: type: array + maxLength: 10 items: type: object properties: @@ -103,6 +104,7 @@ root: description: "Community internal id for the role assignment." items: type: string + maxLength: 250 example: - roleId: "role-12345" scope: @@ -212,6 +214,7 @@ update: type: array items: type: object + maxLength: 10 properties: roleId: type: string @@ -222,6 +225,7 @@ update: properties: communityIds: type: array + maxLength: 250 description: "Community internal id for the role assignment." items: type: string @@ -283,12 +287,15 @@ roles: 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: @@ -407,10 +414,12 @@ _roleId: 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: