diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b09c505..84a35cc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,20 +30,42 @@ jobs: uses: php-actions/composer@v6 - name: PHPUnit Tests - uses: php-actions/phpunit@v4 - env: - XDEBUG_MODE: coverage + run: vendor/bin/phpunit + + coverage: + name: Coverage + runs-on: ubuntu-latest + permissions: + contents: read + id-token: write + + steps: + - uses: actions/checkout@v4 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '8.5' + coverage: xdebug + + - name: Install Composer Dependencies + uses: ramsey/composer-install@v3 + + - name: Generate coverage report + run: vendor/bin/phpunit --coverage-clover coverage.xml --coverage-text + + - name: Save coverage report + uses: actions/upload-artifact@v4 with: - bootstrap: vendor/autoload.php - configuration: phpunit.xml - php_extensions: xdebug - args: tests --coverage-clover ./coverage.xml + name: coverage-report + path: coverage.xml - name: Upload to Codecov - uses: codecov/codecov-action@v2 + uses: codecov/codecov-action@v5 with: - token: ${{ secrets.CODE_COV_TOKEN }} + use_oidc: true files: ./coverage.xml + fail_ci_if_error: true verbose: true phpstan: diff --git a/README.md b/README.md index 4aecca4..ea4ad0c 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,40 @@ members, spaces, space groups, posts, comments, messages, events, attendees, subscriptions, charges, likes, tags, courses, topics, notifications, contacts, profile fields, and flagged content. +The SDK also covers every operation currently published in Circle's Admin API +V2, Headless Auth API, and Headless Member API specifications: + +```php +use AdroSoftware\CircleSoSdk\Admin; +use AdroSoftware\CircleSoSdk\HeadlessAuth; +use AdroSoftware\CircleSoSdk\HeadlessMember; + +$admin = Admin::make($adminApiToken, version: 2); +$members = $admin->communityMembers()->all(['page' => 1]); + +$auth = HeadlessAuth::make($headlessApiToken); +$tokens = $auth->tokens()->createGetAnAuthToken([ + 'email' => 'member@example.com', +]); + +$member = HeadlessMember::make($tokens['access_token']); +$spaces = $member->spaces()->getListOfSpaces(); +``` + +The unified admin entry point supports both published API versions. Version 2 +is the default, while V1 can be selected explicitly: + +```php +$adminV1 = Admin::make($adminApiToken, version: 1); +$adminV2 = Admin::make($adminApiToken, version: 2); +``` + +The existing `CircleSo::make()` and `AdminV2::make()` entry points remain +available for backward compatibility. + +Each client also exposes `raw()` for newly released Circle routes that are not +yet represented by a named resource method. + ## License This package is licensed under the MIT License - see the [LICENSE](https://github.com/adrosoftware/circle-so-api-php-sdk/blob/main/LICENSE) file for details diff --git a/docs/content/usage/api.md b/docs/content/usage/api.md index af4274b..5aaca19 100644 --- a/docs/content/usage/api.md +++ b/docs/content/usage/api.md @@ -105,3 +105,47 @@ $posts = $circleSo->posts() ->communityId(123) ->all(spaceId: 456); ``` + +## Admin API V2 + +Use an Admin API token with the V2 client. Its resource methods cover all 171 +operations published in Circle's Admin API V2 specification. + +```php +use AdroSoftware\CircleSoSdk\AdminV2; + +$admin = AdminV2::make($adminApiToken); + +$members = $admin->communityMembers()->all(['page' => 1]); +$space = $admin->spaces()->show(123); +$post = $admin->posts()->create([ + 'space_id' => 123, + 'name' => 'Welcome', + 'body' => 'Welcome to the community.', +]); +``` + +## Headless Auth and Member APIs + +Create a member access token with the Headless Auth client, then pass that +access token to the Headless Member client. These clients cover all 4 Auth and +102 Member operations in Circle's published specifications. + +```php +use AdroSoftware\CircleSoSdk\HeadlessAuth; +use AdroSoftware\CircleSoSdk\HeadlessMember; + +$auth = HeadlessAuth::make($headlessApiToken); +$tokens = $auth->tokens()->createGetAnAuthToken([ + 'email' => 'member@example.com', +]); + +$member = HeadlessMember::make($tokens['access_token']); +$spaces = $member->spaces()->getListOfSpaces(); +$notifications = $member->notifications()->getAPaginatedListOfNotifications([ + 'page' => 1, +]); +``` + +All API clients retain the configured response factory. For forward +compatibility, call `raw()->call($method, $path, $query, $data)` on any client. diff --git a/src/AbstractClient.php b/src/AbstractClient.php index 9e28ea7..0cbc678 100644 --- a/src/AbstractClient.php +++ b/src/AbstractClient.php @@ -43,10 +43,15 @@ public function __construct( 'User-Agent' => $this->options->getUserAgent(), 'Content-Type' => 'application/json', 'Accept' => 'application/json', - 'Authorization' => "Token {$this->token}", + 'Authorization' => $this->authorizationHeader(), ]); } + protected function authorizationHeader(): string + { + return "Token {$this->token}"; + } + public function getHttpClient(?UriInterface $baseUri = null): HttpMethodsClientInterface { return $this->clientBuilder->getHttpClient([ diff --git a/src/Admin.php b/src/Admin.php new file mode 100644 index 0000000..d5dfc27 --- /dev/null +++ b/src/Admin.php @@ -0,0 +1,21 @@ + CircleSo::make($token, ($options ?? new Options())->withApiVersion('v1')), + 2 => AdminV2::make($token, $options), + default => throw new \InvalidArgumentException('Admin API version must be 1 or 2.'), + }; + } +} diff --git a/src/AdminV2.php b/src/AdminV2.php new file mode 100644 index 0000000..2876e12 --- /dev/null +++ b/src/AdminV2.php @@ -0,0 +1,280 @@ +withApiVersion('admin/v2')); + } + + public static function make(string $token, ?Options $options = null): self + { + return new self($token, $options); + } + + public function accessGroupMembers(): Endpoint\AdminV2\AccessGroupMembers + { + return new Endpoint\AdminV2\AccessGroupMembers($this); + } + + public function accessGroups(): Endpoint\AdminV2\AccessGroups + { + return new Endpoint\AdminV2\AccessGroups($this); + } + + public function advancedSearch(): Endpoint\AdminV2\AdvancedSearch + { + return new Endpoint\AdminV2\AdvancedSearch($this); + } + + public function chatPreferences(): Endpoint\AdminV2\ChatPreferences + { + return new Endpoint\AdminV2\ChatPreferences($this); + } + + public function chatRoomMessageImports(): Endpoint\AdminV2\ChatRoomMessageImports + { + return new Endpoint\AdminV2\ChatRoomMessageImports($this); + } + + public function comments(): Endpoint\AdminV2\Comments + { + return new Endpoint\AdminV2\Comments($this); + } + + public function communities(): Endpoint\AdminV2\Communities + { + return new Endpoint\AdminV2\Communities($this); + } + + public function communityLeads(): Endpoint\AdminV2\CommunityLeads + { + return new Endpoint\AdminV2\CommunityLeads($this); + } + + public function communityMemberAccessGroups(): Endpoint\AdminV2\CommunityMemberAccessGroups + { + return new Endpoint\AdminV2\CommunityMemberAccessGroups($this); + } + + public function communityMemberCharges(): Endpoint\AdminV2\CommunityMemberCharges + { + return new Endpoint\AdminV2\CommunityMemberCharges($this); + } + + public function communityMemberSpaces(): Endpoint\AdminV2\CommunityMemberSpaces + { + return new Endpoint\AdminV2\CommunityMemberSpaces($this); + } + + public function communityMemberSubscriptions(): Endpoint\AdminV2\CommunityMemberSubscriptions + { + return new Endpoint\AdminV2\CommunityMemberSubscriptions($this); + } + + public function communityMembers(): Endpoint\AdminV2\CommunityMembers + { + return new Endpoint\AdminV2\CommunityMembers($this); + } + + public function communitySegments(): Endpoint\AdminV2\CommunitySegments + { + return new Endpoint\AdminV2\CommunitySegments($this); + } + + public function connectSettings(): Endpoint\AdminV2\ConnectSettings + { + return new Endpoint\AdminV2\ConnectSettings($this); + } + + public function contactNotes(): Endpoint\AdminV2\ContactNotes + { + return new Endpoint\AdminV2\ContactNotes($this); + } + + public function courseLessonProgress(): Endpoint\AdminV2\CourseLessonProgress + { + return new Endpoint\AdminV2\CourseLessonProgress($this); + } + + public function courseLessons(): Endpoint\AdminV2\CourseLessons + { + return new Endpoint\AdminV2\CourseLessons($this); + } + + public function courseSections(): Endpoint\AdminV2\CourseSections + { + return new Endpoint\AdminV2\CourseSections($this); + } + + public function directUploads(): Endpoint\AdminV2\DirectUploads + { + return new Endpoint\AdminV2\DirectUploads($this); + } + + public function embeds(): Endpoint\AdminV2\Embeds + { + return new Endpoint\AdminV2\Embeds($this); + } + + public function eventAttendees(): Endpoint\AdminV2\EventAttendees + { + return new Endpoint\AdminV2\EventAttendees($this); + } + + public function events(): Endpoint\AdminV2\Events + { + return new Endpoint\AdminV2\Events($this); + } + + public function filterKitControls(): Endpoint\AdminV2\FilterKitControls + { + return new Endpoint\AdminV2\FilterKitControls($this); + } + + public function filterkitConfiguration(): Endpoint\AdminV2\FilterkitConfiguration + { + return new Endpoint\AdminV2\FilterkitConfiguration($this); + } + + public function flaggedContents(): Endpoint\AdminV2\FlaggedContents + { + return new Endpoint\AdminV2\FlaggedContents($this); + } + + public function forms(): Endpoint\AdminV2\Forms + { + return new Endpoint\AdminV2\Forms($this); + } + + public function gamification(): Endpoint\AdminV2\Gamification + { + return new Endpoint\AdminV2\Gamification($this); + } + + public function invitationLinks(): Endpoint\AdminV2\InvitationLinks + { + return new Endpoint\AdminV2\InvitationLinks($this); + } + + public function live(): Endpoint\AdminV2\Live + { + return new Endpoint\AdminV2\Live($this); + } + + public function locations(): Endpoint\AdminV2\Locations + { + return new Endpoint\AdminV2\Locations($this); + } + + public function memberTags(): Endpoint\AdminV2\MemberTags + { + return new Endpoint\AdminV2\MemberTags($this); + } + + public function messages(): Endpoint\AdminV2\Messages + { + return new Endpoint\AdminV2\Messages($this); + } + + public function pageProfileFields(): Endpoint\AdminV2\PageProfileFields + { + return new Endpoint\AdminV2\PageProfileFields($this); + } + + public function paymentMethodSettings(): Endpoint\AdminV2\PaymentMethodSettings + { + return new Endpoint\AdminV2\PaymentMethodSettings($this); + } + + public function paywallAffiliatePayouts(): Endpoint\AdminV2\PaywallAffiliatePayouts + { + return new Endpoint\AdminV2\PaywallAffiliatePayouts($this); + } + + public function paywallAffiliates(): Endpoint\AdminV2\PaywallAffiliates + { + return new Endpoint\AdminV2\PaywallAffiliates($this); + } + + public function paywallCoupons(): Endpoint\AdminV2\PaywallCoupons + { + return new Endpoint\AdminV2\PaywallCoupons($this); + } + + public function paywallGroups(): Endpoint\AdminV2\PaywallGroups + { + return new Endpoint\AdminV2\PaywallGroups($this); + } + + public function paywalls(): Endpoint\AdminV2\Paywalls + { + return new Endpoint\AdminV2\Paywalls($this); + } + + public function postFollowers(): Endpoint\AdminV2\PostFollowers + { + return new Endpoint\AdminV2\PostFollowers($this); + } + + public function posts(): Endpoint\AdminV2\Posts + { + return new Endpoint\AdminV2\Posts($this); + } + + public function profileFields(): Endpoint\AdminV2\ProfileFields + { + return new Endpoint\AdminV2\ProfileFields($this); + } + + public function spaceGroupMembers(): Endpoint\AdminV2\SpaceGroupMembers + { + return new Endpoint\AdminV2\SpaceGroupMembers($this); + } + + public function spaceGroups(): Endpoint\AdminV2\SpaceGroups + { + return new Endpoint\AdminV2\SpaceGroups($this); + } + + public function spaceMembers(): Endpoint\AdminV2\SpaceMembers + { + return new Endpoint\AdminV2\SpaceMembers($this); + } + + public function spaces(): Endpoint\AdminV2\Spaces + { + return new Endpoint\AdminV2\Spaces($this); + } + + public function taggedMembers(): Endpoint\AdminV2\TaggedMembers + { + return new Endpoint\AdminV2\TaggedMembers($this); + } + + public function taxSettings(): Endpoint\AdminV2\TaxSettings + { + return new Endpoint\AdminV2\TaxSettings($this); + } + + public function topics(): Endpoint\AdminV2\Topics + { + return new Endpoint\AdminV2\Topics($this); + } + + public function workflows(): Endpoint\AdminV2\Workflows + { + return new Endpoint\AdminV2\Workflows($this); + } + + public function raw(): RawEndpoint + { + return new RawEndpoint($this); + } +} diff --git a/src/Endpoint/AbstractEndpoint.php b/src/Endpoint/AbstractEndpoint.php index 0401ea3..d3c3bf1 100644 --- a/src/Endpoint/AbstractEndpoint.php +++ b/src/Endpoint/AbstractEndpoint.php @@ -4,7 +4,7 @@ namespace AdroSoftware\CircleSoSdk\Endpoint; -use AdroSoftware\CircleSoSdk\CircleSo; +use AdroSoftware\CircleSoSdk\AbstractClient; use AdroSoftware\CircleSoSdk\Exception\{ CommunityIdNotPresentException, RequestUnauthorizedException, @@ -16,7 +16,7 @@ abstract class AbstractEndpoint { - public function __construct(protected CircleSo $circleSo, protected ?int $communityId = null) + public function __construct(protected AbstractClient $circleSo, protected ?int $communityId = null) { } diff --git a/src/Endpoint/AdminV2/AccessGroupMembers.php b/src/Endpoint/AdminV2/AccessGroupMembers.php new file mode 100644 index 0000000..d3bd59e --- /dev/null +++ b/src/Endpoint/AdminV2/AccessGroupMembers.php @@ -0,0 +1,39 @@ + $data */ + public function addMemberToAccessGroup(int|string $accessGroupId, array $data): mixed + { + return $this->request('POST', "/access_groups/{$accessGroupId}/community_members", [], $data); + } + + /** Remove Access Group Member */ + /** @param array $query */ + public function removeAccessGroupMember(int|string $accessGroupId, array $query = []): mixed + { + return $this->request('DELETE', "/access_groups/{$accessGroupId}/community_members", $query); + } + + /** List Access Group Community Members */ + /** @param array $query */ + public function listAccessGroupCommunityMembers(int|string $accessGroupId, array $query = []): mixed + { + return $this->request('GET', "/access_groups/{$accessGroupId}/community_members", $query); + } + + /** Show Access Group Community Member */ + /** @param array $query */ + public function showAccessGroupCommunityMember(int|string $accessGroupId, array $query = []): mixed + { + return $this->request('GET', "/access_groups/{$accessGroupId}/community_member", $query); + } +} diff --git a/src/Endpoint/AdminV2/AccessGroups.php b/src/Endpoint/AdminV2/AccessGroups.php new file mode 100644 index 0000000..d913b0c --- /dev/null +++ b/src/Endpoint/AdminV2/AccessGroups.php @@ -0,0 +1,44 @@ + $data */ + public function createAccessGroup(array $data = []): mixed + { + return $this->request('POST', "/access_groups", [], $data); + } + + /** List Access Groups */ + /** @param array $query */ + public function listAccessGroups(array $query = []): mixed + { + return $this->request('GET', "/access_groups", $query); + } + + /** Archive Access Group */ + public function archiveAccessGroup(int|string $id): mixed + { + return $this->request('DELETE', "/access_groups/{$id}"); + } + + /** Update Access Group */ + /** @param array $data */ + public function updateAccessGroup(int|string $id, array $data = []): mixed + { + return $this->request('PUT', "/access_groups/{$id}", [], $data); + } + + /** Unarchive Access Group */ + public function unarchiveAccessGroup(int|string $id): mixed + { + return $this->request('PATCH', "/access_groups/{$id}/unarchive"); + } +} diff --git a/src/Endpoint/AdminV2/AdvancedSearch.php b/src/Endpoint/AdminV2/AdvancedSearch.php new file mode 100644 index 0000000..577ff6b --- /dev/null +++ b/src/Endpoint/AdminV2/AdvancedSearch.php @@ -0,0 +1,18 @@ + $query */ + public function advancedSearch(array $query = []): mixed + { + return $this->request('GET', "/advanced_search", $query); + } +} diff --git a/src/Endpoint/AdminV2/ChatPreferences.php b/src/Endpoint/AdminV2/ChatPreferences.php new file mode 100644 index 0000000..2c55a0e --- /dev/null +++ b/src/Endpoint/AdminV2/ChatPreferences.php @@ -0,0 +1,18 @@ + $data */ + public function updateChatPreferences(array $data = []): mixed + { + return $this->request('PUT', "/chat_preferences", [], $data); + } +} diff --git a/src/Endpoint/AdminV2/ChatRoomMessageImports.php b/src/Endpoint/AdminV2/ChatRoomMessageImports.php new file mode 100644 index 0000000..e4c7294 --- /dev/null +++ b/src/Endpoint/AdminV2/ChatRoomMessageImports.php @@ -0,0 +1,18 @@ + $data */ + public function importChatRoomMessage(array $data): mixed + { + return $this->request('POST', "/chat_room_message_imports", [], $data); + } +} diff --git a/src/Endpoint/AdminV2/Comments.php b/src/Endpoint/AdminV2/Comments.php new file mode 100644 index 0000000..fe7237d --- /dev/null +++ b/src/Endpoint/AdminV2/Comments.php @@ -0,0 +1,59 @@ + $query */ + public function all(array $query = []): mixed + { + return $this->listComments($query); + } + + public function show(int|string $id): mixed + { + return $this->showComment($id); + } + + /** @param array $data */ + public function create(array $data): mixed + { + return $this->createComment($data); + } + + public function delete(int|string $id): mixed + { + return $this->destroyComment($id); + } + + /** Create Comment */ + /** @param array $data */ + public function createComment(array $data = []): mixed + { + return $this->request('POST', "/comments", [], $data); + } + + /** List Comments */ + /** @param array $query */ + public function listComments(array $query = []): mixed + { + return $this->request('GET', "/comments", $query); + } + + /** Destroy Comment */ + public function destroyComment(int|string $id): mixed + { + return $this->request('DELETE', "/comments/{$id}"); + } + + /** Show Comment */ + public function showComment(int|string $id): mixed + { + return $this->request('GET', "/comments/{$id}"); + } +} diff --git a/src/Endpoint/AdminV2/Communities.php b/src/Endpoint/AdminV2/Communities.php new file mode 100644 index 0000000..5ca499c --- /dev/null +++ b/src/Endpoint/AdminV2/Communities.php @@ -0,0 +1,35 @@ +getCommunityDetails(); + } + + /** @param array $data */ + public function update(array $data): mixed + { + return $this->updateCommunity($data); + } + + /** Get community details */ + public function getCommunityDetails(): mixed + { + return $this->request('GET', "/community"); + } + + /** Update Community */ + /** @param array $data */ + public function updateCommunity(array $data = []): mixed + { + return $this->request('PUT', "/community", [], $data); + } +} diff --git a/src/Endpoint/AdminV2/CommunityLeads.php b/src/Endpoint/AdminV2/CommunityLeads.php new file mode 100644 index 0000000..f569ab1 --- /dev/null +++ b/src/Endpoint/AdminV2/CommunityLeads.php @@ -0,0 +1,24 @@ + $data */ + public function createLead(array $data): mixed + { + return $this->request('POST', "/community_leads", [], $data); + } + + /** Delete a non-member contact (lead). To delete a full community member instead, use destroy_community_member. */ + public function deleteLead(int|string $id): mixed + { + return $this->request('DELETE', "/community_leads/{$id}"); + } +} diff --git a/src/Endpoint/AdminV2/CommunityMemberAccessGroups.php b/src/Endpoint/AdminV2/CommunityMemberAccessGroups.php new file mode 100644 index 0000000..83b43a6 --- /dev/null +++ b/src/Endpoint/AdminV2/CommunityMemberAccessGroups.php @@ -0,0 +1,18 @@ + $query */ + public function listCommunityMembersAccessGroups(int|string $communityMemberId, array $query = []): mixed + { + return $this->request('GET', "/community_members/{$communityMemberId}/access_groups", $query); + } +} diff --git a/src/Endpoint/AdminV2/CommunityMemberCharges.php b/src/Endpoint/AdminV2/CommunityMemberCharges.php new file mode 100644 index 0000000..23e61b8 --- /dev/null +++ b/src/Endpoint/AdminV2/CommunityMemberCharges.php @@ -0,0 +1,32 @@ + $query */ + public function exportCommunityMemberCharges(array $query = []): mixed + { + return $this->request('POST', "/community_member_charges/export", $query); + } + + /** Community Member Charges List */ + /** @param array $query */ + public function communityMemberChargesList(array $query = []): mixed + { + return $this->request('GET', "/community_member_charges", $query); + } + + /** Refund Community Member Charge */ + /** @param array $data */ + public function refundCommunityMemberCharge(int|string $id, array $data = []): mixed + { + return $this->request('POST', "/community_member_charges/{$id}/refund", [], $data); + } +} diff --git a/src/Endpoint/AdminV2/CommunityMemberSpaces.php b/src/Endpoint/AdminV2/CommunityMemberSpaces.php new file mode 100644 index 0000000..7ce58cf --- /dev/null +++ b/src/Endpoint/AdminV2/CommunityMemberSpaces.php @@ -0,0 +1,18 @@ + $query */ + public function listCommunityMemberSpaces(array $query = []): mixed + { + return $this->request('GET', "/community_member_spaces", $query); + } +} diff --git a/src/Endpoint/AdminV2/CommunityMemberSubscriptions.php b/src/Endpoint/AdminV2/CommunityMemberSubscriptions.php new file mode 100644 index 0000000..c965b85 --- /dev/null +++ b/src/Endpoint/AdminV2/CommunityMemberSubscriptions.php @@ -0,0 +1,45 @@ + $data */ + public function cancelCommunityMemberSubscription(int|string $id, array $data = []): mixed + { + return $this->request('POST', "/community_member_subscriptions/{$id}/cancel", [], $data); + } + + /** Export Community Member Subscriptions */ + /** @param array $query */ + public function exportCommunityMemberSubscriptions(array $query = []): mixed + { + return $this->request('POST', "/community_member_subscriptions/export", $query); + } + + /** Change a billing date or extend a genuine trial; change_billing_date requires billing_date and extend_trial requires days_to_extend (the opposite field is ignored); ineligible selected operations return 401 before input validation */ + /** @param array $data */ + public function changeBillingDateOrExtendTrialCommunityMemberSubscription(int|string $id, array $data = []): mixed + { + return $this->request('PATCH', "/community_member_subscriptions/{$id}/billing_date", [], $data); + } + + /** Community Member Subscriptions List */ + /** @param array $query */ + public function communityMemberSubscriptionsList(array $query = []): mixed + { + return $this->request('GET', "/community_member_subscriptions", $query); + } + + /** Resume Community Member Subscription */ + public function resumeCommunityMemberSubscription(int|string $id): mixed + { + return $this->request('POST', "/community_member_subscriptions/{$id}/resume"); + } +} diff --git a/src/Endpoint/AdminV2/CommunityMembers.php b/src/Endpoint/AdminV2/CommunityMembers.php new file mode 100644 index 0000000..517b157 --- /dev/null +++ b/src/Endpoint/AdminV2/CommunityMembers.php @@ -0,0 +1,107 @@ + $query */ + public function all(array $query = []): mixed + { + return $this->listCommunityMembers($query); + } + + public function show(int|string $id): mixed + { + return $this->showACommunityMember($id); + } + + /** @param array $query */ + public function search(array $query): mixed + { + return $this->searchACommunityMember($query); + } + + /** @param array $data */ + public function create(array $data): mixed + { + return $this->createInviteACommunityMember($data); + } + + /** @param array $data */ + public function update(int|string $id, array $data): mixed + { + return $this->updateACommunityMember($id, $data); + } + + public function deactivate(int|string $id): mixed + { + return $this->deactivateACommunityMember($id); + } + + public function delete(int|string $id): mixed + { + return $this->deleteCommunityMember($id); + } + + public function ban(int|string $id): mixed + { + return $this->banCommunityMember($id); + } + + /** Ban Community Member */ + public function banCommunityMember(int|string $id): mixed + { + return $this->request('PUT', "/community_members/{$id}/ban_member"); + } + + /** Create/Invite a community member */ + /** @param array $data */ + public function createInviteACommunityMember(array $data): mixed + { + return $this->request('POST', "/community_members", [], $data); + } + + /** List Community Members */ + /** @param array $query */ + public function listCommunityMembers(array $query = []): mixed + { + return $this->request('GET', "/community_members", $query); + } + + /** Delete Community Member */ + public function deleteCommunityMember(int|string $id): mixed + { + return $this->request('PUT', "/community_members/{$id}/delete_member"); + } + + /** Deactivate a community member */ + public function deactivateACommunityMember(int|string $id): mixed + { + return $this->request('DELETE', "/community_members/{$id}"); + } + + /** Show a community member */ + public function showACommunityMember(int|string $id): mixed + { + return $this->request('GET', "/community_members/{$id}"); + } + + /** Update a community member */ + /** @param array $data */ + public function updateACommunityMember(int|string $id, array $data): mixed + { + return $this->request('PUT', "/community_members/{$id}", [], $data); + } + + /** Search a community member */ + /** @param array $query */ + public function searchACommunityMember(array $query = []): mixed + { + return $this->request('GET', "/community_members/search", $query); + } +} diff --git a/src/Endpoint/AdminV2/CommunitySegments.php b/src/Endpoint/AdminV2/CommunitySegments.php new file mode 100644 index 0000000..b76536b --- /dev/null +++ b/src/Endpoint/AdminV2/CommunitySegments.php @@ -0,0 +1,45 @@ + $data */ + public function createACommunitySegment(array $data): mixed + { + return $this->request('POST', "/community_segments", [], $data); + } + + /** List Community Segments */ + /** @param array $query */ + public function listCommunitySegments(array $query = []): mixed + { + return $this->request('GET', "/community_segments", $query); + } + + /** Delete a community segment */ + public function deleteACommunitySegment(int|string $id): mixed + { + return $this->request('DELETE', "/community_segments/{$id}"); + } + + /** Update a community segment */ + /** @param array $data */ + public function updateACommunitySegment(int|string $id, array $data): mixed + { + return $this->request('PUT', "/community_segments/{$id}", [], $data); + } + + /** Duplicate a community segment */ + /** @param array $query */ + public function duplicateACommunitySegment(int|string $id, array $query = []): mixed + { + return $this->request('POST', "/community_segments/{$id}/duplicate", $query); + } +} diff --git a/src/Endpoint/AdminV2/ConnectSettings.php b/src/Endpoint/AdminV2/ConnectSettings.php new file mode 100644 index 0000000..696b21a --- /dev/null +++ b/src/Endpoint/AdminV2/ConnectSettings.php @@ -0,0 +1,24 @@ +request('GET', "/settings/connect"); + } + + /** Update Connect settings */ + /** @param array $data */ + public function updateConnectSettings(array $data = []): mixed + { + return $this->request('PATCH', "/settings/connect", [], $data); + } +} diff --git a/src/Endpoint/AdminV2/ContactNotes.php b/src/Endpoint/AdminV2/ContactNotes.php new file mode 100644 index 0000000..bc48391 --- /dev/null +++ b/src/Endpoint/AdminV2/ContactNotes.php @@ -0,0 +1,25 @@ + $data */ + public function createContactNote(int|string $contactId, array $data): mixed + { + return $this->request('POST', "/contacts/{$contactId}/contact_notes", [], $data); + } + + /** List Contact Notes */ + /** @param array $query */ + public function listContactNotes(int|string $contactId, array $query = []): mixed + { + return $this->request('GET', "/contacts/{$contactId}/contact_notes", $query); + } +} diff --git a/src/Endpoint/AdminV2/CourseLessonProgress.php b/src/Endpoint/AdminV2/CourseLessonProgress.php new file mode 100644 index 0000000..9d8025b --- /dev/null +++ b/src/Endpoint/AdminV2/CourseLessonProgress.php @@ -0,0 +1,18 @@ + $data */ + public function updateCourseLessonProgress(array $data): mixed + { + return $this->request('PUT', "/course_lesson_progress", [], $data); + } +} diff --git a/src/Endpoint/AdminV2/CourseLessons.php b/src/Endpoint/AdminV2/CourseLessons.php new file mode 100644 index 0000000..f658990 --- /dev/null +++ b/src/Endpoint/AdminV2/CourseLessons.php @@ -0,0 +1,51 @@ + $data */ + public function createACourseLesson(array $data): mixed + { + return $this->request('POST', "/course_lessons", [], $data); + } + + /** List course lessons */ + /** @param array $query */ + public function listCourseLessons(array $query = []): mixed + { + return $this->request('GET', "/course_lessons", $query); + } + + /** Delete a course lesson */ + public function deleteACourseLesson(int|string $id): mixed + { + return $this->request('DELETE', "/course_lessons/{$id}"); + } + + /** Show a course lesson */ + public function showACourseLesson(int|string $id): mixed + { + return $this->request('GET', "/course_lessons/{$id}"); + } + + /** Update a course lesson */ + /** @param array $data */ + public function updateACourseLesson(int|string $id, array $data): mixed + { + return $this->request('PATCH', "/course_lessons/{$id}", [], $data); + } + + /** Reorder course lessons */ + /** @param array $data */ + public function reorderCourseLessons(array $data): mixed + { + return $this->request('PUT', "/course_lessons/reorder", [], $data); + } +} diff --git a/src/Endpoint/AdminV2/CourseSections.php b/src/Endpoint/AdminV2/CourseSections.php new file mode 100644 index 0000000..0508e59 --- /dev/null +++ b/src/Endpoint/AdminV2/CourseSections.php @@ -0,0 +1,44 @@ + $data */ + public function createACourseSection(array $data): mixed + { + return $this->request('POST', "/course_sections", [], $data); + } + + /** List Course Sections */ + /** @param array $query */ + public function listCourseSections(array $query = []): mixed + { + return $this->request('GET', "/course_sections", $query); + } + + /** Delete a course section */ + public function deleteACourseSection(int|string $id): mixed + { + return $this->request('DELETE', "/course_sections/{$id}"); + } + + /** Show a course section */ + public function showACourseSection(int|string $id): mixed + { + return $this->request('GET', "/course_sections/{$id}"); + } + + /** Update a course section */ + /** @param array $data */ + public function updateACourseSection(int|string $id, array $data): mixed + { + return $this->request('PUT', "/course_sections/{$id}", [], $data); + } +} diff --git a/src/Endpoint/AdminV2/DirectUploads.php b/src/Endpoint/AdminV2/DirectUploads.php new file mode 100644 index 0000000..e3c35a7 --- /dev/null +++ b/src/Endpoint/AdminV2/DirectUploads.php @@ -0,0 +1,18 @@ + $data */ + public function createDirectUpload(array $data = []): mixed + { + return $this->request('POST', "/direct_uploads", [], $data); + } +} diff --git a/src/Endpoint/AdminV2/Embeds.php b/src/Endpoint/AdminV2/Embeds.php new file mode 100644 index 0000000..558731d --- /dev/null +++ b/src/Endpoint/AdminV2/Embeds.php @@ -0,0 +1,24 @@ + $data */ + public function createEmbed(array $data = []): mixed + { + return $this->request('POST', "/embeds", [], $data); + } + + /** Get Embed */ + public function getEmbed(int|string $sgid): mixed + { + return $this->request('GET', "/embeds/{$sgid}"); + } +} diff --git a/src/Endpoint/AdminV2/EventAttendees.php b/src/Endpoint/AdminV2/EventAttendees.php new file mode 100644 index 0000000..1c70f04 --- /dev/null +++ b/src/Endpoint/AdminV2/EventAttendees.php @@ -0,0 +1,32 @@ + $data */ + public function createEventAttendee(array $data = []): mixed + { + return $this->request('POST', "/event_attendees", [], $data); + } + + /** Delete Event Attendee */ + /** @param array $data */ + public function deleteEventAttendee(array $data = []): mixed + { + return $this->request('DELETE', "/event_attendees", [], $data); + } + + /** List Event Attendees */ + /** @param array $query */ + public function listEventAttendees(array $query = []): mixed + { + return $this->request('GET', "/event_attendees", $query); + } +} diff --git a/src/Endpoint/AdminV2/Events.php b/src/Endpoint/AdminV2/Events.php new file mode 100644 index 0000000..e214953 --- /dev/null +++ b/src/Endpoint/AdminV2/Events.php @@ -0,0 +1,52 @@ + $data */ + public function createEvent(array $data): mixed + { + return $this->request('POST', "/events", [], $data); + } + + /** List Events */ + /** @param array $query */ + public function listEvents(array $query = []): mixed + { + return $this->request('GET', "/events", $query); + } + + /** Delete Event */ + /** @param array $query */ + public function deleteEvent(int|string $id, array $query = []): mixed + { + return $this->request('DELETE', "/events/{$id}", $query); + } + + /** Get Event */ + public function getEvent(int|string $id): mixed + { + return $this->request('GET', "/events/{$id}"); + } + + /** Update Event */ + /** @param array $data */ + public function updateEvent(int|string $id, array $data): mixed + { + return $this->request('PUT', "/events/{$id}", [], $data); + } + + /** Duplicate Event */ + /** @param array $data */ + public function duplicateEvent(int|string $spaceId, int|string $id, array $data): mixed + { + return $this->request('POST', "/spaces/{$spaceId}/events/{$id}/duplicate", [], $data); + } +} diff --git a/src/Endpoint/AdminV2/FilterKitControls.php b/src/Endpoint/AdminV2/FilterKitControls.php new file mode 100644 index 0000000..6ed479e --- /dev/null +++ b/src/Endpoint/AdminV2/FilterKitControls.php @@ -0,0 +1,44 @@ + $data */ + public function createAMemberFilterControl(array $data): mixed + { + return $this->request('POST', "/filter_kit_controls", [], $data); + } + + /** List member directory and member space filter controls */ + /** @param array $query */ + public function listMemberDirectoryAndMemberSpaceFilterControls(array $query = []): mixed + { + return $this->request('GET', "/filter_kit_controls", $query); + } + + /** Delete a filter control */ + public function deleteAFilterControl(int|string $id): mixed + { + return $this->request('DELETE', "/filter_kit_controls/{$id}"); + } + + /** Get a filter control */ + public function getAFilterControl(int|string $id): mixed + { + return $this->request('GET', "/filter_kit_controls/{$id}"); + } + + /** Update a member directory or member space filter control */ + /** @param array $data */ + public function updateAMemberDirectoryOrMemberSpaceFilterControl(int|string $id, array $data = []): mixed + { + return $this->request('PATCH', "/filter_kit_controls/{$id}", [], $data); + } +} diff --git a/src/Endpoint/AdminV2/FilterkitConfiguration.php b/src/Endpoint/AdminV2/FilterkitConfiguration.php new file mode 100644 index 0000000..f8f040f --- /dev/null +++ b/src/Endpoint/AdminV2/FilterkitConfiguration.php @@ -0,0 +1,18 @@ + $query */ + public function getTheFiltersCurrentlyShownOnTheMemberDirectoryOrAMemberSpace(array $query = []): mixed + { + return $this->request('GET', "/filter_kit_configuration", $query); + } +} diff --git a/src/Endpoint/AdminV2/FlaggedContents.php b/src/Endpoint/AdminV2/FlaggedContents.php new file mode 100644 index 0000000..c5f7573 --- /dev/null +++ b/src/Endpoint/AdminV2/FlaggedContents.php @@ -0,0 +1,25 @@ + $data */ + public function reportFlaggedContent(array $data = []): mixed + { + return $this->request('POST', "/flagged_contents", [], $data); + } + + /** List Flagged Contents */ + /** @param array $query */ + public function listFlaggedContents(array $query = []): mixed + { + return $this->request('GET', "/flagged_contents", $query); + } +} diff --git a/src/Endpoint/AdminV2/Forms.php b/src/Endpoint/AdminV2/Forms.php new file mode 100644 index 0000000..e162cc2 --- /dev/null +++ b/src/Endpoint/AdminV2/Forms.php @@ -0,0 +1,57 @@ +request('DELETE', "/forms/{$id}"); + } + + /** Show a form */ + public function showAForm(int|string $id): mixed + { + return $this->request('GET', "/forms/{$id}"); + } + + /** Update a form */ + /** @param array $data */ + public function updateAForm(int|string $id, array $data): mixed + { + return $this->request('PUT', "/forms/{$id}", [], $data); + } + + /** Duplicate a form */ + public function duplicateAForm(int|string $id): mixed + { + return $this->request('POST', "/forms/{$id}/duplicate"); + } + + /** List Forms */ + /** @param array $query */ + public function listForms(array $query = []): mixed + { + return $this->request('GET', "/forms", $query); + } + + /** Create a form submission */ + /** @param array $data */ + public function createAFormSubmission(int|string $formId, array $data = []): mixed + { + return $this->request('POST', "/forms/{$formId}/submissions", [], $data); + } + + /** List form submissions */ + /** @param array $query */ + public function listFormSubmissions(int|string $formId, array $query = []): mixed + { + return $this->request('GET', "/forms/{$formId}/submissions", $query); + } +} diff --git a/src/Endpoint/AdminV2/Gamification.php b/src/Endpoint/AdminV2/Gamification.php new file mode 100644 index 0000000..2527fe6 --- /dev/null +++ b/src/Endpoint/AdminV2/Gamification.php @@ -0,0 +1,18 @@ + $query */ + public function showLeaderboard(array $query = []): mixed + { + return $this->request('GET', "/gamification/leaderboard", $query); + } +} diff --git a/src/Endpoint/AdminV2/InvitationLinks.php b/src/Endpoint/AdminV2/InvitationLinks.php new file mode 100644 index 0000000..8587707 --- /dev/null +++ b/src/Endpoint/AdminV2/InvitationLinks.php @@ -0,0 +1,44 @@ + $data */ + public function createInvitationLink(array $data): mixed + { + return $this->request('POST', "/invitation_links", [], $data); + } + + /** List Invitation Links */ + /** @param array $query */ + public function listInvitationLinks(array $query = []): mixed + { + return $this->request('GET', "/invitation_links", $query); + } + + /** Delete invitation link */ + public function deleteInvitationLink(int|string $id): mixed + { + return $this->request('DELETE', "/invitation_links/{$id}"); + } + + /** Update invitation link */ + /** @param array $data */ + public function updateInvitationLink(int|string $id, array $data): mixed + { + return $this->request('PUT', "/invitation_links/{$id}", [], $data); + } + + /** Revoke invitation link */ + public function revokeInvitationLink(int|string $id): mixed + { + return $this->request('PATCH', "/invitation_links/{$id}/revoke"); + } +} diff --git a/src/Endpoint/AdminV2/Live.php b/src/Endpoint/AdminV2/Live.php new file mode 100644 index 0000000..a925ea9 --- /dev/null +++ b/src/Endpoint/AdminV2/Live.php @@ -0,0 +1,24 @@ + $query */ + public function listLiveRooms(array $query = []): mixed + { + return $this->request('GET', "/live/rooms", $query); + } + + /** List Live Room Transcripts */ + public function listLiveRoomTranscripts(int|string $roomId): mixed + { + return $this->request('GET', "/live/rooms/{$roomId}/transcripts"); + } +} diff --git a/src/Endpoint/AdminV2/Locations.php b/src/Endpoint/AdminV2/Locations.php new file mode 100644 index 0000000..0511cd5 --- /dev/null +++ b/src/Endpoint/AdminV2/Locations.php @@ -0,0 +1,18 @@ + $query */ + public function searchLocations(array $query = []): mixed + { + return $this->request('GET', "/locations/search", $query); + } +} diff --git a/src/Endpoint/AdminV2/MemberTags.php b/src/Endpoint/AdminV2/MemberTags.php new file mode 100644 index 0000000..3e35a2a --- /dev/null +++ b/src/Endpoint/AdminV2/MemberTags.php @@ -0,0 +1,44 @@ + $data */ + public function createMemberTag(array $data): mixed + { + return $this->request('POST', "/member_tags", [], $data); + } + + /** Member Tags List */ + /** @param array $query */ + public function memberTagsList(array $query = []): mixed + { + return $this->request('GET', "/member_tags", $query); + } + + /** Deletes a member tag */ + public function deletesAMemberTag(int|string $id): mixed + { + return $this->request('DELETE', "/member_tags/{$id}"); + } + + /** Shows a member tag's details */ + public function showsAMemberTagsDetails(int|string $id): mixed + { + return $this->request('GET', "/member_tags/{$id}"); + } + + /** Update member tag */ + /** @param array $data */ + public function updateMemberTag(int|string $id, array $data): mixed + { + return $this->request('PUT', "/member_tags/{$id}", [], $data); + } +} diff --git a/src/Endpoint/AdminV2/Messages.php b/src/Endpoint/AdminV2/Messages.php new file mode 100644 index 0000000..e79f77f --- /dev/null +++ b/src/Endpoint/AdminV2/Messages.php @@ -0,0 +1,18 @@ + $data */ + public function createMessage(array $data = []): mixed + { + return $this->request('POST', "/messages", [], $data); + } +} diff --git a/src/Endpoint/AdminV2/PageProfileFields.php b/src/Endpoint/AdminV2/PageProfileFields.php new file mode 100644 index 0000000..7bb72b8 --- /dev/null +++ b/src/Endpoint/AdminV2/PageProfileFields.php @@ -0,0 +1,18 @@ + $query */ + public function getPageProfileFields(array $query = []): mixed + { + return $this->request('GET', "/page_profile_fields", $query); + } +} diff --git a/src/Endpoint/AdminV2/PaymentMethodSettings.php b/src/Endpoint/AdminV2/PaymentMethodSettings.php new file mode 100644 index 0000000..f714f23 --- /dev/null +++ b/src/Endpoint/AdminV2/PaymentMethodSettings.php @@ -0,0 +1,17 @@ +request('GET', "/payment_method_setting"); + } +} diff --git a/src/Endpoint/AdminV2/PaywallAffiliatePayouts.php b/src/Endpoint/AdminV2/PaywallAffiliatePayouts.php new file mode 100644 index 0000000..b1b7df7 --- /dev/null +++ b/src/Endpoint/AdminV2/PaywallAffiliatePayouts.php @@ -0,0 +1,32 @@ + $data */ + public function exportPaywallAffiliatePayouts(array $data = []): mixed + { + return $this->request('POST', "/paywall_affiliate_payouts/export", [], $data); + } + + /** Mark Paywall Affiliate Payouts Paid */ + /** @param array $data */ + public function markPaywallAffiliatePayoutsPaid(array $data = []): mixed + { + return $this->request('POST', "/paywall_affiliate_payouts/mark_paid", [], $data); + } + + /** Start Paywall Affiliate Payouts */ + /** @param array $data */ + public function startPaywallAffiliatePayouts(array $data = []): mixed + { + return $this->request('POST', "/paywall_affiliate_payouts/start", [], $data); + } +} diff --git a/src/Endpoint/AdminV2/PaywallAffiliates.php b/src/Endpoint/AdminV2/PaywallAffiliates.php new file mode 100644 index 0000000..4df31bd --- /dev/null +++ b/src/Endpoint/AdminV2/PaywallAffiliates.php @@ -0,0 +1,32 @@ + $query */ + public function paywallAffiliatesList(array $query = []): mixed + { + return $this->request('GET', "/paywall_affiliates", $query); + } + + /** Invite Paywall Affiliates */ + /** @param array $data */ + public function invitePaywallAffiliates(array $data): mixed + { + return $this->request('POST', "/paywall_affiliates/invite", [], $data); + } + + /** Update Paywall Affiliate */ + /** @param array $data */ + public function updatePaywallAffiliate(int|string $id, array $data): mixed + { + return $this->request('PATCH', "/paywall_affiliates/{$id}", [], $data); + } +} diff --git a/src/Endpoint/AdminV2/PaywallCoupons.php b/src/Endpoint/AdminV2/PaywallCoupons.php new file mode 100644 index 0000000..fed7831 --- /dev/null +++ b/src/Endpoint/AdminV2/PaywallCoupons.php @@ -0,0 +1,17 @@ +request('DELETE', "/paywall_coupons/{$id}"); + } +} diff --git a/src/Endpoint/AdminV2/PaywallGroups.php b/src/Endpoint/AdminV2/PaywallGroups.php new file mode 100644 index 0000000..14e3696 --- /dev/null +++ b/src/Endpoint/AdminV2/PaywallGroups.php @@ -0,0 +1,25 @@ + $data */ + public function createSubscriptionGroup(array $data): mixed + { + return $this->request('POST', "/paywall_groups", [], $data); + } + + /** Update Subscription Group */ + /** @param array $data */ + public function updateSubscriptionGroup(int|string $id, array $data): mixed + { + return $this->request('PUT', "/paywall_groups/{$id}", [], $data); + } +} diff --git a/src/Endpoint/AdminV2/Paywalls.php b/src/Endpoint/AdminV2/Paywalls.php new file mode 100644 index 0000000..be14f00 --- /dev/null +++ b/src/Endpoint/AdminV2/Paywalls.php @@ -0,0 +1,48 @@ + $query */ + public function searchPaywalls(array $query = []): mixed + { + return $this->request('GET', "/paywalls/search", $query); + } + + /** Deletes a paywall */ + public function deletesAPaywall(int|string $id): mixed + { + return $this->request('DELETE', "/paywalls/{$id}"); + } + + /** Archives a paywall */ + public function archivesAPaywall(int|string $id): mixed + { + return $this->request('PUT', "/paywalls/{$id}/archive"); + } + + /** Syncs a legacy paywall's member access */ + public function syncsALegacyPaywallsMemberAccess(int|string $paywallId): mixed + { + return $this->request('POST', "/paywalls/{$paywallId}/member_access_syncs"); + } + + /** Publishes a paywall */ + public function publishesAPaywall(int|string $id): mixed + { + return $this->request('PUT', "/paywalls/{$id}/publish"); + } + + /** Unarchives a paywall */ + public function unarchivesAPaywall(int|string $id): mixed + { + return $this->request('PUT', "/paywalls/{$id}/unarchive"); + } +} diff --git a/src/Endpoint/AdminV2/PostFollowers.php b/src/Endpoint/AdminV2/PostFollowers.php new file mode 100644 index 0000000..6f6cab2 --- /dev/null +++ b/src/Endpoint/AdminV2/PostFollowers.php @@ -0,0 +1,18 @@ + $query */ + public function unfollowAPost(int|string $postId, array $query = []): mixed + { + return $this->request('DELETE', "/posts/{$postId}/post_followers", $query); + } +} diff --git a/src/Endpoint/AdminV2/Posts.php b/src/Endpoint/AdminV2/Posts.php new file mode 100644 index 0000000..f70a730 --- /dev/null +++ b/src/Endpoint/AdminV2/Posts.php @@ -0,0 +1,116 @@ + $query */ + public function all(array $query = []): mixed + { + return $this->listBasicPosts($query); + } + + public function show(int|string $id): mixed + { + return $this->showBasicPost($id); + } + + /** @param array $data */ + public function create(array $data): mixed + { + return $this->createBasicPost($data); + } + + /** @param array $data */ + public function update(int|string $id, array $data): mixed + { + return $this->updateBasicPost($id, $data); + } + + public function delete(int|string $id): mixed + { + return $this->deleteBasicPost($id); + } + + public function summary(int|string $postId): mixed + { + return $this->getPostSummary($postId); + } + + /** Create Image Post */ + /** @param array $data */ + public function createImagePost(int|string $spaceId, array $data = []): mixed + { + return $this->request('POST', "/spaces/{$spaceId}/images/posts", [], $data); + } + + /** List Image Posts */ + /** @param array $query */ + public function listImagePosts(int|string $spaceId, array $query = []): mixed + { + return $this->request('GET', "/spaces/{$spaceId}/images/posts", $query); + } + + /** Delete Image Post */ + public function deleteImagePost(int|string $spaceId, int|string $id): mixed + { + return $this->request('DELETE', "/spaces/{$spaceId}/images/posts/{$id}"); + } + + /** Show Image Post */ + public function showImagePost(int|string $spaceId, int|string $id): mixed + { + return $this->request('GET', "/spaces/{$spaceId}/images/posts/{$id}"); + } + + /** Duplicate Image Post */ + /** @param array $data */ + public function duplicateImagePost(int|string $spaceId, int|string $id, array $data = []): mixed + { + return $this->request('POST', "/spaces/{$spaceId}/images/posts/{$id}/duplicate", [], $data); + } + + /** Create Basic Post */ + /** @param array $data */ + public function createBasicPost(array $data = []): mixed + { + return $this->request('POST', "/posts", [], $data); + } + + /** List Basic Posts */ + /** @param array $query */ + public function listBasicPosts(array $query = []): mixed + { + return $this->request('GET', "/posts", $query); + } + + /** Delete Basic Post */ + public function deleteBasicPost(int|string $id): mixed + { + return $this->request('DELETE', "/posts/{$id}"); + } + + /** Show Basic Post */ + public function showBasicPost(int|string $id): mixed + { + return $this->request('GET', "/posts/{$id}"); + } + + /** Update Basic Post */ + /** @param array $data */ + public function updateBasicPost(int|string $id, array $data = []): mixed + { + return $this->request('PUT', "/posts/{$id}", [], $data); + } + + /** Get Post Summary */ + public function getPostSummary(int|string $postId): mixed + { + return $this->request('GET', "/posts/{$postId}/summary"); + } +} diff --git a/src/Endpoint/AdminV2/ProfileFields.php b/src/Endpoint/AdminV2/ProfileFields.php new file mode 100644 index 0000000..d9c9f86 --- /dev/null +++ b/src/Endpoint/AdminV2/ProfileFields.php @@ -0,0 +1,50 @@ +request('PUT', "/profile_fields/{$id}/archive"); + } + + /** Create Profile Field */ + /** @param array $data */ + public function createProfileField(array $data): mixed + { + return $this->request('POST', "/profile_fields", [], $data); + } + + /** Profile Fields List */ + /** @param array $query */ + public function profileFieldsList(array $query = []): mixed + { + return $this->request('GET', "/profile_fields", $query); + } + + /** Delete Profile Field */ + public function deleteProfileField(int|string $id): mixed + { + return $this->request('DELETE', "/profile_fields/{$id}"); + } + + /** Update Profile Field */ + /** @param array $data */ + public function updateProfileField(int|string $id, array $data): mixed + { + return $this->request('PUT', "/profile_fields/{$id}", [], $data); + } + + /** Unarchive Profile Field */ + public function unarchiveProfileField(int|string $id): mixed + { + return $this->request('PUT', "/profile_fields/{$id}/unarchive"); + } +} diff --git a/src/Endpoint/AdminV2/SpaceGroupMembers.php b/src/Endpoint/AdminV2/SpaceGroupMembers.php new file mode 100644 index 0000000..550a07f --- /dev/null +++ b/src/Endpoint/AdminV2/SpaceGroupMembers.php @@ -0,0 +1,39 @@ + $data */ + public function createSpaceGroupMember(array $data = []): mixed + { + return $this->request('POST', "/space_group_members", [], $data); + } + + /** Destroy Space Group Member */ + /** @param array $query */ + public function destroySpaceGroupMember(array $query = []): mixed + { + return $this->request('DELETE', "/space_group_members", $query); + } + + /** List Space Group Members */ + /** @param array $query */ + public function listSpaceGroupMembers(array $query = []): mixed + { + return $this->request('GET', "/space_group_members", $query); + } + + /** Show Space Group Member */ + /** @param array $query */ + public function showSpaceGroupMember(array $query = []): mixed + { + return $this->request('GET', "/space_group_member", $query); + } +} diff --git a/src/Endpoint/AdminV2/SpaceGroups.php b/src/Endpoint/AdminV2/SpaceGroups.php new file mode 100644 index 0000000..c71c6d2 --- /dev/null +++ b/src/Endpoint/AdminV2/SpaceGroups.php @@ -0,0 +1,44 @@ + $data */ + public function createSpaceGroup(array $data = []): mixed + { + return $this->request('POST', "/space_groups", [], $data); + } + + /** List Space Groups */ + /** @param array $query */ + public function listSpaceGroups(array $query = []): mixed + { + return $this->request('GET', "/space_groups", $query); + } + + /** Delete Space Group */ + public function deleteSpaceGroup(int|string $id): mixed + { + return $this->request('DELETE', "/space_groups/{$id}"); + } + + /** Show Space Group */ + public function showSpaceGroup(int|string $id): mixed + { + return $this->request('GET', "/space_groups/{$id}"); + } + + /** Update Space Group */ + /** @param array $data */ + public function updateSpaceGroup(int|string $id, array $data): mixed + { + return $this->request('PUT', "/space_groups/{$id}", [], $data); + } +} diff --git a/src/Endpoint/AdminV2/SpaceMembers.php b/src/Endpoint/AdminV2/SpaceMembers.php new file mode 100644 index 0000000..269941a --- /dev/null +++ b/src/Endpoint/AdminV2/SpaceMembers.php @@ -0,0 +1,39 @@ + $data */ + public function addSpaceMember(array $data = []): mixed + { + return $this->request('POST', "/space_members", [], $data); + } + + /** Remove Space Member */ + /** @param array $query */ + public function removeSpaceMember(array $query = []): mixed + { + return $this->request('DELETE', "/space_members", $query); + } + + /** List Space Members */ + /** @param array $query */ + public function listSpaceMembers(array $query = []): mixed + { + return $this->request('GET', "/space_members", $query); + } + + /** Show Space Member */ + /** @param array $query */ + public function showSpaceMember(array $query = []): mixed + { + return $this->request('GET', "/space_member", $query); + } +} diff --git a/src/Endpoint/AdminV2/Spaces.php b/src/Endpoint/AdminV2/Spaces.php new file mode 100644 index 0000000..ae8085d --- /dev/null +++ b/src/Endpoint/AdminV2/Spaces.php @@ -0,0 +1,85 @@ + $query */ + public function all(array $query = []): mixed + { + return $this->listSpaces($query); + } + + public function show(int|string $id): mixed + { + return $this->showASpace($id); + } + + /** @param array $data */ + public function create(array $data): mixed + { + return $this->createSpace($data); + } + + /** @param array $data */ + public function update(int|string $id, array $data): mixed + { + return $this->updateSpace($id, $data); + } + + public function delete(int|string $id): mixed + { + return $this->deleteASpace($id); + } + + /** @param array $query */ + public function aiSummary(int|string $spaceId, array $query = []): mixed + { + return $this->summarizeASpace($spaceId, $query); + } + + /** Summarize a space */ + /** @param array $query */ + public function summarizeASpace(int|string $spaceId, array $query = []): mixed + { + return $this->request('GET', "/spaces/{$spaceId}/ai_summaries", $query); + } + + /** Create Space */ + /** @param array $data */ + public function createSpace(array $data = []): mixed + { + return $this->request('POST', "/spaces", [], $data); + } + + /** List Spaces */ + /** @param array $query */ + public function listSpaces(array $query = []): mixed + { + return $this->request('GET', "/spaces", $query); + } + + /** Delete a space */ + public function deleteASpace(int|string $id): mixed + { + return $this->request('DELETE', "/spaces/{$id}"); + } + + /** Show a space */ + public function showASpace(int|string $id): mixed + { + return $this->request('GET', "/spaces/{$id}"); + } + + /** Update Space */ + /** @param array $data */ + public function updateSpace(int|string $id, array $data = []): mixed + { + return $this->request('PUT', "/spaces/{$id}", [], $data); + } +} diff --git a/src/Endpoint/AdminV2/TaggedMembers.php b/src/Endpoint/AdminV2/TaggedMembers.php new file mode 100644 index 0000000..7058eb1 --- /dev/null +++ b/src/Endpoint/AdminV2/TaggedMembers.php @@ -0,0 +1,38 @@ + $data */ + public function createTaggedMember(array $data = []): mixed + { + return $this->request('POST', "/tagged_members", [], $data); + } + + /** Delete Tagged Member */ + /** @param array $query */ + public function deleteTaggedMember(array $query = []): mixed + { + return $this->request('DELETE', "/tagged_members", $query); + } + + /** List Tagged Members */ + /** @param array $query */ + public function listTaggedMembers(array $query = []): mixed + { + return $this->request('GET', "/tagged_members", $query); + } + + /** Get Tagged Member */ + public function getTaggedMember(int|string $id): mixed + { + return $this->request('GET', "/tagged_members/{$id}"); + } +} diff --git a/src/Endpoint/AdminV2/TaxSettings.php b/src/Endpoint/AdminV2/TaxSettings.php new file mode 100644 index 0000000..3d5610c --- /dev/null +++ b/src/Endpoint/AdminV2/TaxSettings.php @@ -0,0 +1,24 @@ +request('GET', "/tax_setting"); + } + + /** Update tax settings */ + /** @param array $data */ + public function updateTaxSettings(array $data = []): mixed + { + return $this->request('PUT', "/tax_setting", [], $data); + } +} diff --git a/src/Endpoint/AdminV2/Topics.php b/src/Endpoint/AdminV2/Topics.php new file mode 100644 index 0000000..624cb20 --- /dev/null +++ b/src/Endpoint/AdminV2/Topics.php @@ -0,0 +1,44 @@ + $data */ + public function createATopic(array $data = []): mixed + { + return $this->request('POST', "/topics", [], $data); + } + + /** List topics */ + /** @param array $query */ + public function listTopics(array $query = []): mixed + { + return $this->request('GET', "/topics", $query); + } + + /** Delete a topic */ + public function deleteATopic(int|string $id): mixed + { + return $this->request('DELETE', "/topics/{$id}"); + } + + /** Show topic details */ + public function showTopicDetails(int|string $id): mixed + { + return $this->request('GET', "/topics/{$id}"); + } + + /** Update a topic */ + /** @param array $data */ + public function updateATopic(int|string $id, array $data = []): mixed + { + return $this->request('PUT', "/topics/{$id}", [], $data); + } +} diff --git a/src/Endpoint/AdminV2/Workflows.php b/src/Endpoint/AdminV2/Workflows.php new file mode 100644 index 0000000..5493cbf --- /dev/null +++ b/src/Endpoint/AdminV2/Workflows.php @@ -0,0 +1,42 @@ +request('PUT', "/workflows/{$id}/activate"); + } + + /** Deactivate an automation (dynamic) workflow so it stops running automatically */ + public function deactivateAnAutomationDynamicWorkflowSoItStopsRunningAutomatically(int|string $id): mixed + { + return $this->request('PUT', "/workflows/{$id}/deactivate"); + } + + /** Duplicate a workflow */ + public function duplicateAWorkflow(int|string $id): mixed + { + return $this->request('POST', "/workflows/{$id}/duplicate"); + } + + /** List a community's automations/workflows */ + /** @param array $query */ + public function listACommunitysAutomationsWorkflows(array $query = []): mixed + { + return $this->request('GET', "/workflows", $query); + } + + /** Get Workflow */ + public function getWorkflow(int|string $id): mixed + { + return $this->request('GET', "/workflows/{$id}"); + } +} diff --git a/src/Endpoint/HeadlessAuth/Headless.php b/src/Endpoint/HeadlessAuth/Headless.php new file mode 100644 index 0000000..2f6acf8 --- /dev/null +++ b/src/Endpoint/HeadlessAuth/Headless.php @@ -0,0 +1,39 @@ + $data */ + public function refreshAnAccessToken(array $data): mixed + { + return $this->request('PATCH', "/access_token/refresh", [], $data); + } + + /** Revoke an access token */ + /** @param array $data */ + public function revokeAnAccessToken(array $data): mixed + { + return $this->request('POST', "/access_token/revoke", [], $data); + } + + /** Create/Get an auth token */ + /** @param array $data */ + public function createGetAnAuthToken(array $data): mixed + { + return $this->request('POST', "/auth_token", [], $data); + } + + /** Revoke a refresh token */ + /** @param array $data */ + public function revokeARefreshToken(array $data): mixed + { + return $this->request('POST', "/refresh_token/revoke", [], $data); + } +} diff --git a/src/Endpoint/HeadlessMember/AdvancedSearch.php b/src/Endpoint/HeadlessMember/AdvancedSearch.php new file mode 100644 index 0000000..8cd8b2c --- /dev/null +++ b/src/Endpoint/HeadlessMember/AdvancedSearch.php @@ -0,0 +1,18 @@ + $query */ + public function advancedSearch(array $query = []): mixed + { + return $this->request('GET', "/advanced_search", $query); + } +} diff --git a/src/Endpoint/HeadlessMember/Bookmarks.php b/src/Endpoint/HeadlessMember/Bookmarks.php new file mode 100644 index 0000000..ab3c257 --- /dev/null +++ b/src/Endpoint/HeadlessMember/Bookmarks.php @@ -0,0 +1,31 @@ + $data */ + public function createABookmark(array $data = []): mixed + { + return $this->request('POST', "/bookmarks", [], $data); + } + + /** Get bookmarks paginated list */ + /** @param array $query */ + public function getBookmarksPaginatedList(array $query = []): mixed + { + return $this->request('GET', "/bookmarks", $query); + } + + /** Delete a bookmark */ + public function deleteABookmark(int|string $id): mixed + { + return $this->request('DELETE', "/bookmarks/{$id}"); + } +} diff --git a/src/Endpoint/HeadlessMember/ChatRoom.php b/src/Endpoint/HeadlessMember/ChatRoom.php new file mode 100644 index 0000000..e3799bb --- /dev/null +++ b/src/Endpoint/HeadlessMember/ChatRoom.php @@ -0,0 +1,104 @@ + $data */ + public function createChatRoomMessage(int|string $chatRoomUuid, array $data = []): mixed + { + return $this->request('POST', "/messages/{$chatRoomUuid}/chat_room_messages", [], $data); + } + + /** Fetch chat room messages */ + /** @param array $query */ + public function fetchChatRoomMessages(int|string $chatRoomUuid, array $query = []): mixed + { + return $this->request('GET', "/messages/{$chatRoomUuid}/chat_room_messages", $query); + } + + /** Delete chat room message */ + public function deleteChatRoomMessage(int|string $chatRoomUuid, int|string $id): mixed + { + return $this->request('DELETE', "/messages/{$chatRoomUuid}/chat_room_messages/{$id}"); + } + + /** Get chat room message */ + public function getChatRoomMessage(int|string $chatRoomUuid, int|string $id): mixed + { + return $this->request('GET', "/messages/{$chatRoomUuid}/chat_room_messages/{$id}"); + } + + /** Update chat room message */ + /** @param array $data */ + public function updateChatRoomMessage(int|string $chatRoomUuid, int|string $id, array $data = []): mixed + { + return $this->request('PUT', "/messages/{$chatRoomUuid}/chat_room_messages/{$id}", [], $data); + } + + /** Get chat room participants */ + /** @param array $query */ + public function getChatRoomParticipants(int|string $chatRoomUuid, array $query = []): mixed + { + return $this->request('GET', "/messages/{$chatRoomUuid}/chat_room_participants", $query); + } + + /** Update chat room participant */ + /** @param array $data */ + public function updateChatRoomParticipant(int|string $chatRoomUuid, int|string $id, array $data = []): mixed + { + return $this->request('PUT', "/messages/{$chatRoomUuid}/chat_room_participants/{$id}", [], $data); + } + + /** Create a chat room */ + /** @param array $data */ + public function createAChatRoom(array $data = []): mixed + { + return $this->request('POST', "/messages", [], $data); + } + + /** Get chat rooms */ + /** @param array $query */ + public function getChatRooms(array $query = []): mixed + { + return $this->request('GET', "/messages", $query); + } + + /** Mark all messages in a chat room as read */ + public function markAllMessagesInAChatRoomAsRead(int|string $uuid): mixed + { + return $this->request('POST', "/messages/{$uuid}/mark_all_as_read"); + } + + /** Get chat room details */ + public function getChatRoomDetails(int|string $uuid): mixed + { + return $this->request('GET', "/messages/{$uuid}"); + } + + /** Get unread chat rooms */ + public function getUnreadChatRooms(): mixed + { + return $this->request('GET', "/messages/unread_chat_rooms"); + } + + /** Create a reaction on a chat room message */ + /** @param array $data */ + public function createAReactionOnAChatRoomMessage(array $data = []): mixed + { + return $this->request('POST', "/reactions", [], $data); + } + + /** Remove a reaction from a chat room message */ + /** @param array $data */ + public function removeAReactionFromAChatRoomMessage(array $data = []): mixed + { + return $this->request('DELETE', "/reactions", [], $data); + } +} diff --git a/src/Endpoint/HeadlessMember/ChatThreads.php b/src/Endpoint/HeadlessMember/ChatThreads.php new file mode 100644 index 0000000..6aea690 --- /dev/null +++ b/src/Endpoint/HeadlessMember/ChatThreads.php @@ -0,0 +1,30 @@ + $query */ + public function listChatThreads(array $query = []): mixed + { + return $this->request('GET', "/chat_threads", $query); + } + + /** Get chat thread */ + public function getChatThread(int|string $id): mixed + { + return $this->request('GET', "/chat_threads/{$id}"); + } + + /** Get unread chat threads */ + public function getUnreadChatThreads(): mixed + { + return $this->request('GET', "/chat_threads/unread_chat_threads"); + } +} diff --git a/src/Endpoint/HeadlessMember/Comments.php b/src/Endpoint/HeadlessMember/Comments.php new file mode 100644 index 0000000..c25983c --- /dev/null +++ b/src/Endpoint/HeadlessMember/Comments.php @@ -0,0 +1,97 @@ + $data */ + public function createACommentForAPost(int|string $postId, array $data): mixed + { + return $this->request('POST', "/posts/{$postId}/comments", [], $data); + } + + /** Get list of comments for a post */ + /** @param array $query */ + public function getListOfCommentsForAPost(int|string $postId, array $query = []): mixed + { + return $this->request('GET', "/posts/{$postId}/comments", $query); + } + + /** Delete a comment for a post */ + public function deleteACommentForAPost(int|string $postId, int|string $id): mixed + { + return $this->request('DELETE', "/posts/{$postId}/comments/{$id}"); + } + + /** Get a comment for a post */ + public function getACommentForAPost(int|string $postId, int|string $id): mixed + { + return $this->request('GET', "/posts/{$postId}/comments/{$id}"); + } + + /** Update a comment for a post */ + /** @param array $data */ + public function updateACommentForAPost(int|string $postId, int|string $id, array $data): mixed + { + return $this->request('PATCH', "/posts/{$postId}/comments/{$id}", [], $data); + } + + /** Create a reply for a comment */ + /** @param array $data */ + public function createAReplyForAComment(int|string $commentId, array $data): mixed + { + return $this->request('POST', "/comments/{$commentId}/replies", [], $data); + } + + /** Get list of replies for a comment */ + /** @param array $query */ + public function getListOfRepliesForAComment(int|string $commentId, array $query = []): mixed + { + return $this->request('GET', "/comments/{$commentId}/replies", $query); + } + + /** Delete a reply for a comment */ + public function deleteAReplyForAComment(int|string $commentId, int|string $id): mixed + { + return $this->request('DELETE', "/comments/{$commentId}/replies/{$id}"); + } + + /** Get a reply for a comment */ + public function getAReplyForAComment(int|string $commentId, int|string $id): mixed + { + return $this->request('GET', "/comments/{$commentId}/replies/{$id}"); + } + + /** Update a reply for a comment */ + /** @param array $data */ + public function updateAReplyForAComment(int|string $commentId, int|string $id, array $data): mixed + { + return $this->request('PATCH', "/comments/{$commentId}/replies/{$id}", [], $data); + } + + /** Create a user like for a comment */ + /** @param array $data */ + public function createAUserLikeForAComment(int|string $commentId, array $data = []): mixed + { + return $this->request('POST', "/comments/{$commentId}/user_likes", [], $data); + } + + /** Destroy a user like for a comment */ + public function destroyAUserLikeForAComment(int|string $commentId): mixed + { + return $this->request('DELETE', "/comments/{$commentId}/user_likes"); + } + + /** Get list of users who liked a comment */ + /** @param array $query */ + public function getListOfUsersWhoLikedAComment(int|string $commentId, array $query = []): mixed + { + return $this->request('GET', "/comments/{$commentId}/user_likes", $query); + } +} diff --git a/src/Endpoint/HeadlessMember/CommunityLinks.php b/src/Endpoint/HeadlessMember/CommunityLinks.php new file mode 100644 index 0000000..6d0060e --- /dev/null +++ b/src/Endpoint/HeadlessMember/CommunityLinks.php @@ -0,0 +1,17 @@ +request('GET', "/community_links"); + } +} diff --git a/src/Endpoint/HeadlessMember/CommunityMembers.php b/src/Endpoint/HeadlessMember/CommunityMembers.php new file mode 100644 index 0000000..169d5cc --- /dev/null +++ b/src/Endpoint/HeadlessMember/CommunityMembers.php @@ -0,0 +1,71 @@ + $query */ + public function comments(int|string $communityMemberId, array $query = []): mixed + { + return $this->request('GET', "/community_members/{$communityMemberId}/comments", $query); + } + + /** Deactivate a non-admin and non-owner community member */ + public function deactivateANonAdminAndNonOwnerCommunityMember(): mixed + { + return $this->request('DELETE', "/community_member/deactivate"); + } + + /** Get community members paginated list */ + /** @param array $query */ + public function getCommunityMembersPaginatedList(array $query = []): mixed + { + return $this->request('GET', "/community_members", $query); + } + + /** Get paginated list of posts for a community member ID */ + /** @param array $query */ + public function posts(int|string $communityMemberId, array $query = []): mixed + { + return $this->request('GET', "/community_members/{$communityMemberId}/posts", $query); + } + + /** Get current community member details */ + public function getCurrentCommunityMemberDetails(): mixed + { + return $this->request('GET', "/community_member"); + } + + /** Get paginated list of posts for a community member ID */ + /** @param array $query */ + public function spaces(int|string $communityMemberId, array $query = []): mixed + { + return $this->request('GET', "/community_members/{$communityMemberId}/spaces", $query); + } + + /** Update community member profile */ + /** @param array $data */ + public function updateCommunityMemberProfile(array $data = []): mixed + { + return $this->request('PUT', "/profile", [], $data); + } + + /** Get public profile details for a community member ID */ + public function getPublicProfileDetailsForACommunityMemberId(int|string $communityMemberId): mixed + { + return $this->request('GET', "/community_members/{$communityMemberId}/public_profile"); + } + + /** Search community members */ + /** @param array $data */ + public function searchCommunityMembers(array $data = []): mixed + { + return $this->request('POST', "/search/community_members", [], $data); + } +} diff --git a/src/Endpoint/HeadlessMember/ConfirmMemberProfile.php b/src/Endpoint/HeadlessMember/ConfirmMemberProfile.php new file mode 100644 index 0000000..d8de793 --- /dev/null +++ b/src/Endpoint/HeadlessMember/ConfirmMemberProfile.php @@ -0,0 +1,18 @@ + $data */ + public function updateAndConfirmCommunityMemberProfile(array $data = []): mixed + { + return $this->request('PUT', "/signup/profile", [], $data); + } +} diff --git a/src/Endpoint/HeadlessMember/Cookies.php b/src/Endpoint/HeadlessMember/Cookies.php new file mode 100644 index 0000000..6ede07c --- /dev/null +++ b/src/Endpoint/HeadlessMember/Cookies.php @@ -0,0 +1,23 @@ +request('POST', "/cookies"); + } + + /** Destroy cookies */ + public function destroyCookies(): mixed + { + return $this->request('DELETE', "/cookies"); + } +} diff --git a/src/Endpoint/HeadlessMember/Courses.php b/src/Endpoint/HeadlessMember/Courses.php new file mode 100644 index 0000000..0ea0321 --- /dev/null +++ b/src/Endpoint/HeadlessMember/Courses.php @@ -0,0 +1,44 @@ + $query */ + public function getListOfFilesInALesson(int|string $courseId, int|string $lessonId, array $query = []): mixed + { + return $this->request('GET', "/courses/{$courseId}/lessons/{$lessonId}/files", $query); + } + + /** Update a lesson progress */ + /** @param array $data */ + public function updateALessonProgress(int|string $courseId, int|string $lessonId, array $data): mixed + { + return $this->request('PATCH', "/courses/{$courseId}/lessons/{$lessonId}/progress", [], $data); + } + + /** Get a lesson in a course */ + public function getALessonInACourse(int|string $courseId, int|string $id): mixed + { + return $this->request('GET', "/courses/{$courseId}/lessons/{$id}"); + } + + /** Get list of sections in a course */ + public function getListOfSectionsInACourse(int|string $courseId): mixed + { + return $this->request('GET', "/courses/{$courseId}/sections"); + } + + /** Get course topics */ + /** @param array $query */ + public function getCourseTopics(array $query = []): mixed + { + return $this->request('GET', "/course_topics", $query); + } +} diff --git a/src/Endpoint/HeadlessMember/DirectUploads.php b/src/Endpoint/HeadlessMember/DirectUploads.php new file mode 100644 index 0000000..fe81576 --- /dev/null +++ b/src/Endpoint/HeadlessMember/DirectUploads.php @@ -0,0 +1,18 @@ + $data */ + public function createADirectUpload(array $data = []): mixed + { + return $this->request('POST', "/direct_uploads", [], $data); + } +} diff --git a/src/Endpoint/HeadlessMember/Events.php b/src/Endpoint/HeadlessMember/Events.php new file mode 100644 index 0000000..6d29eed --- /dev/null +++ b/src/Endpoint/HeadlessMember/Events.php @@ -0,0 +1,54 @@ + $query */ + public function getListOfCommunityEvents(array $query = []): mixed + { + return $this->request('GET', "/community_events", $query); + } + + /** Create an event attendee */ + public function createAnEventAttendee(int|string $eventId): mixed + { + return $this->request('POST', "/events/{$eventId}/event_attendees"); + } + + /** Destroy an event attendee */ + public function destroyAnEventAttendee(int|string $eventId): mixed + { + return $this->request('DELETE', "/events/{$eventId}/event_attendees"); + } + + /** List event attendees */ + /** @param array $query */ + public function listEventAttendees(int|string $eventId, array $query = []): mixed + { + return $this->request('GET', "/events/{$eventId}/event_attendees", $query); + } + + /** List recurring events */ + /** @param array $query */ + public function listRecurringEvents(int|string $spaceId, int|string $eventId, array $query = []): mixed + { + return $this->request('GET', "/spaces/{$spaceId}/events/{$eventId}/recurring_events", $query); + } + + /** Update recurring event RSVP for the provided event ids */ + /** @param array $data */ + public function updateRecurringEventRsvp( + int|string $spaceId, + int|string $eventId, + array $data = [], + ): mixed { + return $this->request('PUT', "/spaces/{$spaceId}/events/{$eventId}/recurring_events/rsvp", [], $data); + } +} diff --git a/src/Endpoint/HeadlessMember/FlaggedContents.php b/src/Endpoint/HeadlessMember/FlaggedContents.php new file mode 100644 index 0000000..f385eec --- /dev/null +++ b/src/Endpoint/HeadlessMember/FlaggedContents.php @@ -0,0 +1,18 @@ + $data */ + public function flagContent(array $data = []): mixed + { + return $this->request('POST', "/flagged_contents", [], $data); + } +} diff --git a/src/Endpoint/HeadlessMember/HomePage.php b/src/Endpoint/HeadlessMember/HomePage.php new file mode 100644 index 0000000..a0f88f3 --- /dev/null +++ b/src/Endpoint/HeadlessMember/HomePage.php @@ -0,0 +1,18 @@ + $query */ + public function getHomePagePosts(array $query = []): mixed + { + return $this->request('GET', "/home", $query); + } +} diff --git a/src/Endpoint/HeadlessMember/InvitationLinks.php b/src/Endpoint/HeadlessMember/InvitationLinks.php new file mode 100644 index 0000000..c6554e7 --- /dev/null +++ b/src/Endpoint/HeadlessMember/InvitationLinks.php @@ -0,0 +1,17 @@ +request('POST', "/invitation_links/{$token}/join"); + } +} diff --git a/src/Endpoint/HeadlessMember/LiveStreams.php b/src/Endpoint/HeadlessMember/LiveStreams.php new file mode 100644 index 0000000..f14050a --- /dev/null +++ b/src/Endpoint/HeadlessMember/LiveStreams.php @@ -0,0 +1,18 @@ + $data */ + public function createALiveStreamRoom(array $data = []): mixed + { + return $this->request('POST', "/live_streams/rooms", [], $data); + } +} diff --git a/src/Endpoint/HeadlessMember/NotificationPreferences.php b/src/Endpoint/HeadlessMember/NotificationPreferences.php new file mode 100644 index 0000000..bf95306 --- /dev/null +++ b/src/Endpoint/HeadlessMember/NotificationPreferences.php @@ -0,0 +1,49 @@ +request('GET', "/notification_preferences/{$medium}"); + } + + /** Update notification preferences for a medium */ + /** @param array $query */ + public function updateNotificationPreferencesForAMedium(int|string $medium, array $query = []): mixed + { + return $this->request('PUT', "/notification_preferences/{$medium}", $query); + } + + /** Get space notification preferences for the provided space member ID */ + public function getSpaceNotificationPreferencesForTheProvidedSpaceMemberId(int|string $id): mixed + { + return $this->request('GET', "/notification_preferences/space_members/{$id}"); + } + + /** Update notification preferences for all the spaces for the community member for the provided medium */ + /** @param array $query */ + public function updateAllSpaces( + int|string $notificationPreferenceMedium, + array $query = [], + ): mixed { + return $this->request('PUT', "/notification_preferences/{$notificationPreferenceMedium}/spaces", $query); + } + + /** Update notification preferences for a space member for the provided medium */ + /** @param array $query */ + public function updateSpace( + int|string $notificationPreferenceMedium, + int|string $id, + array $query = [], + ): mixed { + return $this->request('PUT', "/notification_preferences/{$notificationPreferenceMedium}/spaces/{$id}", $query); + } +} diff --git a/src/Endpoint/HeadlessMember/Notifications.php b/src/Endpoint/HeadlessMember/Notifications.php new file mode 100644 index 0000000..5556935 --- /dev/null +++ b/src/Endpoint/HeadlessMember/Notifications.php @@ -0,0 +1,55 @@ +request('POST', "/notifications/{$id}/archive"); + } + + /** Delete a notification */ + public function deleteANotification(int|string $id): mixed + { + return $this->request('DELETE', "/notifications/{$id}"); + } + + /** Get a paginated list of notifications */ + /** @param array $query */ + public function getAPaginatedListOfNotifications(array $query = []): mixed + { + return $this->request('GET', "/notifications", $query); + } + + /** Mark all notifications as read */ + /** @param array $data */ + public function markAllNotificationsAsRead(array $data = []): mixed + { + return $this->request('POST', "/notifications/mark_all_as_read", [], $data); + } + + /** Mark a notification as read */ + public function markANotificationAsRead(int|string $id): mixed + { + return $this->request('POST', "/notifications/{$id}/mark_as_read"); + } + + /** Get new notifications count */ + public function getNewNotificationsCount(): mixed + { + return $this->request('GET', "/notifications/new_notifications_count"); + } + + /** Reset new notifications count */ + public function resetNewNotificationsCount(): mixed + { + return $this->request('POST', "/notifications/reset_new_notifications_count"); + } +} diff --git a/src/Endpoint/HeadlessMember/PageProfileFields.php b/src/Endpoint/HeadlessMember/PageProfileFields.php new file mode 100644 index 0000000..6cc7a13 --- /dev/null +++ b/src/Endpoint/HeadlessMember/PageProfileFields.php @@ -0,0 +1,18 @@ + $query */ + public function getPageProfileFields(array $query = []): mixed + { + return $this->request('GET', "/page_profile_fields", $query); + } +} diff --git a/src/Endpoint/HeadlessMember/Posts.php b/src/Endpoint/HeadlessMember/Posts.php new file mode 100644 index 0000000..028bda0 --- /dev/null +++ b/src/Endpoint/HeadlessMember/Posts.php @@ -0,0 +1,89 @@ + $data */ + public function createAnImagePost(int|string $spaceId, array $data): mixed + { + return $this->request('POST', "/spaces/{$spaceId}/images/posts", [], $data); + } + + /** Update an image post */ + /** @param array $data */ + public function updateAnImagePost(int|string $spaceId, int|string $id, array $data = []): mixed + { + return $this->request('PUT', "/spaces/{$spaceId}/images/posts/{$id}", [], $data); + } + + /** Follow a post */ + public function followAPost(int|string $postId): mixed + { + return $this->request('POST', "/posts/{$postId}/post_followers"); + } + + /** Unfollow a post */ + public function unfollowAPost(int|string $postId): mixed + { + return $this->request('DELETE', "/posts/{$postId}/post_followers"); + } + + /** Unfollow a post with ID */ + public function unfollowAPostWithId(int|string $postId, int|string $id): mixed + { + return $this->request('DELETE', "/posts/{$postId}/post_followers/{$id}"); + } + + /** Create a post */ + /** @param array $data */ + public function createAPost(int|string $spaceId, array $data): mixed + { + return $this->request('POST', "/spaces/{$spaceId}/posts", [], $data); + } + + /** Get list of posts in a space */ + /** @param array $query */ + public function getListOfPostsInASpace(int|string $spaceId, array $query = []): mixed + { + return $this->request('GET', "/spaces/{$spaceId}/posts", $query); + } + + /** Delete a post */ + public function deleteAPost(int|string $spaceId, int|string $id): mixed + { + return $this->request('DELETE', "/spaces/{$spaceId}/posts/{$id}"); + } + + /** Get a post */ + public function getAPost(int|string $spaceId, int|string $id): mixed + { + return $this->request('GET', "/spaces/{$spaceId}/posts/{$id}"); + } + + /** Create a user like for a post */ + /** @param array $data */ + public function createAUserLikeForAPost(int|string $postId, array $data = []): mixed + { + return $this->request('POST', "/posts/{$postId}/user_likes", [], $data); + } + + /** Destroy a user like for a post */ + public function destroyAUserLikeForAPost(int|string $postId): mixed + { + return $this->request('DELETE', "/posts/{$postId}/user_likes"); + } + + /** Get list of users who liked a post */ + /** @param array $query */ + public function getListOfUsersWhoLikedAPost(int|string $postId, array $query = []): mixed + { + return $this->request('GET', "/posts/{$postId}/user_likes", $query); + } +} diff --git a/src/Endpoint/HeadlessMember/Quizzes.php b/src/Endpoint/HeadlessMember/Quizzes.php new file mode 100644 index 0000000..c7fa61e --- /dev/null +++ b/src/Endpoint/HeadlessMember/Quizzes.php @@ -0,0 +1,39 @@ + $query */ + public function getLatestQuizAttemptsForACourseForAdmins(int|string $courseId, array $query = []): mixed + { + return $this->request('GET', "/courses/{$courseId}/quiz_attempts", $query); + } + + /** Create a quiz attempt */ + /** @param array $data */ + public function createAQuizAttempt(int|string $quizId, array $data = []): mixed + { + return $this->request('POST', "/quizzes/{$quizId}/attempts", [], $data); + } + + /** Get a quiz attempt */ + /** @param array $query */ + public function getAQuizAttempt(int|string $quizId, int|string $id, array $query = []): mixed + { + return $this->request('GET', "/quizzes/{$quizId}/attempts/{$id}", $query); + } + + /** Update a quiz attempt result when passing grade is not set */ + /** @param array $data */ + public function updateAttemptResult(int|string $quizId, int|string $id, array $data): mixed + { + return $this->request('PUT', "/quizzes/{$quizId}/attempts/{$id}", [], $data); + } +} diff --git a/src/Endpoint/HeadlessMember/Search.php b/src/Endpoint/HeadlessMember/Search.php new file mode 100644 index 0000000..148d00b --- /dev/null +++ b/src/Endpoint/HeadlessMember/Search.php @@ -0,0 +1,18 @@ + $query */ + public function search(array $query = []): mixed + { + return $this->request('GET', "/search", $query); + } +} diff --git a/src/Endpoint/HeadlessMember/SpaceMembers.php b/src/Endpoint/HeadlessMember/SpaceMembers.php new file mode 100644 index 0000000..42d3367 --- /dev/null +++ b/src/Endpoint/HeadlessMember/SpaceMembers.php @@ -0,0 +1,17 @@ +request('POST', "/space_members/{$id}/mark_as_read"); + } +} diff --git a/src/Endpoint/HeadlessMember/Spaces.php b/src/Endpoint/HeadlessMember/Spaces.php new file mode 100644 index 0000000..8c9992e --- /dev/null +++ b/src/Endpoint/HeadlessMember/Spaces.php @@ -0,0 +1,62 @@ + $query */ + public function getSpaceNotificationDetails(array $query = []): mixed + { + return $this->request('GET', "/space_notification_details", $query); + } + + /** Get space bookmarks */ + /** @param array $query */ + public function getSpaceBookmarks(int|string $spaceId, array $query = []): mixed + { + return $this->request('GET', "/spaces/{$spaceId}/bookmarks", $query); + } + + /** Get home space details */ + public function getHomeSpaceDetails(): mixed + { + return $this->request('GET', "/spaces/home"); + } + + /** Get list of spaces */ + public function getListOfSpaces(): mixed + { + return $this->request('GET', "/spaces"); + } + + /** Join a space by id */ + public function joinASpaceById(int|string $id): mixed + { + return $this->request('POST', "/spaces/{$id}/join"); + } + + /** Leave a space by id */ + public function leaveASpaceById(int|string $id): mixed + { + return $this->request('POST', "/spaces/{$id}/leave"); + } + + /** Get space details */ + public function getSpaceDetails(int|string $id): mixed + { + return $this->request('GET', "/spaces/{$id}"); + } + + /** Get space topics */ + /** @param array $query */ + public function getSpaceTopics(int|string $spaceId, array $query = []): mixed + { + return $this->request('GET', "/spaces/{$spaceId}/topics", $query); + } +} diff --git a/src/Endpoint/RawEndpoint.php b/src/Endpoint/RawEndpoint.php new file mode 100644 index 0000000..8eb443c --- /dev/null +++ b/src/Endpoint/RawEndpoint.php @@ -0,0 +1,17 @@ + $query + * @param array|null $data + */ + public function call(string $method, string $path, array $query = [], ?array $data = null): mixed + { + return $this->request($method, '/' . ltrim($path, '/'), $query, $data); + } +} diff --git a/src/HeadlessAuth.php b/src/HeadlessAuth.php new file mode 100644 index 0000000..43ae67a --- /dev/null +++ b/src/HeadlessAuth.php @@ -0,0 +1,34 @@ +withApiVersion('v1/headless')); + } + + public static function make(string $token, ?Options $options = null): self + { + return new self($token, $options); + } + + protected function authorizationHeader(): string + { + return "Bearer {$this->token}"; + } + public function tokens(): Endpoint\HeadlessAuth\Headless + { + return new Endpoint\HeadlessAuth\Headless($this); + } + + public function raw(): RawEndpoint + { + return new RawEndpoint($this); + } +} diff --git a/src/HeadlessMember.php b/src/HeadlessMember.php new file mode 100644 index 0000000..162429e --- /dev/null +++ b/src/HeadlessMember.php @@ -0,0 +1,149 @@ +withApiVersion('headless/v1')); + } + + public static function make(string $accessToken, ?Options $options = null): self + { + return new self($accessToken, $options); + } + + protected function authorizationHeader(): string + { + return "Bearer {$this->token}"; + } + public function advancedSearch(): Endpoint\HeadlessMember\AdvancedSearch + { + return new Endpoint\HeadlessMember\AdvancedSearch($this); + } + + public function bookmarks(): Endpoint\HeadlessMember\Bookmarks + { + return new Endpoint\HeadlessMember\Bookmarks($this); + } + + public function chatRoom(): Endpoint\HeadlessMember\ChatRoom + { + return new Endpoint\HeadlessMember\ChatRoom($this); + } + + public function chatThreads(): Endpoint\HeadlessMember\ChatThreads + { + return new Endpoint\HeadlessMember\ChatThreads($this); + } + + public function comments(): Endpoint\HeadlessMember\Comments + { + return new Endpoint\HeadlessMember\Comments($this); + } + + public function communityLinks(): Endpoint\HeadlessMember\CommunityLinks + { + return new Endpoint\HeadlessMember\CommunityLinks($this); + } + + public function communityMembers(): Endpoint\HeadlessMember\CommunityMembers + { + return new Endpoint\HeadlessMember\CommunityMembers($this); + } + + public function confirmMemberProfile(): Endpoint\HeadlessMember\ConfirmMemberProfile + { + return new Endpoint\HeadlessMember\ConfirmMemberProfile($this); + } + + public function cookies(): Endpoint\HeadlessMember\Cookies + { + return new Endpoint\HeadlessMember\Cookies($this); + } + + public function courses(): Endpoint\HeadlessMember\Courses + { + return new Endpoint\HeadlessMember\Courses($this); + } + + public function directUploads(): Endpoint\HeadlessMember\DirectUploads + { + return new Endpoint\HeadlessMember\DirectUploads($this); + } + + public function events(): Endpoint\HeadlessMember\Events + { + return new Endpoint\HeadlessMember\Events($this); + } + + public function flaggedContents(): Endpoint\HeadlessMember\FlaggedContents + { + return new Endpoint\HeadlessMember\FlaggedContents($this); + } + + public function homePage(): Endpoint\HeadlessMember\HomePage + { + return new Endpoint\HeadlessMember\HomePage($this); + } + + public function invitationLinks(): Endpoint\HeadlessMember\InvitationLinks + { + return new Endpoint\HeadlessMember\InvitationLinks($this); + } + + public function liveStreams(): Endpoint\HeadlessMember\LiveStreams + { + return new Endpoint\HeadlessMember\LiveStreams($this); + } + + public function notificationPreferences(): Endpoint\HeadlessMember\NotificationPreferences + { + return new Endpoint\HeadlessMember\NotificationPreferences($this); + } + + public function notifications(): Endpoint\HeadlessMember\Notifications + { + return new Endpoint\HeadlessMember\Notifications($this); + } + + public function pageProfileFields(): Endpoint\HeadlessMember\PageProfileFields + { + return new Endpoint\HeadlessMember\PageProfileFields($this); + } + + public function posts(): Endpoint\HeadlessMember\Posts + { + return new Endpoint\HeadlessMember\Posts($this); + } + + public function quizzes(): Endpoint\HeadlessMember\Quizzes + { + return new Endpoint\HeadlessMember\Quizzes($this); + } + + public function search(): Endpoint\HeadlessMember\Search + { + return new Endpoint\HeadlessMember\Search($this); + } + + public function spaceMembers(): Endpoint\HeadlessMember\SpaceMembers + { + return new Endpoint\HeadlessMember\SpaceMembers($this); + } + + public function spaces(): Endpoint\HeadlessMember\Spaces + { + return new Endpoint\HeadlessMember\Spaces($this); + } + + public function raw(): RawEndpoint + { + return new RawEndpoint($this); + } +} diff --git a/src/Options.php b/src/Options.php index 0f634f1..3967690 100644 --- a/src/Options.php +++ b/src/Options.php @@ -70,4 +70,9 @@ public function getUserAgent(): string { return $this->options['user_agent']; } + + public function withApiVersion(string $apiVersion): self + { + return new self([...$this->options, 'api_version' => trim($apiVersion, '/')]); + } } diff --git a/tests/AdminTest.php b/tests/AdminTest.php new file mode 100644 index 0000000..49f6267 --- /dev/null +++ b/tests/AdminTest.php @@ -0,0 +1,29 @@ +expectException(\InvalidArgumentException::class); + $this->expectExceptionMessage('Admin API version must be 1 or 2.'); + + Admin::make('secret', version: 3); + } +} diff --git a/tests/ClientInfrastructureTest.php b/tests/ClientInfrastructureTest.php new file mode 100644 index 0000000..aef9221 --- /dev/null +++ b/tests/ClientInfrastructureTest.php @@ -0,0 +1,52 @@ +mockedClient(), $factory, $factory); + + $builder->addPlugin(new HeaderDefaultsPlugin(['X-Test' => 'enabled'])); + + self::assertNotNull($builder->getHttpClient()); + } + + public function test_versioned_clients_expose_raw_endpoints(): void + { + $options = new Options([ + 'client_builder' => new ClientBuilder($this->mockedClient()), + ]); + + self::assertInstanceOf(RawEndpoint::class, AdminV2::make('secret', $options)->raw()); + self::assertInstanceOf(RawEndpoint::class, HeadlessAuth::make('secret', $options)->raw()); + self::assertInstanceOf(RawEndpoint::class, HeadlessMember::make('secret', $options)->raw()); + } + + public function test_raw_endpoint_rejects_unsupported_http_methods(): void + { + $admin = AdminV2::make('secret', new Options([ + 'client_builder' => new ClientBuilder($this->mockedClient()), + ])); + + $this->expectException(\InvalidArgumentException::class); + $this->expectExceptionMessage('Unsupported HTTP method: TRACE'); + + $admin->raw()->call('TRACE', '/diagnostics'); + } +} diff --git a/tests/Endpoint/AdminV2AliasTest.php b/tests/Endpoint/AdminV2AliasTest.php new file mode 100644 index 0000000..b29b77c --- /dev/null +++ b/tests/Endpoint/AdminV2AliasTest.php @@ -0,0 +1,144 @@ +push(Middleware::history($history)); + $admin = AdminV2::make('secret', new Options([ + 'client_builder' => new ClientBuilder(new Client(['handler' => $stack])), + ])); + + $call($admin); + + self::assertSame($method, $history[0]['request']->getMethod()); + self::assertSame($path, $history[0]['request']->getUri()->getPath()); + } + + /** @return iterable */ + public static function aliasProvider(): iterable + { + yield 'community show' => ['GET', '/api/admin/v2/community', fn (AdminV2 $api) => $api->communities()->show()]; + yield 'community update' => [ + 'PUT', + '/api/admin/v2/community', + fn (AdminV2 $api) => $api->communities()->update(['name' => 'Circle']), + ]; + yield 'members index' => [ + 'GET', + '/api/admin/v2/community_members', + fn (AdminV2 $api) => $api->communityMembers()->all(), + ]; + yield 'members show' => [ + 'GET', + '/api/admin/v2/community_members/1', + fn (AdminV2 $api) => $api->communityMembers()->show(1), + ]; + yield 'members create' => [ + 'POST', + '/api/admin/v2/community_members', + fn (AdminV2 $api) => $api->communityMembers()->create(['email' => 'member@example.com']), + ]; + yield 'members update' => [ + 'PUT', + '/api/admin/v2/community_members/1', + fn (AdminV2 $api) => $api->communityMembers()->update(1, ['name' => 'Member']), + ]; + yield 'members search' => [ + 'GET', + '/api/admin/v2/community_members/search', + fn (AdminV2 $api) => $api->communityMembers()->search(['email' => 'member@example.com']), + ]; + yield 'members deactivate' => [ + 'DELETE', + '/api/admin/v2/community_members/1', + fn (AdminV2 $api) => $api->communityMembers()->deactivate(1), + ]; + yield 'members delete' => [ + 'PUT', + '/api/admin/v2/community_members/1/delete_member', + fn (AdminV2 $api) => $api->communityMembers()->delete(1), + ]; + yield 'members ban' => [ + 'PUT', + '/api/admin/v2/community_members/1/ban_member', + fn (AdminV2 $api) => $api->communityMembers()->ban(1), + ]; + yield 'spaces index' => ['GET', '/api/admin/v2/spaces', fn (AdminV2 $api) => $api->spaces()->all()]; + yield 'spaces show' => ['GET', '/api/admin/v2/spaces/1', fn (AdminV2 $api) => $api->spaces()->show(1)]; + yield 'spaces create' => [ + 'POST', + '/api/admin/v2/spaces', + fn (AdminV2 $api) => $api->spaces()->create(['name' => 'Space']), + ]; + yield 'spaces update' => [ + 'PUT', + '/api/admin/v2/spaces/1', + fn (AdminV2 $api) => $api->spaces()->update(1, ['name' => 'Space']), + ]; + yield 'spaces delete' => [ + 'DELETE', + '/api/admin/v2/spaces/1', + fn (AdminV2 $api) => $api->spaces()->delete(1), + ]; + yield 'spaces AI summary' => [ + 'GET', + '/api/admin/v2/spaces/1/ai_summaries', + fn (AdminV2 $api) => $api->spaces()->aiSummary(1), + ]; + yield 'posts index' => ['GET', '/api/admin/v2/posts', fn (AdminV2 $api) => $api->posts()->all()]; + yield 'posts show' => ['GET', '/api/admin/v2/posts/1', fn (AdminV2 $api) => $api->posts()->show(1)]; + yield 'posts create' => [ + 'POST', + '/api/admin/v2/posts', + fn (AdminV2 $api) => $api->posts()->create(['name' => 'Post']), + ]; + yield 'posts update' => [ + 'PUT', + '/api/admin/v2/posts/1', + fn (AdminV2 $api) => $api->posts()->update(1, ['name' => 'Post']), + ]; + yield 'posts delete' => [ + 'DELETE', + '/api/admin/v2/posts/1', + fn (AdminV2 $api) => $api->posts()->delete(1), + ]; + yield 'posts summary' => [ + 'GET', + '/api/admin/v2/posts/1/summary', + fn (AdminV2 $api) => $api->posts()->summary(1), + ]; + yield 'comments index' => ['GET', '/api/admin/v2/comments', fn (AdminV2 $api) => $api->comments()->all()]; + yield 'comments show' => [ + 'GET', + '/api/admin/v2/comments/1', + fn (AdminV2 $api) => $api->comments()->show(1), + ]; + yield 'comments create' => [ + 'POST', + '/api/admin/v2/comments', + fn (AdminV2 $api) => $api->comments()->create(['body' => 'Hello']), + ]; + yield 'comments delete' => [ + 'DELETE', + '/api/admin/v2/comments/1', + fn (AdminV2 $api) => $api->comments()->delete(1), + ]; + } +} diff --git a/tests/Endpoint/HeadlessEndpointCoverageTest.php b/tests/Endpoint/HeadlessEndpointCoverageTest.php new file mode 100644 index 0000000..b20f9b0 --- /dev/null +++ b/tests/Endpoint/HeadlessEndpointCoverageTest.php @@ -0,0 +1,375 @@ +push(Middleware::history($history)); + $class = 'AdroSoftware\\CircleSoSdk\\' . $clientClass; + $api = $class::make('secret', new Options([ + 'client_builder' => new ClientBuilder(new Client(['handler' => $stack])), + ])); + + $response = $api->{$resource}()->{$operation}(...$arguments); + + $request = $history[0]['request']; + self::assertSame($method, $request->getMethod()); + self::assertSame($path, $request->getUri()->getPath()); + parse_str($request->getUri()->getQuery(), $actualQuery); + self::assertSame($query, $actualQuery); + self::assertSame($authorization, $request->getHeaderLine('Authorization')); + self::assertSame($body, $body === null ? null : json_decode((string) $request->getBody(), true)); + self::assertSame($documentedResponse, $response); + } + + public function test_all_api_clients_preserve_the_configured_response_factory(): void + { + $factory = new class implements FactoryInterface { + public function factor(?array $response = null): object + { + return (object) $response; + } + }; + + foreach ([ + [AdminV2::class, 'communities', 'getCommunityDetails'], + [HeadlessAuth::class, 'tokens', 'createGetAnAuthToken'], + [HeadlessMember::class, 'spaces', 'getListOfSpaces'], + ] as [$class, $resource, $operation]) { + $api = $class::make('secret', new Options([ + 'client_builder' => new ClientBuilder($this->mockedClient([ + new Response(200, [], '{"records":[]}'), + ])), + 'response_factory' => $factory, + ])); + + $response = $api->{$resource}()->{$operation}(...($class === HeadlessAuth::class ? [[]] : [])); + + self::assertIsObject($response); + self::assertSame([], $response->records); + } + } + + /** @return array */ + private static function documentedResponse(string $clientClass, string $method, string $path): array + { + $fixture = match ($clientClass) { + 'AdminV2' => 'admin_v2_examples', + 'HeadlessAuth' => 'headless_auth_examples', + 'HeadlessMember' => 'headless_member_examples', + }; + $examples = json_decode(json_response($fixture), true, flags: JSON_THROW_ON_ERROR); + + return $examples["{$method} {$path}"] ?? []; + } + + /** @return iterable, array, array|null, string}> */ + public static function endpointProvider(): iterable + { + yield 'AdminV2 Access Group Members Add Member to Access Group' => ['AdminV2', 'accessGroupMembers', 'addMemberToAccessGroup', 'POST', '/api/admin/v2/access_groups/101/community_members', [101, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Access Group Members Remove Access Group Member' => ['AdminV2', 'accessGroupMembers', 'removeAccessGroupMember', 'DELETE', '/api/admin/v2/access_groups/101/community_members', [101, ['email' => 2]], ['email' => '2'], null, 'Token secret']; + yield 'AdminV2 Access Group Members List Access Group Community Members' => ['AdminV2', 'accessGroupMembers', 'listAccessGroupCommunityMembers', 'GET', '/api/admin/v2/access_groups/101/community_members', [101, ['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Access Group Members Show Access Group Community Member' => ['AdminV2', 'accessGroupMembers', 'showAccessGroupCommunityMember', 'GET', '/api/admin/v2/access_groups/101/community_member', [101, ['email' => 2]], ['email' => '2'], null, 'Token secret']; + yield 'AdminV2 Access Groups Create Access Group' => ['AdminV2', 'accessGroups', 'createAccessGroup', 'POST', '/api/admin/v2/access_groups', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Access Groups List Access Groups' => ['AdminV2', 'accessGroups', 'listAccessGroups', 'GET', '/api/admin/v2/access_groups', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Access Groups Archive Access Group' => ['AdminV2', 'accessGroups', 'archiveAccessGroup', 'DELETE', '/api/admin/v2/access_groups/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Access Groups Update Access Group' => ['AdminV2', 'accessGroups', 'updateAccessGroup', 'PUT', '/api/admin/v2/access_groups/101', [101, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Access Groups Unarchive Access Group' => ['AdminV2', 'accessGroups', 'unarchiveAccessGroup', 'PATCH', '/api/admin/v2/access_groups/101/unarchive', [101], [], null, 'Token secret']; + yield 'AdminV2 Advanced Search Advanced Search' => ['AdminV2', 'advancedSearch', 'advancedSearch', 'GET', '/api/admin/v2/advanced_search', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Chat Preferences Update Chat Preferences' => ['AdminV2', 'chatPreferences', 'updateChatPreferences', 'PUT', '/api/admin/v2/chat_preferences', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Chat Room Message Imports Import Chat Room Message' => ['AdminV2', 'chatRoomMessageImports', 'importChatRoomMessage', 'POST', '/api/admin/v2/chat_room_message_imports', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Comments Create Comment' => ['AdminV2', 'comments', 'createComment', 'POST', '/api/admin/v2/comments', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Comments List Comments' => ['AdminV2', 'comments', 'listComments', 'GET', '/api/admin/v2/comments', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Comments Destroy Comment' => ['AdminV2', 'comments', 'destroyComment', 'DELETE', '/api/admin/v2/comments/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Comments Show Comment' => ['AdminV2', 'comments', 'showComment', 'GET', '/api/admin/v2/comments/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Communities Get community details' => ['AdminV2', 'communities', 'getCommunityDetails', 'GET', '/api/admin/v2/community', [], [], null, 'Token secret']; + yield 'AdminV2 Communities Update Community' => ['AdminV2', 'communities', 'updateCommunity', 'PUT', '/api/admin/v2/community', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Community Leads Create a non-member contact (lead). To add a full community member instead, use create_community_member.' => ['AdminV2', 'communityLeads', 'createLead', 'POST', '/api/admin/v2/community_leads', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Community Leads Delete a non-member contact (lead). To delete a full community member instead, use destroy_community_member.' => ['AdminV2', 'communityLeads', 'deleteLead', 'DELETE', '/api/admin/v2/community_leads/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Community Member Access Groups List Community Member\'s Access Groups' => ['AdminV2', 'communityMemberAccessGroups', 'listCommunityMembersAccessGroups', 'GET', '/api/admin/v2/community_members/101/access_groups', [101, ['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Community Member Charges Export Community Member Charges' => ['AdminV2', 'communityMemberCharges', 'exportCommunityMemberCharges', 'POST', '/api/admin/v2/community_member_charges/export', [['member_email' => 2]], ['member_email' => '2'], null, 'Token secret']; + yield 'AdminV2 Community Member Charges Community Member Charges List' => ['AdminV2', 'communityMemberCharges', 'communityMemberChargesList', 'GET', '/api/admin/v2/community_member_charges', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Community Member Charges Refund Community Member Charge' => ['AdminV2', 'communityMemberCharges', 'refundCommunityMemberCharge', 'POST', '/api/admin/v2/community_member_charges/101/refund', [101, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Community Member Spaces List Community Member Spaces' => ['AdminV2', 'communityMemberSpaces', 'listCommunityMemberSpaces', 'GET', '/api/admin/v2/community_member_spaces', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Community Member Subscriptions Cancel Community Member Subscription' => ['AdminV2', 'communityMemberSubscriptions', 'cancelCommunityMemberSubscription', 'POST', '/api/admin/v2/community_member_subscriptions/101/cancel', [101, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Community Member Subscriptions Export Community Member Subscriptions' => ['AdminV2', 'communityMemberSubscriptions', 'exportCommunityMemberSubscriptions', 'POST', '/api/admin/v2/community_member_subscriptions/export', [['member_email' => 2]], ['member_email' => '2'], null, 'Token secret']; + yield 'AdminV2 Community Member Subscriptions Change a billing date or extend a genuine trial; change_billing_date requires billing_date and extend_trial requires days_to_extend (the opposite field is ignored); ineligible selected operations return 401 before input validation' => ['AdminV2', 'communityMemberSubscriptions', 'changeBillingDateOrExtendTrialCommunityMemberSubscription', 'PATCH', '/api/admin/v2/community_member_subscriptions/101/billing_date', [101, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Community Member Subscriptions Community Member Subscriptions List' => ['AdminV2', 'communityMemberSubscriptions', 'communityMemberSubscriptionsList', 'GET', '/api/admin/v2/community_member_subscriptions', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Community Member Subscriptions Resume Community Member Subscription' => ['AdminV2', 'communityMemberSubscriptions', 'resumeCommunityMemberSubscription', 'POST', '/api/admin/v2/community_member_subscriptions/101/resume', [101], [], null, 'Token secret']; + yield 'AdminV2 Community Members Ban Community Member' => ['AdminV2', 'communityMembers', 'banCommunityMember', 'PUT', '/api/admin/v2/community_members/101/ban_member', [101], [], null, 'Token secret']; + yield 'AdminV2 Community Members Create/Invite a community member' => ['AdminV2', 'communityMembers', 'createInviteACommunityMember', 'POST', '/api/admin/v2/community_members', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Community Members List Community Members' => ['AdminV2', 'communityMembers', 'listCommunityMembers', 'GET', '/api/admin/v2/community_members', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Community Members Delete Community Member' => ['AdminV2', 'communityMembers', 'deleteCommunityMember', 'PUT', '/api/admin/v2/community_members/101/delete_member', [101], [], null, 'Token secret']; + yield 'AdminV2 Community Members Deactivate a community member' => ['AdminV2', 'communityMembers', 'deactivateACommunityMember', 'DELETE', '/api/admin/v2/community_members/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Community Members Show a community member' => ['AdminV2', 'communityMembers', 'showACommunityMember', 'GET', '/api/admin/v2/community_members/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Community Members Update a community member' => ['AdminV2', 'communityMembers', 'updateACommunityMember', 'PUT', '/api/admin/v2/community_members/101', [101, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Community Members Search a community member' => ['AdminV2', 'communityMembers', 'searchACommunityMember', 'GET', '/api/admin/v2/community_members/search', [['email' => 2]], ['email' => '2'], null, 'Token secret']; + yield 'AdminV2 Community Segments Create a community segment' => ['AdminV2', 'communitySegments', 'createACommunitySegment', 'POST', '/api/admin/v2/community_segments', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Community Segments List Community Segments' => ['AdminV2', 'communitySegments', 'listCommunitySegments', 'GET', '/api/admin/v2/community_segments', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Community Segments Delete a community segment' => ['AdminV2', 'communitySegments', 'deleteACommunitySegment', 'DELETE', '/api/admin/v2/community_segments/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Community Segments Update a community segment' => ['AdminV2', 'communitySegments', 'updateACommunitySegment', 'PUT', '/api/admin/v2/community_segments/101', [101, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Community Segments Duplicate a community segment' => ['AdminV2', 'communitySegments', 'duplicateACommunitySegment', 'POST', '/api/admin/v2/community_segments/101/duplicate', [101, ['title' => 2]], ['title' => '2'], null, 'Token secret']; + yield 'AdminV2 Connect Settings Get Connect settings' => ['AdminV2', 'connectSettings', 'getConnectSettings', 'GET', '/api/admin/v2/settings/connect', [], [], null, 'Token secret']; + yield 'AdminV2 Connect Settings Update Connect settings' => ['AdminV2', 'connectSettings', 'updateConnectSettings', 'PATCH', '/api/admin/v2/settings/connect', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Contact Notes Create Contact Note' => ['AdminV2', 'contactNotes', 'createContactNote', 'POST', '/api/admin/v2/contacts/101/contact_notes', [101, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Contact Notes List Contact Notes' => ['AdminV2', 'contactNotes', 'listContactNotes', 'GET', '/api/admin/v2/contacts/101/contact_notes', [101, ['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Course Lesson Progress Update Course Lesson Progress' => ['AdminV2', 'courseLessonProgress', 'updateCourseLessonProgress', 'PUT', '/api/admin/v2/course_lesson_progress', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Course Lessons Create a course lesson' => ['AdminV2', 'courseLessons', 'createACourseLesson', 'POST', '/api/admin/v2/course_lessons', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Course Lessons List course lessons' => ['AdminV2', 'courseLessons', 'listCourseLessons', 'GET', '/api/admin/v2/course_lessons', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Course Lessons Delete a course lesson' => ['AdminV2', 'courseLessons', 'deleteACourseLesson', 'DELETE', '/api/admin/v2/course_lessons/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Course Lessons Show a course lesson' => ['AdminV2', 'courseLessons', 'showACourseLesson', 'GET', '/api/admin/v2/course_lessons/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Course Lessons Update a course lesson' => ['AdminV2', 'courseLessons', 'updateACourseLesson', 'PATCH', '/api/admin/v2/course_lessons/101', [101, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Course Lessons Reorder course lessons' => ['AdminV2', 'courseLessons', 'reorderCourseLessons', 'PUT', '/api/admin/v2/course_lessons/reorder', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Course Sections Create a course section' => ['AdminV2', 'courseSections', 'createACourseSection', 'POST', '/api/admin/v2/course_sections', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Course Sections List Course Sections' => ['AdminV2', 'courseSections', 'listCourseSections', 'GET', '/api/admin/v2/course_sections', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Course Sections Delete a course section' => ['AdminV2', 'courseSections', 'deleteACourseSection', 'DELETE', '/api/admin/v2/course_sections/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Course Sections Show a course section' => ['AdminV2', 'courseSections', 'showACourseSection', 'GET', '/api/admin/v2/course_sections/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Course Sections Update a course section' => ['AdminV2', 'courseSections', 'updateACourseSection', 'PUT', '/api/admin/v2/course_sections/101', [101, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Direct Uploads Create Direct Upload' => ['AdminV2', 'directUploads', 'createDirectUpload', 'POST', '/api/admin/v2/direct_uploads', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Embeds Create Embed' => ['AdminV2', 'embeds', 'createEmbed', 'POST', '/api/admin/v2/embeds', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Embeds Get Embed' => ['AdminV2', 'embeds', 'getEmbed', 'GET', '/api/admin/v2/embeds/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Event Attendees Create Event Attendee' => ['AdminV2', 'eventAttendees', 'createEventAttendee', 'POST', '/api/admin/v2/event_attendees', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Event Attendees Delete Event Attendee' => ['AdminV2', 'eventAttendees', 'deleteEventAttendee', 'DELETE', '/api/admin/v2/event_attendees', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Event Attendees List Event Attendees' => ['AdminV2', 'eventAttendees', 'listEventAttendees', 'GET', '/api/admin/v2/event_attendees', [['event_id' => 2]], ['event_id' => '2'], null, 'Token secret']; + yield 'AdminV2 Events Create Event' => ['AdminV2', 'events', 'createEvent', 'POST', '/api/admin/v2/events', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Events List Events' => ['AdminV2', 'events', 'listEvents', 'GET', '/api/admin/v2/events', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Events Delete Event' => ['AdminV2', 'events', 'deleteEvent', 'DELETE', '/api/admin/v2/events/101', [101, ['space_id' => 2]], ['space_id' => '2'], null, 'Token secret']; + yield 'AdminV2 Events Get Event' => ['AdminV2', 'events', 'getEvent', 'GET', '/api/admin/v2/events/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Events Update Event' => ['AdminV2', 'events', 'updateEvent', 'PUT', '/api/admin/v2/events/101', [101, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Events Duplicate Event' => ['AdminV2', 'events', 'duplicateEvent', 'POST', '/api/admin/v2/spaces/101/events/102/duplicate', [101, 102, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Filter Kit Controls Create a member filter control' => ['AdminV2', 'filterKitControls', 'createAMemberFilterControl', 'POST', '/api/admin/v2/filter_kit_controls', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Filter Kit Controls List member directory and member space filter controls' => ['AdminV2', 'filterKitControls', 'listMemberDirectoryAndMemberSpaceFilterControls', 'GET', '/api/admin/v2/filter_kit_controls', [['space_id' => 2]], ['space_id' => '2'], null, 'Token secret']; + yield 'AdminV2 Filter Kit Controls Delete a filter control' => ['AdminV2', 'filterKitControls', 'deleteAFilterControl', 'DELETE', '/api/admin/v2/filter_kit_controls/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Filter Kit Controls Get a filter control' => ['AdminV2', 'filterKitControls', 'getAFilterControl', 'GET', '/api/admin/v2/filter_kit_controls/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Filter Kit Controls Update a member directory or member space filter control' => ['AdminV2', 'filterKitControls', 'updateAMemberDirectoryOrMemberSpaceFilterControl', 'PATCH', '/api/admin/v2/filter_kit_controls/101', [101, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 FilterKit Configuration Get the filters currently shown on the member directory or a member space' => ['AdminV2', 'filterkitConfiguration', 'getTheFiltersCurrentlyShownOnTheMemberDirectoryOrAMemberSpace', 'GET', '/api/admin/v2/filter_kit_configuration', [['context' => 2]], ['context' => '2'], null, 'Token secret']; + yield 'AdminV2 Flagged Contents Report Flagged Content' => ['AdminV2', 'flaggedContents', 'reportFlaggedContent', 'POST', '/api/admin/v2/flagged_contents', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Flagged Contents List Flagged Contents' => ['AdminV2', 'flaggedContents', 'listFlaggedContents', 'GET', '/api/admin/v2/flagged_contents', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Forms Delete a form' => ['AdminV2', 'forms', 'deleteAForm', 'DELETE', '/api/admin/v2/forms/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Forms Show a form' => ['AdminV2', 'forms', 'showAForm', 'GET', '/api/admin/v2/forms/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Forms Update a form' => ['AdminV2', 'forms', 'updateAForm', 'PUT', '/api/admin/v2/forms/101', [101, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Forms Duplicate a form' => ['AdminV2', 'forms', 'duplicateAForm', 'POST', '/api/admin/v2/forms/101/duplicate', [101], [], null, 'Token secret']; + yield 'AdminV2 Forms List Forms' => ['AdminV2', 'forms', 'listForms', 'GET', '/api/admin/v2/forms', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Forms Create a form submission' => ['AdminV2', 'forms', 'createAFormSubmission', 'POST', '/api/admin/v2/forms/101/submissions', [101, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Forms List form submissions' => ['AdminV2', 'forms', 'listFormSubmissions', 'GET', '/api/admin/v2/forms/101/submissions', [101, ['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Gamification Show Leaderboard' => ['AdminV2', 'gamification', 'showLeaderboard', 'GET', '/api/admin/v2/gamification/leaderboard', [['period' => 2]], ['period' => '2'], null, 'Token secret']; + yield 'AdminV2 Invitation Links Create invitation link' => ['AdminV2', 'invitationLinks', 'createInvitationLink', 'POST', '/api/admin/v2/invitation_links', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Invitation Links List Invitation Links' => ['AdminV2', 'invitationLinks', 'listInvitationLinks', 'GET', '/api/admin/v2/invitation_links', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Invitation Links Delete invitation link' => ['AdminV2', 'invitationLinks', 'deleteInvitationLink', 'DELETE', '/api/admin/v2/invitation_links/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Invitation Links Update invitation link' => ['AdminV2', 'invitationLinks', 'updateInvitationLink', 'PUT', '/api/admin/v2/invitation_links/101', [101, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Invitation Links Revoke invitation link' => ['AdminV2', 'invitationLinks', 'revokeInvitationLink', 'PATCH', '/api/admin/v2/invitation_links/101/revoke', [101], [], null, 'Token secret']; + yield 'AdminV2 Live List Live Rooms' => ['AdminV2', 'live', 'listLiveRooms', 'GET', '/api/admin/v2/live/rooms', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Live List Live Room Transcripts' => ['AdminV2', 'live', 'listLiveRoomTranscripts', 'GET', '/api/admin/v2/live/rooms/101/transcripts', [101], [], null, 'Token secret']; + yield 'AdminV2 Locations Search locations' => ['AdminV2', 'locations', 'searchLocations', 'GET', '/api/admin/v2/locations/search', [['query' => 2]], ['query' => '2'], null, 'Token secret']; + yield 'AdminV2 Member Tags Create Member Tag' => ['AdminV2', 'memberTags', 'createMemberTag', 'POST', '/api/admin/v2/member_tags', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Member Tags Member Tags List' => ['AdminV2', 'memberTags', 'memberTagsList', 'GET', '/api/admin/v2/member_tags', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Member Tags Deletes a member tag' => ['AdminV2', 'memberTags', 'deletesAMemberTag', 'DELETE', '/api/admin/v2/member_tags/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Member Tags Shows a member tag\'s details' => ['AdminV2', 'memberTags', 'showsAMemberTagsDetails', 'GET', '/api/admin/v2/member_tags/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Member Tags Update member tag' => ['AdminV2', 'memberTags', 'updateMemberTag', 'PUT', '/api/admin/v2/member_tags/101', [101, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Messages Create Message' => ['AdminV2', 'messages', 'createMessage', 'POST', '/api/admin/v2/messages', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Page Profile Fields Get Page Profile Fields' => ['AdminV2', 'pageProfileFields', 'getPageProfileFields', 'GET', '/api/admin/v2/page_profile_fields', [['page_name' => 2]], ['page_name' => '2'], null, 'Token secret']; + yield 'AdminV2 Payment Method Settings Retrieves the community\'s payment method preferences' => ['AdminV2', 'paymentMethodSettings', 'retrievesTheCommunitysPaymentMethodPreferences', 'GET', '/api/admin/v2/payment_method_setting', [], [], null, 'Token secret']; + yield 'AdminV2 Paywall Affiliate Payouts Export Paywall Affiliate Payouts' => ['AdminV2', 'paywallAffiliatePayouts', 'exportPaywallAffiliatePayouts', 'POST', '/api/admin/v2/paywall_affiliate_payouts/export', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Paywall Affiliate Payouts Mark Paywall Affiliate Payouts Paid' => ['AdminV2', 'paywallAffiliatePayouts', 'markPaywallAffiliatePayoutsPaid', 'POST', '/api/admin/v2/paywall_affiliate_payouts/mark_paid', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Paywall Affiliate Payouts Start Paywall Affiliate Payouts' => ['AdminV2', 'paywallAffiliatePayouts', 'startPaywallAffiliatePayouts', 'POST', '/api/admin/v2/paywall_affiliate_payouts/start', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Paywall Affiliates Paywall Affiliates List' => ['AdminV2', 'paywallAffiliates', 'paywallAffiliatesList', 'GET', '/api/admin/v2/paywall_affiliates', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Paywall Affiliates Invite Paywall Affiliates' => ['AdminV2', 'paywallAffiliates', 'invitePaywallAffiliates', 'POST', '/api/admin/v2/paywall_affiliates/invite', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Paywall Affiliates Update Paywall Affiliate' => ['AdminV2', 'paywallAffiliates', 'updatePaywallAffiliate', 'PATCH', '/api/admin/v2/paywall_affiliates/101', [101, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Paywall Coupons Deletes a paywall coupon' => ['AdminV2', 'paywallCoupons', 'deletesAPaywallCoupon', 'DELETE', '/api/admin/v2/paywall_coupons/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Paywall Groups Create Subscription Group' => ['AdminV2', 'paywallGroups', 'createSubscriptionGroup', 'POST', '/api/admin/v2/paywall_groups', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Paywall Groups Update Subscription Group' => ['AdminV2', 'paywallGroups', 'updateSubscriptionGroup', 'PUT', '/api/admin/v2/paywall_groups/101', [101, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Paywalls Search Paywalls' => ['AdminV2', 'paywalls', 'searchPaywalls', 'GET', '/api/admin/v2/paywalls/search', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Paywalls Deletes a paywall' => ['AdminV2', 'paywalls', 'deletesAPaywall', 'DELETE', '/api/admin/v2/paywalls/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Paywalls Archives a paywall' => ['AdminV2', 'paywalls', 'archivesAPaywall', 'PUT', '/api/admin/v2/paywalls/101/archive', [101], [], null, 'Token secret']; + yield 'AdminV2 Paywalls Syncs a legacy paywall\'s member access' => ['AdminV2', 'paywalls', 'syncsALegacyPaywallsMemberAccess', 'POST', '/api/admin/v2/paywalls/101/member_access_syncs', [101], [], null, 'Token secret']; + yield 'AdminV2 Paywalls Publishes a paywall' => ['AdminV2', 'paywalls', 'publishesAPaywall', 'PUT', '/api/admin/v2/paywalls/101/publish', [101], [], null, 'Token secret']; + yield 'AdminV2 Paywalls Unarchives a paywall' => ['AdminV2', 'paywalls', 'unarchivesAPaywall', 'PUT', '/api/admin/v2/paywalls/101/unarchive', [101], [], null, 'Token secret']; + yield 'AdminV2 Post Followers Unfollow a post' => ['AdminV2', 'postFollowers', 'unfollowAPost', 'DELETE', '/api/admin/v2/posts/101/post_followers', [101, ['community_member_id' => 2]], ['community_member_id' => '2'], null, 'Token secret']; + yield 'AdminV2 Posts Create Image Post' => ['AdminV2', 'posts', 'createImagePost', 'POST', '/api/admin/v2/spaces/101/images/posts', [101, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Posts List Image Posts' => ['AdminV2', 'posts', 'listImagePosts', 'GET', '/api/admin/v2/spaces/101/images/posts', [101, ['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Posts Delete Image Post' => ['AdminV2', 'posts', 'deleteImagePost', 'DELETE', '/api/admin/v2/spaces/101/images/posts/102', [101, 102], [], null, 'Token secret']; + yield 'AdminV2 Posts Show Image Post' => ['AdminV2', 'posts', 'showImagePost', 'GET', '/api/admin/v2/spaces/101/images/posts/102', [101, 102], [], null, 'Token secret']; + yield 'AdminV2 Posts Duplicate Image Post' => ['AdminV2', 'posts', 'duplicateImagePost', 'POST', '/api/admin/v2/spaces/101/images/posts/102/duplicate', [101, 102, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Posts Create Basic Post' => ['AdminV2', 'posts', 'createBasicPost', 'POST', '/api/admin/v2/posts', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Posts List Basic Posts' => ['AdminV2', 'posts', 'listBasicPosts', 'GET', '/api/admin/v2/posts', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Posts Delete Basic Post' => ['AdminV2', 'posts', 'deleteBasicPost', 'DELETE', '/api/admin/v2/posts/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Posts Show Basic Post' => ['AdminV2', 'posts', 'showBasicPost', 'GET', '/api/admin/v2/posts/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Posts Update Basic Post' => ['AdminV2', 'posts', 'updateBasicPost', 'PUT', '/api/admin/v2/posts/101', [101, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Posts Get Post Summary' => ['AdminV2', 'posts', 'getPostSummary', 'GET', '/api/admin/v2/posts/101/summary', [101], [], null, 'Token secret']; + yield 'AdminV2 Profile Fields Archive Profile Field' => ['AdminV2', 'profileFields', 'archiveProfileField', 'PUT', '/api/admin/v2/profile_fields/101/archive', [101], [], null, 'Token secret']; + yield 'AdminV2 Profile Fields Create Profile Field' => ['AdminV2', 'profileFields', 'createProfileField', 'POST', '/api/admin/v2/profile_fields', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Profile Fields Profile Fields List' => ['AdminV2', 'profileFields', 'profileFieldsList', 'GET', '/api/admin/v2/profile_fields', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Profile Fields Delete Profile Field' => ['AdminV2', 'profileFields', 'deleteProfileField', 'DELETE', '/api/admin/v2/profile_fields/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Profile Fields Update Profile Field' => ['AdminV2', 'profileFields', 'updateProfileField', 'PUT', '/api/admin/v2/profile_fields/101', [101, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Profile Fields Unarchive Profile Field' => ['AdminV2', 'profileFields', 'unarchiveProfileField', 'PUT', '/api/admin/v2/profile_fields/101/unarchive', [101], [], null, 'Token secret']; + yield 'AdminV2 Space Group Members Create Space Group Member' => ['AdminV2', 'spaceGroupMembers', 'createSpaceGroupMember', 'POST', '/api/admin/v2/space_group_members', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Space Group Members Destroy Space Group Member' => ['AdminV2', 'spaceGroupMembers', 'destroySpaceGroupMember', 'DELETE', '/api/admin/v2/space_group_members', [['email' => 2]], ['email' => '2'], null, 'Token secret']; + yield 'AdminV2 Space Group Members List Space Group Members' => ['AdminV2', 'spaceGroupMembers', 'listSpaceGroupMembers', 'GET', '/api/admin/v2/space_group_members', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Space Group Members Show Space Group Member' => ['AdminV2', 'spaceGroupMembers', 'showSpaceGroupMember', 'GET', '/api/admin/v2/space_group_member', [['email' => 2]], ['email' => '2'], null, 'Token secret']; + yield 'AdminV2 Space Groups Create Space Group' => ['AdminV2', 'spaceGroups', 'createSpaceGroup', 'POST', '/api/admin/v2/space_groups', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Space Groups List Space Groups' => ['AdminV2', 'spaceGroups', 'listSpaceGroups', 'GET', '/api/admin/v2/space_groups', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Space Groups Delete Space Group' => ['AdminV2', 'spaceGroups', 'deleteSpaceGroup', 'DELETE', '/api/admin/v2/space_groups/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Space Groups Show Space Group' => ['AdminV2', 'spaceGroups', 'showSpaceGroup', 'GET', '/api/admin/v2/space_groups/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Space Groups Update Space Group' => ['AdminV2', 'spaceGroups', 'updateSpaceGroup', 'PUT', '/api/admin/v2/space_groups/101', [101, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Space Members Add Space Member' => ['AdminV2', 'spaceMembers', 'addSpaceMember', 'POST', '/api/admin/v2/space_members', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Space Members Remove Space Member' => ['AdminV2', 'spaceMembers', 'removeSpaceMember', 'DELETE', '/api/admin/v2/space_members', [['email' => 2]], ['email' => '2'], null, 'Token secret']; + yield 'AdminV2 Space Members List Space Members' => ['AdminV2', 'spaceMembers', 'listSpaceMembers', 'GET', '/api/admin/v2/space_members', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Space Members Show Space Member' => ['AdminV2', 'spaceMembers', 'showSpaceMember', 'GET', '/api/admin/v2/space_member', [['email' => 2]], ['email' => '2'], null, 'Token secret']; + yield 'AdminV2 Spaces Summarize a space' => ['AdminV2', 'spaces', 'summarizeASpace', 'GET', '/api/admin/v2/spaces/101/ai_summaries', [101, ['date_from' => 2]], ['date_from' => '2'], null, 'Token secret']; + yield 'AdminV2 Spaces Create Space' => ['AdminV2', 'spaces', 'createSpace', 'POST', '/api/admin/v2/spaces', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Spaces List Spaces' => ['AdminV2', 'spaces', 'listSpaces', 'GET', '/api/admin/v2/spaces', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Spaces Delete a space' => ['AdminV2', 'spaces', 'deleteASpace', 'DELETE', '/api/admin/v2/spaces/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Spaces Show a space' => ['AdminV2', 'spaces', 'showASpace', 'GET', '/api/admin/v2/spaces/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Spaces Update Space' => ['AdminV2', 'spaces', 'updateSpace', 'PUT', '/api/admin/v2/spaces/101', [101, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Tagged Members Create Tagged Member' => ['AdminV2', 'taggedMembers', 'createTaggedMember', 'POST', '/api/admin/v2/tagged_members', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Tagged Members Delete Tagged Member' => ['AdminV2', 'taggedMembers', 'deleteTaggedMember', 'DELETE', '/api/admin/v2/tagged_members', [['user_email' => 2]], ['user_email' => '2'], null, 'Token secret']; + yield 'AdminV2 Tagged Members List Tagged Members' => ['AdminV2', 'taggedMembers', 'listTaggedMembers', 'GET', '/api/admin/v2/tagged_members', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Tagged Members Get Tagged Member' => ['AdminV2', 'taggedMembers', 'getTaggedMember', 'GET', '/api/admin/v2/tagged_members/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Tax Settings Get tax settings' => ['AdminV2', 'taxSettings', 'getTaxSettings', 'GET', '/api/admin/v2/tax_setting', [], [], null, 'Token secret']; + yield 'AdminV2 Tax Settings Update tax settings' => ['AdminV2', 'taxSettings', 'updateTaxSettings', 'PUT', '/api/admin/v2/tax_setting', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Topics Create a topic' => ['AdminV2', 'topics', 'createATopic', 'POST', '/api/admin/v2/topics', [['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Topics List topics' => ['AdminV2', 'topics', 'listTopics', 'GET', '/api/admin/v2/topics', [['page' => 2]], ['page' => '2'], null, 'Token secret']; + yield 'AdminV2 Topics Delete a topic' => ['AdminV2', 'topics', 'deleteATopic', 'DELETE', '/api/admin/v2/topics/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Topics Show topic details' => ['AdminV2', 'topics', 'showTopicDetails', 'GET', '/api/admin/v2/topics/101', [101], [], null, 'Token secret']; + yield 'AdminV2 Topics Update a topic' => ['AdminV2', 'topics', 'updateATopic', 'PUT', '/api/admin/v2/topics/101', [101, ['example' => 'value']], [], ['example' => 'value'], 'Token secret']; + yield 'AdminV2 Workflows Activate an automation (dynamic) workflow so it starts running automatically' => ['AdminV2', 'workflows', 'activateAnAutomationDynamicWorkflowSoItStartsRunningAutomatically', 'PUT', '/api/admin/v2/workflows/101/activate', [101], [], null, 'Token secret']; + yield 'AdminV2 Workflows Deactivate an automation (dynamic) workflow so it stops running automatically' => ['AdminV2', 'workflows', 'deactivateAnAutomationDynamicWorkflowSoItStopsRunningAutomatically', 'PUT', '/api/admin/v2/workflows/101/deactivate', [101], [], null, 'Token secret']; + yield 'AdminV2 Workflows Duplicate a workflow' => ['AdminV2', 'workflows', 'duplicateAWorkflow', 'POST', '/api/admin/v2/workflows/101/duplicate', [101], [], null, 'Token secret']; + yield 'AdminV2 Workflows List a community\'s automations/workflows' => ['AdminV2', 'workflows', 'listACommunitysAutomationsWorkflows', 'GET', '/api/admin/v2/workflows', [['query' => 2]], ['query' => '2'], null, 'Token secret']; + yield 'AdminV2 Workflows Get Workflow' => ['AdminV2', 'workflows', 'getWorkflow', 'GET', '/api/admin/v2/workflows/101', [101], [], null, 'Token secret']; + yield 'HeadlessAuth Headless Refresh an access token' => ['HeadlessAuth', 'tokens', 'refreshAnAccessToken', 'PATCH', '/api/v1/headless/access_token/refresh', [['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessAuth Headless Revoke an access token' => ['HeadlessAuth', 'tokens', 'revokeAnAccessToken', 'POST', '/api/v1/headless/access_token/revoke', [['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessAuth Headless Create/Get an auth token' => ['HeadlessAuth', 'tokens', 'createGetAnAuthToken', 'POST', '/api/v1/headless/auth_token', [['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessAuth Headless Revoke a refresh token' => ['HeadlessAuth', 'tokens', 'revokeARefreshToken', 'POST', '/api/v1/headless/refresh_token/revoke', [['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Advanced Search Advanced Search' => ['HeadlessMember', 'advancedSearch', 'advancedSearch', 'GET', '/api/headless/v1/advanced_search', [['page' => 2]], ['page' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Bookmarks Create a bookmark' => ['HeadlessMember', 'bookmarks', 'createABookmark', 'POST', '/api/headless/v1/bookmarks', [['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Bookmarks Get bookmarks paginated list' => ['HeadlessMember', 'bookmarks', 'getBookmarksPaginatedList', 'GET', '/api/headless/v1/bookmarks', [['page' => 2]], ['page' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Bookmarks Delete a bookmark' => ['HeadlessMember', 'bookmarks', 'deleteABookmark', 'DELETE', '/api/headless/v1/bookmarks/101', [101], [], null, 'Bearer secret']; + yield 'HeadlessMember Chat Room Create chat room message' => ['HeadlessMember', 'chatRoom', 'createChatRoomMessage', 'POST', '/api/headless/v1/messages/101/chat_room_messages', [101, ['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Chat Room Fetch chat room messages' => ['HeadlessMember', 'chatRoom', 'fetchChatRoomMessages', 'GET', '/api/headless/v1/messages/101/chat_room_messages', [101, ['id' => 2]], ['id' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Chat Room Delete chat room message' => ['HeadlessMember', 'chatRoom', 'deleteChatRoomMessage', 'DELETE', '/api/headless/v1/messages/101/chat_room_messages/102', [101, 102], [], null, 'Bearer secret']; + yield 'HeadlessMember Chat Room Get chat room message' => ['HeadlessMember', 'chatRoom', 'getChatRoomMessage', 'GET', '/api/headless/v1/messages/101/chat_room_messages/102', [101, 102], [], null, 'Bearer secret']; + yield 'HeadlessMember Chat Room Update chat room message' => ['HeadlessMember', 'chatRoom', 'updateChatRoomMessage', 'PUT', '/api/headless/v1/messages/101/chat_room_messages/102', [101, 102, ['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Chat Room Get chat room participants' => ['HeadlessMember', 'chatRoom', 'getChatRoomParticipants', 'GET', '/api/headless/v1/messages/101/chat_room_participants', [101, ['page' => 2]], ['page' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Chat Room Update chat room participant' => ['HeadlessMember', 'chatRoom', 'updateChatRoomParticipant', 'PUT', '/api/headless/v1/messages/101/chat_room_participants/102', [101, 102, ['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Chat Room Create a chat room' => ['HeadlessMember', 'chatRoom', 'createAChatRoom', 'POST', '/api/headless/v1/messages', [['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Chat Room Get chat rooms' => ['HeadlessMember', 'chatRoom', 'getChatRooms', 'GET', '/api/headless/v1/messages', [['page' => 2]], ['page' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Chat Room Mark all messages in a chat room as read' => ['HeadlessMember', 'chatRoom', 'markAllMessagesInAChatRoomAsRead', 'POST', '/api/headless/v1/messages/101/mark_all_as_read', [101], [], null, 'Bearer secret']; + yield 'HeadlessMember Chat Room Get chat room details' => ['HeadlessMember', 'chatRoom', 'getChatRoomDetails', 'GET', '/api/headless/v1/messages/101', [101], [], null, 'Bearer secret']; + yield 'HeadlessMember Chat Room Get unread chat rooms' => ['HeadlessMember', 'chatRoom', 'getUnreadChatRooms', 'GET', '/api/headless/v1/messages/unread_chat_rooms', [], [], null, 'Bearer secret']; + yield 'HeadlessMember Chat Room Create a reaction on a chat room message' => ['HeadlessMember', 'chatRoom', 'createAReactionOnAChatRoomMessage', 'POST', '/api/headless/v1/reactions', [['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Chat Room Remove a reaction from a chat room message' => ['HeadlessMember', 'chatRoom', 'removeAReactionFromAChatRoomMessage', 'DELETE', '/api/headless/v1/reactions', [['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Chat Threads List chat threads' => ['HeadlessMember', 'chatThreads', 'listChatThreads', 'GET', '/api/headless/v1/chat_threads', [['page' => 2]], ['page' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Chat Threads Get chat thread' => ['HeadlessMember', 'chatThreads', 'getChatThread', 'GET', '/api/headless/v1/chat_threads/101', [101], [], null, 'Bearer secret']; + yield 'HeadlessMember Chat Threads Get unread chat threads' => ['HeadlessMember', 'chatThreads', 'getUnreadChatThreads', 'GET', '/api/headless/v1/chat_threads/unread_chat_threads', [], [], null, 'Bearer secret']; + yield 'HeadlessMember Comments Create a comment for a post' => ['HeadlessMember', 'comments', 'createACommentForAPost', 'POST', '/api/headless/v1/posts/101/comments', [101, ['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Comments Get list of comments for a post' => ['HeadlessMember', 'comments', 'getListOfCommentsForAPost', 'GET', '/api/headless/v1/posts/101/comments', [101, ['page' => 2]], ['page' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Comments Delete a comment for a post' => ['HeadlessMember', 'comments', 'deleteACommentForAPost', 'DELETE', '/api/headless/v1/posts/101/comments/102', [101, 102], [], null, 'Bearer secret']; + yield 'HeadlessMember Comments Get a comment for a post' => ['HeadlessMember', 'comments', 'getACommentForAPost', 'GET', '/api/headless/v1/posts/101/comments/102', [101, 102], [], null, 'Bearer secret']; + yield 'HeadlessMember Comments Update a comment for a post' => ['HeadlessMember', 'comments', 'updateACommentForAPost', 'PATCH', '/api/headless/v1/posts/101/comments/102', [101, 102, ['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Comments Create a reply for a comment' => ['HeadlessMember', 'comments', 'createAReplyForAComment', 'POST', '/api/headless/v1/comments/101/replies', [101, ['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Comments Get list of replies for a comment' => ['HeadlessMember', 'comments', 'getListOfRepliesForAComment', 'GET', '/api/headless/v1/comments/101/replies', [101, ['page' => 2]], ['page' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Comments Delete a reply for a comment' => ['HeadlessMember', 'comments', 'deleteAReplyForAComment', 'DELETE', '/api/headless/v1/comments/101/replies/102', [101, 102], [], null, 'Bearer secret']; + yield 'HeadlessMember Comments Get a reply for a comment' => ['HeadlessMember', 'comments', 'getAReplyForAComment', 'GET', '/api/headless/v1/comments/101/replies/102', [101, 102], [], null, 'Bearer secret']; + yield 'HeadlessMember Comments Update a reply for a comment' => ['HeadlessMember', 'comments', 'updateAReplyForAComment', 'PATCH', '/api/headless/v1/comments/101/replies/102', [101, 102, ['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Comments Create a user like for a comment' => ['HeadlessMember', 'comments', 'createAUserLikeForAComment', 'POST', '/api/headless/v1/comments/101/user_likes', [101, ['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Comments Destroy a user like for a comment' => ['HeadlessMember', 'comments', 'destroyAUserLikeForAComment', 'DELETE', '/api/headless/v1/comments/101/user_likes', [101], [], null, 'Bearer secret']; + yield 'HeadlessMember Comments Get list of users who liked a comment' => ['HeadlessMember', 'comments', 'getListOfUsersWhoLikedAComment', 'GET', '/api/headless/v1/comments/101/user_likes', [101, ['page' => 2]], ['page' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Community Links Get list of community links' => ['HeadlessMember', 'communityLinks', 'getListOfCommunityLinks', 'GET', '/api/headless/v1/community_links', [], [], null, 'Bearer secret']; + yield 'HeadlessMember Community Members Get paginated list of comments for a community member ID' => ['HeadlessMember', 'communityMembers', 'comments', 'GET', '/api/headless/v1/community_members/101/comments', [101, ['page' => 2]], ['page' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Community Members Deactivate a non-admin and non-owner community member' => ['HeadlessMember', 'communityMembers', 'deactivateANonAdminAndNonOwnerCommunityMember', 'DELETE', '/api/headless/v1/community_member/deactivate', [], [], null, 'Bearer secret']; + yield 'HeadlessMember Community Members Get community members paginated list' => ['HeadlessMember', 'communityMembers', 'getCommunityMembersPaginatedList', 'GET', '/api/headless/v1/community_members', [['page' => 2]], ['page' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Community Members Get paginated list of posts for a community member ID' => ['HeadlessMember', 'communityMembers', 'posts', 'GET', '/api/headless/v1/community_members/101/posts', [101, ['page' => 2]], ['page' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Community Members Get current community member details' => ['HeadlessMember', 'communityMembers', 'getCurrentCommunityMemberDetails', 'GET', '/api/headless/v1/community_member', [], [], null, 'Bearer secret']; + yield 'HeadlessMember Community Members Get spaces for a community member ID' => ['HeadlessMember', 'communityMembers', 'spaces', 'GET', '/api/headless/v1/community_members/101/spaces', [101, ['page' => 2]], ['page' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Community Members Update community member profile' => ['HeadlessMember', 'communityMembers', 'updateCommunityMemberProfile', 'PUT', '/api/headless/v1/profile', [['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Community Members Get public profile details for a community member ID' => ['HeadlessMember', 'communityMembers', 'getPublicProfileDetailsForACommunityMemberId', 'GET', '/api/headless/v1/community_members/101/public_profile', [101], [], null, 'Bearer secret']; + yield 'HeadlessMember Community Members Search community members' => ['HeadlessMember', 'communityMembers', 'searchCommunityMembers', 'POST', '/api/headless/v1/search/community_members', [['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Confirm Member Profile Update and confirm community member profile' => ['HeadlessMember', 'confirmMemberProfile', 'updateAndConfirmCommunityMemberProfile', 'PUT', '/api/headless/v1/signup/profile', [['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Cookies Create cookies' => ['HeadlessMember', 'cookies', 'createCookies', 'POST', '/api/headless/v1/cookies', [], [], null, 'Bearer secret']; + yield 'HeadlessMember Cookies Destroy cookies' => ['HeadlessMember', 'cookies', 'destroyCookies', 'DELETE', '/api/headless/v1/cookies', [], [], null, 'Bearer secret']; + yield 'HeadlessMember Courses Get list of files in a lesson' => ['HeadlessMember', 'courses', 'getListOfFilesInALesson', 'GET', '/api/headless/v1/courses/101/lessons/102/files', [101, 102, ['page' => 2]], ['page' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Courses Update a lesson progress' => ['HeadlessMember', 'courses', 'updateALessonProgress', 'PATCH', '/api/headless/v1/courses/101/lessons/102/progress', [101, 102, ['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Courses Get a lesson in a course' => ['HeadlessMember', 'courses', 'getALessonInACourse', 'GET', '/api/headless/v1/courses/101/lessons/102', [101, 102], [], null, 'Bearer secret']; + yield 'HeadlessMember Courses Get list of sections in a course' => ['HeadlessMember', 'courses', 'getListOfSectionsInACourse', 'GET', '/api/headless/v1/courses/101/sections', [101], [], null, 'Bearer secret']; + yield 'HeadlessMember Courses Get course topics' => ['HeadlessMember', 'courses', 'getCourseTopics', 'GET', '/api/headless/v1/course_topics', [['page' => 2]], ['page' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Direct Uploads Create a direct upload' => ['HeadlessMember', 'directUploads', 'createADirectUpload', 'POST', '/api/headless/v1/direct_uploads', [['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Events Get list of community events' => ['HeadlessMember', 'events', 'getListOfCommunityEvents', 'GET', '/api/headless/v1/community_events', [['page' => 2]], ['page' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Events Create an event attendee' => ['HeadlessMember', 'events', 'createAnEventAttendee', 'POST', '/api/headless/v1/events/101/event_attendees', [101], [], null, 'Bearer secret']; + yield 'HeadlessMember Events Destroy an event attendee' => ['HeadlessMember', 'events', 'destroyAnEventAttendee', 'DELETE', '/api/headless/v1/events/101/event_attendees', [101], [], null, 'Bearer secret']; + yield 'HeadlessMember Events List event attendees' => ['HeadlessMember', 'events', 'listEventAttendees', 'GET', '/api/headless/v1/events/101/event_attendees', [101, ['page' => 2]], ['page' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Events List recurring events' => ['HeadlessMember', 'events', 'listRecurringEvents', 'GET', '/api/headless/v1/spaces/101/events/102/recurring_events', [101, 102, ['page' => 2]], ['page' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Events Update recurring event RSVP for the provided event ids' => ['HeadlessMember', 'events', 'updateRecurringEventRsvp', 'PUT', '/api/headless/v1/spaces/101/events/102/recurring_events/rsvp', [101, 102, ['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Flagged Contents Flag content' => ['HeadlessMember', 'flaggedContents', 'flagContent', 'POST', '/api/headless/v1/flagged_contents', [['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Home Page Get home page posts' => ['HeadlessMember', 'homePage', 'getHomePagePosts', 'GET', '/api/headless/v1/home', [['page' => 2]], ['page' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Invitation Links Join community using invitation link' => ['HeadlessMember', 'invitationLinks', 'joinCommunityUsingInvitationLink', 'POST', '/api/headless/v1/invitation_links/101/join', [101], [], null, 'Bearer secret']; + yield 'HeadlessMember Live Streams Create a live stream room' => ['HeadlessMember', 'liveStreams', 'createALiveStreamRoom', 'POST', '/api/headless/v1/live_streams/rooms', [['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Notification Preferences Get notification preferences for a medium' => ['HeadlessMember', 'notificationPreferences', 'getNotificationPreferencesForAMedium', 'GET', '/api/headless/v1/notification_preferences/101', [101], [], null, 'Bearer secret']; + yield 'HeadlessMember Notification Preferences Update notification preferences for a medium' => ['HeadlessMember', 'notificationPreferences', 'updateNotificationPreferencesForAMedium', 'PUT', '/api/headless/v1/notification_preferences/101', [101, ['type' => 2]], ['type' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Notification Preferences Get space notification preferences for the provided space member ID' => ['HeadlessMember', 'notificationPreferences', 'getSpaceNotificationPreferencesForTheProvidedSpaceMemberId', 'GET', '/api/headless/v1/notification_preferences/space_members/101', [101], [], null, 'Bearer secret']; + yield 'HeadlessMember Notification Preferences Update notification preferences for all the spaces for the community member for the provided medium' => ['HeadlessMember', 'notificationPreferences', 'updateAllSpaces', 'PUT', '/api/headless/v1/notification_preferences/101/spaces', [101, ['choice' => 2]], ['choice' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Notification Preferences Update notification preferences for a space member for the provided medium' => ['HeadlessMember', 'notificationPreferences', 'updateSpace', 'PUT', '/api/headless/v1/notification_preferences/101/spaces/102', [101, 102, ['choice' => 2]], ['choice' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Notifications Archive a notification' => ['HeadlessMember', 'notifications', 'archiveANotification', 'POST', '/api/headless/v1/notifications/101/archive', [101], [], null, 'Bearer secret']; + yield 'HeadlessMember Notifications Delete a notification' => ['HeadlessMember', 'notifications', 'deleteANotification', 'DELETE', '/api/headless/v1/notifications/101', [101], [], null, 'Bearer secret']; + yield 'HeadlessMember Notifications Get a paginated list of notifications' => ['HeadlessMember', 'notifications', 'getAPaginatedListOfNotifications', 'GET', '/api/headless/v1/notifications', [['page' => 2]], ['page' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Notifications Mark all notifications as read' => ['HeadlessMember', 'notifications', 'markAllNotificationsAsRead', 'POST', '/api/headless/v1/notifications/mark_all_as_read', [['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Notifications Mark a notification as read' => ['HeadlessMember', 'notifications', 'markANotificationAsRead', 'POST', '/api/headless/v1/notifications/101/mark_as_read', [101], [], null, 'Bearer secret']; + yield 'HeadlessMember Notifications Get new notifications count' => ['HeadlessMember', 'notifications', 'getNewNotificationsCount', 'GET', '/api/headless/v1/notifications/new_notifications_count', [], [], null, 'Bearer secret']; + yield 'HeadlessMember Notifications Reset new notifications count' => ['HeadlessMember', 'notifications', 'resetNewNotificationsCount', 'POST', '/api/headless/v1/notifications/reset_new_notifications_count', [], [], null, 'Bearer secret']; + yield 'HeadlessMember Page Profile Fields Get Page Profile Fields' => ['HeadlessMember', 'pageProfileFields', 'getPageProfileFields', 'GET', '/api/headless/v1/page_profile_fields', [['page_name' => 2]], ['page_name' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Posts Create an image post' => ['HeadlessMember', 'posts', 'createAnImagePost', 'POST', '/api/headless/v1/spaces/101/images/posts', [101, ['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Posts Update an image post' => ['HeadlessMember', 'posts', 'updateAnImagePost', 'PUT', '/api/headless/v1/spaces/101/images/posts/102', [101, 102, ['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Posts Follow a post' => ['HeadlessMember', 'posts', 'followAPost', 'POST', '/api/headless/v1/posts/101/post_followers', [101], [], null, 'Bearer secret']; + yield 'HeadlessMember Posts Unfollow a post' => ['HeadlessMember', 'posts', 'unfollowAPost', 'DELETE', '/api/headless/v1/posts/101/post_followers', [101], [], null, 'Bearer secret']; + yield 'HeadlessMember Posts Unfollow a post with ID' => ['HeadlessMember', 'posts', 'unfollowAPostWithId', 'DELETE', '/api/headless/v1/posts/101/post_followers/102', [101, 102], [], null, 'Bearer secret']; + yield 'HeadlessMember Posts Create a post' => ['HeadlessMember', 'posts', 'createAPost', 'POST', '/api/headless/v1/spaces/101/posts', [101, ['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Posts Get list of posts in a space' => ['HeadlessMember', 'posts', 'getListOfPostsInASpace', 'GET', '/api/headless/v1/spaces/101/posts', [101, ['page' => 2]], ['page' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Posts Delete a post' => ['HeadlessMember', 'posts', 'deleteAPost', 'DELETE', '/api/headless/v1/spaces/101/posts/102', [101, 102], [], null, 'Bearer secret']; + yield 'HeadlessMember Posts Get a post' => ['HeadlessMember', 'posts', 'getAPost', 'GET', '/api/headless/v1/spaces/101/posts/102', [101, 102], [], null, 'Bearer secret']; + yield 'HeadlessMember Posts Create a user like for a post' => ['HeadlessMember', 'posts', 'createAUserLikeForAPost', 'POST', '/api/headless/v1/posts/101/user_likes', [101, ['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Posts Destroy a user like for a post' => ['HeadlessMember', 'posts', 'destroyAUserLikeForAPost', 'DELETE', '/api/headless/v1/posts/101/user_likes', [101], [], null, 'Bearer secret']; + yield 'HeadlessMember Posts Get list of users who liked a post' => ['HeadlessMember', 'posts', 'getListOfUsersWhoLikedAPost', 'GET', '/api/headless/v1/posts/101/user_likes', [101, ['page' => 2]], ['page' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Quizzes Get latest quiz attempts for a course (for admins)' => ['HeadlessMember', 'quizzes', 'getLatestQuizAttemptsForACourseForAdmins', 'GET', '/api/headless/v1/courses/101/quiz_attempts', [101, ['page' => 2]], ['page' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Quizzes Create a quiz attempt' => ['HeadlessMember', 'quizzes', 'createAQuizAttempt', 'POST', '/api/headless/v1/quizzes/101/attempts', [101, ['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Quizzes Get a quiz attempt' => ['HeadlessMember', 'quizzes', 'getAQuizAttempt', 'GET', '/api/headless/v1/quizzes/101/attempts/102', [101, 102, ['for_admin_review' => 2]], ['for_admin_review' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Quizzes Update a quiz attempt result when passing grade is not set' => ['HeadlessMember', 'quizzes', 'updateAttemptResult', 'PUT', '/api/headless/v1/quizzes/101/attempts/102', [101, 102, ['example' => 'value']], [], ['example' => 'value'], 'Bearer secret']; + yield 'HeadlessMember Search Search' => ['HeadlessMember', 'search', 'search', 'GET', '/api/headless/v1/search', [['search_text' => 2]], ['search_text' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Space Members Mark space member messages as read' => ['HeadlessMember', 'spaceMembers', 'markSpaceMemberMessagesAsRead', 'POST', '/api/headless/v1/space_members/101/mark_as_read', [101], [], null, 'Bearer secret']; + yield 'HeadlessMember Spaces Get space notification details' => ['HeadlessMember', 'spaces', 'getSpaceNotificationDetails', 'GET', '/api/headless/v1/space_notification_details', [['space_ids' => 2]], ['space_ids' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Spaces Get space bookmarks' => ['HeadlessMember', 'spaces', 'getSpaceBookmarks', 'GET', '/api/headless/v1/spaces/101/bookmarks', [101, ['page' => 2]], ['page' => '2'], null, 'Bearer secret']; + yield 'HeadlessMember Spaces Get home space details' => ['HeadlessMember', 'spaces', 'getHomeSpaceDetails', 'GET', '/api/headless/v1/spaces/home', [], [], null, 'Bearer secret']; + yield 'HeadlessMember Spaces Get list of spaces' => ['HeadlessMember', 'spaces', 'getListOfSpaces', 'GET', '/api/headless/v1/spaces', [], [], null, 'Bearer secret']; + yield 'HeadlessMember Spaces Join a space by id' => ['HeadlessMember', 'spaces', 'joinASpaceById', 'POST', '/api/headless/v1/spaces/101/join', [101], [], null, 'Bearer secret']; + yield 'HeadlessMember Spaces Leave a space by id' => ['HeadlessMember', 'spaces', 'leaveASpaceById', 'POST', '/api/headless/v1/spaces/101/leave', [101], [], null, 'Bearer secret']; + yield 'HeadlessMember Spaces Get space details' => ['HeadlessMember', 'spaces', 'getSpaceDetails', 'GET', '/api/headless/v1/spaces/101', [101], [], null, 'Bearer secret']; + yield 'HeadlessMember Spaces Get space topics' => ['HeadlessMember', 'spaces', 'getSpaceTopics', 'GET', '/api/headless/v1/spaces/101/topics', [101, ['page' => 2]], ['page' => '2'], null, 'Bearer secret']; + } +} diff --git a/tests/Endpoint/V1EndpointCoverageTest.php b/tests/Endpoint/V1EndpointCoverageTest.php index 20092c3..db02861 100644 --- a/tests/Endpoint/V1EndpointCoverageTest.php +++ b/tests/Endpoint/V1EndpointCoverageTest.php @@ -61,6 +61,22 @@ public function test_v1_endpoint( */ public static function endpointProvider(): iterable { + yield 'spaces show' => [ + 'GET', '/api/v1/spaces/2', + static fn (CircleSo $sdk): mixed => $sdk->spaces()->show(2, 5), + ]; + yield 'spaces create' => [ + 'POST', '/api/v1/spaces', + static fn (CircleSo $sdk): mixed => $sdk->spaces()->create(['name' => 'Space'], 5), + ]; + yield 'spaces delete' => [ + 'DELETE', '/api/v1/spaces/2', + static fn (CircleSo $sdk): mixed => $sdk->spaces()->delete(2, 5), + ]; + yield 'space members index' => [ + 'GET', '/api/v1/space_members', + static fn (CircleSo $sdk): mixed => $sdk->spaces()->members(2, 5), + ]; yield 'space group member show' => [ 'GET', '/api/v1/space_group_member', static fn (CircleSo $sdk): mixed => $sdk->spaceGroupMembers()->show('a@example.com', 2, 5), diff --git a/tests/stubs/responses/admin_v2_examples.json b/tests/stubs/responses/admin_v2_examples.json new file mode 100644 index 0000000..846678a --- /dev/null +++ b/tests/stubs/responses/admin_v2_examples.json @@ -0,0 +1,4065 @@ +{ + "POST /api/admin/v2/access_groups/101/community_members": { + "message": "Member has been added to 'ACCESS_GROUP_NAME' access group." + }, + "DELETE /api/admin/v2/access_groups/101/community_members": { + "message": "Member removed from 'ACCESS_GROUP_NAME' access group." + }, + "GET /api/admin/v2/access_groups/101/community_members": { + "page": 1, + "per_page": 60, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "id": 2, + "access_group_id": 1, + "community_member_id": 2, + "community_id": 2, + "created_at": "2024-09-11T12:48:42.000Z", + "updated_at": "2024-09-11T12:48:42.000Z" + }, + { + "id": 1, + "access_group_id": 1, + "community_member_id": 1, + "community_id": 2, + "created_at": "2024-09-11T12:48:42.000Z", + "updated_at": "2024-09-11T12:48:42.000Z" + } + ] + }, + "GET /api/admin/v2/access_groups/101/community_member": { + "id": 1, + "access_group_id": 1, + "community_member_id": 1, + "community_id": 1, + "created_at": "2024-09-12T12:03:02.000Z", + "updated_at": "2024-09-12T12:03:02.000Z" + }, + "POST /api/admin/v2/access_groups": { + "id": 1, + "name": "Test Access Group", + "status": "active", + "description": "Test description for access group", + "community_id": 1, + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" + }, + "GET /api/admin/v2/access_groups": { + "page": 1, + "per_page": 60, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "id": 2, + "name": "Group Two", + "status": "active", + "community_id": 1, + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z", + "description": "Group Two Description" + }, + { + "id": 1, + "name": "Group One", + "status": "active", + "community_id": 1, + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z", + "description": "Group One Description" + } + ] + }, + "DELETE /api/admin/v2/access_groups/101": { + "success": true, + "message": "Access group archived" + }, + "PUT /api/admin/v2/access_groups/101": { + "id": 1, + "name": "Updated Name", + "status": "active", + "description": "Updated Description", + "community_id": 1, + "created_at": "2024-01-01T00:00:00Z", + "updated_at": "2024-01-01T00:00:00Z" + }, + "PATCH /api/admin/v2/access_groups/101/unarchive": { + "id": 1, + "name": "Test Access Group", + "status": "active", + "description": "Test Description", + "community_id": 1, + "created_at": "2024-01-01T00:00:00Z", + "updated_at": "2024-01-01T00:00:00Z" + }, + "GET /api/admin/v2/advanced_search": { + "page": 1, + "has_next_page": false, + "count": 2, + "page_count": 2, + "per_page": 20, + "records": [ + { + "id": 5, + "type": "space", + "name": "test-course", + "slug": "post-f660aa", + "emoji": null, + "custom_emoji_url": "http://welch.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://welch.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "highlighted_name": "test-course", + "sgid": "SGID" + }, + { + "id": 4, + "type": "space", + "name": "Test Members Space", + "slug": "post-e1ad1d", + "emoji": null, + "custom_emoji_url": "http://welch.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://welch.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "highlighted_name": "Test Members Space", + "sgid": "SGID" + } + ] + }, + "PUT /api/admin/v2/chat_preferences": { + "id": 1, + "messaging_enabled": true, + "group_messaging_enabled": true, + "voice_messages_enabled": true, + "member_to_member_messaging_enabled": true + }, + "POST /api/admin/v2/comments": { + "id": 2, + "parent_comment_id": 1, + "flagged_for_approval_at": null, + "created_at": "2024-09-03T08:59:50.111Z", + "body": { + "id": 3, + "name": "body", + "body": "First comment", + "record_type": "Comment", + "record_id": 2, + "created_at": "2024-09-03T08:59:50.000Z", + "updated_at": "2024-09-03T08:59:50.000Z" + }, + "user": { + "id": 2, + "name": "Dulce Hauck", + "avatar_url": "https://secure.gravatar.com/avatar/e8e59111d32b648a5d74689a04ecda4c?default=404&secure=true&size=300", + "email": "francoise.schmitt@harber-huels.org" + }, + "post": { + "id": 1, + "name": "First post", + "slug": "lind" + }, + "space": { + "id": 1, + "slug": "comment", + "name": "comment" + }, + "url": "http://ratke.circledev.net:31337/c/comment/lind#comment_wrapper_2", + "community_id": 1, + "likes_count": 0, + "user_posts_count": 1, + "user_likes_count": 0, + "user_comments_count": 2 + }, + "GET /api/admin/v2/comments": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "id": 2, + "parent_comment_id": 12, + "flagged_for_approval_at": "2024-09-04T06:55:07.879Z", + "created_at": "2024-09-02T06:55:07.879Z", + "body": { + "id": 4, + "name": "body", + "body": "Second comment", + "record_type": "Comment", + "record_id": 2, + "created_at": "2024-09-02T06:55:07.000Z", + "updated_at": "2024-09-02T06:55:07.000Z" + }, + "user": { + "id": 2, + "name": "Alfonzo Treutel", + "avatar_url": "https://secure.gravatar.com/avatar/0b0d8721ad4cbc76065f8f7992650ea7?default=404&secure=true&size=300", + "email": "tomika@upton-lemke.io" + }, + "post": { + "id": 2, + "name": "First post", + "slug": "leuschke" + }, + "space": { + "id": 1, + "slug": "comment", + "name": "comment" + }, + "url": "http://mccullough-fay.circledev.net:31337/c/comment/leuschke#comment_wrapper_2", + "community_id": 1, + "likes_count": 0, + "user_posts_count": 2, + "user_likes_count": 0, + "user_comments_count": 2 + }, + { + "id": 1, + "parent_comment_id": null, + "flagged_for_approval_at": null, + "created_at": "2024-09-02T06:55:07.864Z", + "body": { + "id": 3, + "name": "body", + "body": "First comment", + "record_type": "Comment", + "record_id": 1, + "created_at": "2024-09-02T06:55:07.000Z", + "updated_at": "2024-09-02T06:55:07.000Z" + }, + "user": { + "id": 2, + "name": "Alfonzo Treutel", + "avatar_url": "https://secure.gravatar.com/avatar/0b0d8721ad4cbc76065f8f7992650ea7?default=404&secure=true&size=300", + "email": "tomika@upton-lemke.io" + }, + "post": { + "id": 2, + "name": "First post", + "slug": "leuschke" + }, + "space": { + "id": 1, + "slug": "comment", + "name": "comment" + }, + "url": "http://mccullough-fay.circledev.net:31337/c/comment/leuschke#comment_wrapper_1", + "community_id": 1, + "likes_count": 0, + "user_posts_count": 2, + "user_likes_count": 0, + "user_comments_count": 2, + "replies_count": 1 + } + ] + }, + "DELETE /api/admin/v2/comments/101": { + "message": "Comment deleted." + }, + "GET /api/admin/v2/comments/101": { + "id": 1, + "parent_comment_id": null, + "flagged_for_approval_at": null, + "created_at": "2024-09-09T16:10:35.597Z", + "body": { + "id": 2, + "name": "body", + "body": "First comment", + "record_type": "Comment", + "record_id": 1, + "created_at": "2024-09-09T16:10:35.000Z", + "updated_at": "2024-09-09T16:10:35.000Z" + }, + "user": { + "id": 2, + "name": "Norman Cronin JD", + "avatar_url": "https://secure.gravatar.com/avatar/9e6c9fdd020092f3b08403df25b52e1a?default=404&secure=true&size=300", + "email": "lois_herzog@boyle.io" + }, + "post": { + "id": 1, + "name": "First post", + "slug": "williamson" + }, + "space": { + "id": 1, + "slug": "distinctio", + "name": "maxime" + }, + "url": "http://corwin.circledev.net:31337/c/distinctio/williamson#comment_wrapper_1", + "community_id": 1, + "likes_count": 0, + "user_posts_count": 1, + "user_likes_count": 0, + "user_comments_count": 2, + "replies_count": 1, + "replies": [ + { + "id": 2, + "parent_comment_id": 1, + "flagged_for_approval_at": null, + "created_at": "2024-09-09T16:10:35.612Z", + "body": { + "id": 3, + "name": "body", + "body": "Second comment", + "record_type": "Comment", + "record_id": 2, + "created_at": "2024-09-09T16:10:35.000Z", + "updated_at": "2024-09-09T16:10:35.000Z" + }, + "user": { + "id": 2, + "name": "Norman Cronin JD", + "avatar_url": "https://secure.gravatar.com/avatar/9e6c9fdd020092f3b08403df25b52e1a?default=404&secure=true&size=300", + "email": "lois_herzog@boyle.io" + }, + "post": { + "id": 1, + "name": "First post", + "slug": "williamson" + }, + "space": { + "id": 1, + "slug": "distinctio", + "name": "maxime" + }, + "url": "http://corwin.circledev.net:31337/c/distinctio/williamson#comment_wrapper_2", + "community_id": 1, + "likes_count": 0, + "user_posts_count": 1, + "user_likes_count": 0, + "user_comments_count": 2 + } + ] + }, + "GET /api/admin/v2/community": { + "id": 1, + "created_at": "2025-04-01T21:24:17.411Z", + "updated_at": "2025-04-01T21:33:43.219Z", + "name": "My Community", + "locale": "en", + "slug": "my-community", + "allow_signups_to_public_community": true, + "community_switcher_enabled": true, + "custom_cta_for_share_links": true, + "locked_post_cta_heading": "Become a member", + "locked_post_cta_body": "Please join us to continue reading this post.", + "locked_post_cta_button_text": "Sign up", + "locked_post_cta_button_url": "https://www.community.com/signup", + "custom_tos_enabled": true, + "custom_tos": "https://www.community.com/tos", + "default_existing_member_space_id": 1, + "default_logged_out_space_id": 1, + "default_new_member_space_id": 1, + "default_search_sorting": "latest", + "is_private": true, + "private_signup_link_label": "Not a member?", + "private_signup_link_url": "https://www.community.com/signup", + "reply_to_email": "support@community.com", + "white_label": true, + "weekly_digest_enabled": true, + "digest_subject": "Weekly Digest", + "digest_intro": "Here's what's happening this week.", + "digests_hide_posts": false, + "digests_hide_comments": false, + "digests_hide_stats": false, + "digests_hide_members": false, + "prefs": { + "has_posts": true, + "has_spaces": true, + "has_invited_member": true, + "brand_color": { + "light": "#000000", + "dark": "#000000" + }, + "brand_text_color": { + "light": "#FFFFFF", + "dark": "#FFFFFF" + } + }, + "community_setting": { + "id": 1, + "created_at": "2025-04-01T21:24:17.411Z", + "updated_at": "2025-04-01T21:33:43.219Z", + "ios_app_enabled": true, + "show_ios_app_banner": true, + "deactivate_account_enabled": true, + "allow_profile_search_indexing": true, + "truncate_post_body_in_email_notifications": true, + "hide_emails_on_member_profiles": true, + "allow_members_to_go_live": true, + "enforce_otp_for_signup": true, + "community_activity_notifications_email_enabled": true, + "community_activity_notifications_in_app_enabled": true, + "desktop_app_community_visibility_enabled": true, + "allow_moderator_csv_download": true, + "member_media_uploads_enabled": true, + "default_space_ids": [ + 1, + 2 + ], + "default_logged_out_redirect_type": "Space", + "default_logged_out_redirect_id": 1 + } + }, + "PUT /api/admin/v2/community": { + "id": 1, + "created_at": "2025-04-01T21:24:17.411Z", + "updated_at": "2025-04-01T21:33:43.219Z", + "name": "My Community", + "locale": "en", + "slug": "my-community", + "allow_signups_to_public_community": true, + "community_switcher_enabled": true, + "custom_cta_for_share_links": true, + "locked_post_cta_heading": "Become a member", + "locked_post_cta_body": "Please join us to continue reading this post.", + "locked_post_cta_button_text": "Sign up", + "locked_post_cta_button_url": "https://www.community.com/signup", + "custom_tos_enabled": true, + "custom_tos": "https://www.community.com/tos", + "default_existing_member_space_id": 1, + "default_logged_out_space_id": 1, + "default_new_member_space_id": 1, + "default_search_sorting": "latest", + "is_private": true, + "private_signup_link_label": "Not a member?", + "private_signup_link_url": "https://www.community.com/signup", + "reply_to_email": "support@community.com", + "white_label": true, + "weekly_digest_enabled": true, + "digest_subject": "Weekly Digest", + "digest_intro": "Here's what's happening this week.", + "digests_hide_posts": false, + "digests_hide_comments": false, + "digests_hide_stats": false, + "digests_hide_members": false, + "prefs": { + "has_posts": true, + "has_spaces": true, + "has_invited_member": true, + "brand_color": { + "light": "#123123", + "dark": "#555555" + }, + "brand_text_color": { + "light": "#987654", + "dark": "#333333" + } + }, + "community_setting": { + "id": 1, + "created_at": "2025-04-01T21:24:17.411Z", + "updated_at": "2025-04-01T21:33:43.219Z", + "ios_app_enabled": true, + "show_ios_app_banner": true, + "deactivate_account_enabled": true, + "allow_profile_search_indexing": true, + "truncate_post_body_in_email_notifications": true, + "hide_emails_on_member_profiles": true, + "allow_members_to_go_live": true, + "enforce_otp_for_signup": true, + "community_activity_notifications_email_enabled": true, + "community_activity_notifications_in_app_enabled": true, + "desktop_app_community_visibility_enabled": true, + "allow_moderator_csv_download": true, + "member_media_uploads_enabled": true, + "default_space_ids": [ + 1, + 2 + ], + "default_logged_out_redirect_type": "Space", + "default_logged_out_redirect_id": 1 + } + }, + "DELETE /api/admin/v2/community_leads/101": { + "message": "Non-member contact deleted successfully." + }, + "GET /api/admin/v2/community_member_spaces": { + "page": 1, + "per_page": 60, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "id": 1, + "name": "aut", + "slug": "sit", + "cover_image_url": "https://community.example.com/storage/cover_images/1/picsum.jpeg", + "cover_image_visible": true, + "cover_image_display_style": "wide", + "community_id": 1, + "is_private": false, + "hide_post_settings": false, + "display_view": "posts", + "is_post_disabled": false, + "space_type": "basic", + "host": "https://community.example.com", + "post_ids": [ + 1 + ], + "url": "https://community.example.com/c/sit", + "custom_emoji_url": "https://community.example.com/emoji/1", + "custom_emoji_dark_url": "https://community.example.com/emoji/2", + "emoji": "#", + "space_group": { + "id": 2, + "name": "Name 1" + }, + "topics": [ + 32, + 21, + 12 + ], + "event_auto_rsvp_enabled": false, + "default_in_app_notification_setting": "never", + "default_mobile_notification_setting": "never", + "default_notification_setting": "never", + "default_mention_in_app_notification_setting": "never", + "default_mention_mobile_notification_setting": "never" + }, + { + "id": 2, + "name": "maxime", + "slug": "ad", + "community_id": 1, + "is_private": false, + "hide_post_settings": false, + "display_view": "posts", + "is_post_disabled": false, + "space_type": "basic", + "host": "https://community.example.com", + "post_ids": [ + 14, + 52 + ], + "url": "https://community.example.com/c/ad", + "custom_emoji_url": "https://community.example.com/emoji/1", + "custom_emoji_dark_url": "https://community.example.com/emoji/2", + "emoji": "#", + "space_group": { + "id": 3, + "name": "Name 2" + }, + "topics": [ + 1, + 2, + 3 + ], + "event_auto_rsvp_enabled": false, + "default_in_app_notification_setting": "never", + "default_mobile_notification_setting": "never", + "default_notification_setting": "never", + "default_mention_in_app_notification_setting": "never", + "default_mention_mobile_notification_setting": "never" + } + ] + }, + "GET /api/admin/v2/community_members/101/access_groups": { + "page": 1, + "per_page": 60, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "id": 2, + "name": "Access Group 2", + "status": "active", + "community_id": 1, + "created_at": "2024-09-11T12:48:42.000Z", + "updated_at": "2024-09-11T12:48:42.000Z" + }, + { + "id": 1, + "name": "Access Group 1", + "status": "active", + "community_id": 1, + "created_at": "2024-09-11T12:48:42.000Z", + "updated_at": "2024-09-11T12:48:42.000Z" + } + ] + }, + "PUT /api/admin/v2/community_members/101/ban_member": { + "message": "Member banned successfully." + }, + "POST /api/admin/v2/community_members": { + "message": "This user has been invited to the community and has been added to following space groups: Name 1 spaces: molestiae.", + "community_member": { + "first_name": "Baz", + "last_name": "Tazo", + "headline": "Anotha one", + "created_at": "2024-09-04T16:18:10.634Z", + "updated_at": "2024-09-04T16:18:10.641Z", + "community_id": 1, + "last_seen_at": null, + "profile_confirmed_at": null, + "member_since": null, + "member_since_overridden": false, + "id": 2, + "profile_url": "http://hammes.circledev.net:31337/u/7b8a7a69", + "public_uid": "7b8a7a69", + "profile_fields": [ + { + "id": 1, + "label": "Label", + "field_type": "text", + "key": "profile_field_key_1", + "placeholder": null, + "description": null, + "required": false, + "platform_field": true, + "created_at": "2024-09-04T16:18:10.285Z", + "updated_at": "2024-09-04T16:18:10.285Z", + "community_member_profile_field": { + "id": 2, + "text": "Bar", + "textarea": null, + "created_at": "2024-09-04T16:18:10.654Z", + "updated_at": "2024-09-04T16:18:10.657Z", + "display_value": "Bar", + "community_member_choices": [ + + ] + }, + "number_options": null, + "choices": [ + + ], + "pages": [ + { + "id": 2, + "name": "edit_profile", + "position": 1, + "visible": true, + "created_at": "2024-09-04T16:18:10.287Z", + "updated_at": "2024-09-04T16:18:10.287Z" + }, + { + "id": 3, + "name": "profile_view", + "position": 1, + "visible": true, + "created_at": "2024-09-04T16:18:10.288Z", + "updated_at": "2024-09-04T16:18:10.288Z" + }, + { + "id": 1, + "name": "signup", + "position": 1, + "visible": true, + "created_at": "2024-09-04T16:18:10.286Z", + "updated_at": "2024-09-04T16:18:10.286Z" + } + ] + } + ], + "flattened_profile_fields": { + "profile_field_key_1": "Bar" + }, + "avatar_url": null, + "user_id": 3, + "name": "Baz", + "email": "craig_koss@shields.info", + "accepted_invitation": "", + "active": false, + "sso_provider_user_id": null, + "member_tags": [ + { + "name": "perferendis", + "id": 1 + } + ], + "posts_count": 0, + "comments_count": 0 + } + }, + "GET /api/admin/v2/community_members": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "first_name": "Gov.", + "last_name": "Loriann Barton", + "headline": "Sales Orchestrator", + "created_at": "2024-09-03T16:20:19.814Z", + "updated_at": "2024-09-03T16:20:19.826Z", + "community_id": 1, + "last_seen_at": null, + "profile_confirmed_at": "2024-09-03T16:20:19.000Z", + "member_since": "2024-09-03T16:20:19.000Z", + "member_since_overridden": false, + "id": 2, + "profile_url": "http://reynolds.circledev.net:31337/u/352c3aff", + "public_uid": "352c3aff", + "profile_fields": [ + { + "id": 1, + "label": "Label", + "field_type": "select", + "key": "profile_field_key_1", + "placeholder": null, + "description": null, + "required": false, + "platform_field": false, + "created_at": "2024-09-03T16:20:19.864Z", + "updated_at": "2024-09-03T16:20:19.864Z", + "community_member_profile_field": null, + "number_options": null, + "choices": [ + { + "id": 1, + "value": "Choice 1" + } + ], + "pages": [ + { + "id": 2, + "name": "edit_profile", + "position": 1, + "visible": true, + "created_at": "2024-09-03T16:20:19.868Z", + "updated_at": "2024-09-03T16:20:19.868Z" + }, + { + "id": 3, + "name": "profile_view", + "position": 1, + "visible": true, + "created_at": "2024-09-03T16:20:19.869Z", + "updated_at": "2024-09-03T16:20:19.869Z" + }, + { + "id": 1, + "name": "signup", + "position": 1, + "visible": true, + "created_at": "2024-09-03T16:20:19.866Z", + "updated_at": "2024-09-03T16:20:19.866Z" + } + ] + } + ], + "flattened_profile_fields": { + "profile_field_key_1": null + }, + "avatar_url": null, + "user_id": 3, + "name": "Gov. Loriann Barton", + "email": "raul@nitzsche.org", + "accepted_invitation": "2024-09-03 16:20:19 UTC", + "active": true, + "sso_provider_user_id": null, + "member_tags": [ + + ], + "posts_count": 0, + "comments_count": 0, + "gamification_stats": { + "community_member_id": 2, + "total_points": 0, + "current_level": 1, + "current_level_name": "Level 1", + "points_to_next_level": 50, + "level_progress": 50 + }, + "activity_score": { + "activity_score": "23.0", + "presence": "3.0", + "participation": "10.0", + "contribution": "24.0", + "connection": "24.0" + } + }, + { + "first_name": "Alfred", + "last_name": "Rice", + "headline": "Government Executive", + "created_at": "2024-09-03T16:20:19.605Z", + "updated_at": "2024-09-03T16:20:19.779Z", + "community_id": 1, + "last_seen_at": null, + "profile_confirmed_at": "2024-09-03T16:20:19.000Z", + "member_since": "2024-09-03T16:20:19.000Z", + "member_since_overridden": false, + "id": 1, + "profile_url": "http://reynolds.circledev.net:31337/u/a5f6b09a", + "public_uid": "a5f6b09a", + "profile_fields": [ + { + "id": 1, + "label": "Label", + "field_type": "select", + "key": "profile_field_key_1", + "placeholder": null, + "description": null, + "required": false, + "platform_field": false, + "created_at": "2024-09-03T16:20:19.864Z", + "updated_at": "2024-09-03T16:20:19.864Z", + "community_member_profile_field": { + "id": 1, + "text": null, + "textarea": null, + "created_at": "2024-09-03T16:20:19.885Z", + "updated_at": "2024-09-03T16:20:19.885Z", + "display_value": [ + "Choice 1" + ], + "community_member_choices": [ + { + "id": 1, + "profile_field_choice": { + "id": 1, + "value": "Choice 1" + } + } + ] + }, + "number_options": null, + "choices": [ + { + "id": 1, + "value": "Choice 1" + } + ], + "pages": [ + { + "id": 2, + "name": "edit_profile", + "position": 1, + "visible": true, + "created_at": "2024-09-03T16:20:19.868Z", + "updated_at": "2024-09-03T16:20:19.868Z" + }, + { + "id": 3, + "name": "profile_view", + "position": 1, + "visible": true, + "created_at": "2024-09-03T16:20:19.869Z", + "updated_at": "2024-09-03T16:20:19.869Z" + }, + { + "id": 1, + "name": "signup", + "position": 1, + "visible": true, + "created_at": "2024-09-03T16:20:19.866Z", + "updated_at": "2024-09-03T16:20:19.866Z" + } + ] + } + ], + "flattened_profile_fields": { + "profile_field_key_1": [ + "Choice 1" + ] + }, + "avatar_url": null, + "user_id": 2, + "name": "Alfred Rice", + "email": "mariano.ondricka@stehr.biz", + "accepted_invitation": "2024-09-03 16:20:19 UTC", + "active": true, + "sso_provider_user_id": null, + "member_tags": [ + { + "name": "minus", + "id": 1 + } + ], + "posts_count": 0, + "comments_count": 0, + "gamification_stats": { + "community_member_id": 1, + "total_points": 0, + "current_level": 2, + "current_level_name": "Level 2", + "points_to_next_level": 30, + "level_progress": 70 + }, + "activity_score": { + } + } + ] + }, + "PUT /api/admin/v2/community_members/101/delete_member": { + "message": "Member deleted successfully." + }, + "DELETE /api/admin/v2/community_members/101": { + "message": "The community member has been removed from the community." + }, + "GET /api/admin/v2/community_members/101": { + "first_name": "Gov.", + "last_name": "Loriann Barton", + "headline": "Sales Orchestrator", + "created_at": "2024-09-03T16:20:19.814Z", + "updated_at": "2024-09-03T16:20:19.826Z", + "community_id": 1, + "last_seen_at": null, + "profile_confirmed_at": "2024-09-03T16:20:19.000Z", + "member_since": "2024-09-03T16:20:19.000Z", + "member_since_overridden": false, + "id": 2, + "profile_url": "http://reynolds.circledev.net:31337/u/352c3aff", + "public_uid": "352c3aff", + "profile_fields": [ + { + "id": 1, + "label": "Label", + "field_type": "select", + "key": "profile_field_key_1", + "placeholder": null, + "description": null, + "required": false, + "platform_field": false, + "created_at": "2024-09-03T16:20:19.864Z", + "updated_at": "2024-09-03T16:20:19.864Z", + "community_member_profile_field": null, + "number_options": null, + "choices": [ + { + "id": 1, + "value": "Choice 1" + } + ], + "pages": [ + { + "id": 2, + "name": "edit_profile", + "position": 1, + "visible": true, + "created_at": "2024-09-03T16:20:19.868Z", + "updated_at": "2024-09-03T16:20:19.868Z" + }, + { + "id": 3, + "name": "profile_view", + "position": 1, + "visible": true, + "created_at": "2024-09-03T16:20:19.869Z", + "updated_at": "2024-09-03T16:20:19.869Z" + }, + { + "id": 1, + "name": "signup", + "position": 1, + "visible": true, + "created_at": "2024-09-03T16:20:19.866Z", + "updated_at": "2024-09-03T16:20:19.866Z" + } + ] + } + ], + "flattened_profile_fields": { + "profile_field_key_1": null + }, + "avatar_url": null, + "user_id": 3, + "name": "Gov. Loriann Barton", + "email": "raul@nitzsche.org", + "accepted_invitation": "2024-09-03 16:20:19 UTC", + "active": true, + "sso_provider_user_id": null, + "member_tags": [ + + ], + "posts_count": 0, + "comments_count": 0, + "gamification_stats": { + "community_member_id": 2, + "total_points": 0, + "current_level": 1, + "current_level_name": "Level 1", + "points_to_next_level": 50, + "level_progress": 50 + }, + "activity_score": { + "activity_score": "23.0", + "presence": "3.0", + "participation": "10.0", + "contribution": "24.0", + "connection": "24.0" + } + }, + "PUT /api/admin/v2/community_members/101": { + "first_name": "Baz", + "last_name": null, + "headline": "New headline", + "created_at": "2024-09-10T01:40:57.450Z", + "updated_at": "2024-09-10T01:41:13.180Z", + "community_id": 1, + "last_seen_at": null, + "profile_confirmed_at": "2024-09-10T01:40:57.000Z", + "member_since": "2024-09-10T01:40:57.000Z", + "member_since_overridden": false, + "id": 2, + "profile_url": "http://torphy.circledev.net:31337/u/1e32c94e", + "public_uid": "1e32c94e", + "profile_fields": [ + { + "id": 1, + "label": "Label", + "field_type": "text", + "key": "profile_field_key_1", + "placeholder": null, + "description": null, + "required": false, + "platform_field": true, + "created_at": "2024-09-10T01:40:57.484Z", + "updated_at": "2024-09-10T01:40:57.484Z", + "community_member_profile_field": { + "id": 1, + "text": "Bar", + "textarea": null, + "created_at": "2024-09-10T01:41:13.198Z", + "updated_at": "2024-09-10T01:41:13.201Z", + "display_value": "Bar", + "community_member_choices": [ + + ] + }, + "number_options": null, + "choices": [ + + ], + "pages": [ + { + "id": 2, + "name": "edit_profile", + "position": 1, + "visible": true, + "created_at": "2024-09-10T01:40:57.486Z", + "updated_at": "2024-09-10T01:40:57.486Z" + }, + { + "id": 3, + "name": "profile_view", + "position": 1, + "visible": true, + "created_at": "2024-09-10T01:40:57.487Z", + "updated_at": "2024-09-10T01:40:57.487Z" + }, + { + "id": 1, + "name": "signup", + "position": 1, + "visible": true, + "created_at": "2024-09-10T01:40:57.484Z", + "updated_at": "2024-09-10T01:40:57.484Z" + } + ] + } + ], + "flattened_profile_fields": { + "profile_field_key_1": "Bar" + }, + "avatar_url": null, + "user_id": 3, + "name": "Baz", + "email": "carlton@ernser.biz", + "accepted_invitation": "2024-09-10 01:40:57 UTC", + "active": true, + "sso_provider_user_id": null, + "member_tags": [ + + ], + "posts_count": 0, + "comments_count": 0 + }, + "GET /api/admin/v2/community_members/search": { + "first_name": "Johnie", + "last_name": "Feeney", + "headline": "Senior Developer", + "created_at": "2024-08-23T09:01:17.166Z", + "updated_at": "2024-08-23T09:01:17.352Z", + "community_id": 1, + "last_seen_at": "2024-08-23T09:01:37.000Z", + "profile_confirmed_at": "2024-08-23T09:01:17.000Z", + "member_since": "2024-08-23T09:01:17.000Z", + "member_since_overridden": false, + "id": 1, + "profile_url": "http://becker-hettinger.circledev.net:31337/u/ed9f7768", + "public_uid": "ed9f7768", + "profile_fields": [ + { + "id": 1, + "label": "Label", + "field_type": "select", + "key": "profile_field_key_1", + "placeholder": null, + "description": null, + "required": false, + "platform_field": false, + "created_at": "2024-08-23T09:01:17.394Z", + "updated_at": "2024-08-23T09:01:17.394Z", + "community_member_profile_field": { + "id": 1, + "text": null, + "textarea": null, + "created_at": "2024-08-23T09:01:17.413Z", + "updated_at": "2024-08-23T09:01:17.413Z", + "display_value": [ + "Choice 1" + ], + "community_member_choices": [ + { + "id": 1, + "profile_field_choice": { + "id": 1, + "value": "Choice 1" + } + } + ] + }, + "number_options": null, + "choices": [ + { + "id": 1, + "value": "Choice 1" + } + ], + "pages": [ + { + "id": 2, + "name": "edit_profile", + "position": 1, + "visible": true, + "created_at": "2024-08-23T09:01:17.397Z", + "updated_at": "2024-08-23T09:01:17.397Z" + }, + { + "id": 3, + "name": "profile_view", + "position": 1, + "visible": true, + "created_at": "2024-08-23T09:01:17.399Z", + "updated_at": "2024-08-23T09:01:17.399Z" + }, + { + "id": 1, + "name": "signup", + "position": 1, + "visible": true, + "created_at": "2024-08-23T09:01:17.396Z", + "updated_at": "2024-08-23T09:01:17.396Z" + } + ] + } + ], + "flattened_profile_fields": { + "profile_field_key_1": [ + "Choice 1" + ] + }, + "avatar_url": null, + "user_id": 2, + "name": "Johnie Feeney", + "email": "benjamin@cremin-okeefe.io", + "accepted_invitation": "2024-08-23 09:01:16 UTC", + "active": true, + "sso_provider_user_id": null, + "member_tags": [ + { + "name": "inventore", + "id": 1 + } + ], + "posts_count": 0, + "comments_count": 0, + "gamification_stats": { + "community_member_id": 2, + "total_points": 0, + "current_level": 1, + "current_level_name": "Level 1", + "points_to_next_level": 50, + "level_progress": 50 + } + }, + "POST /api/admin/v2/community_segments": { + "id": 1, + "title": "VIP Members", + "rules": { + "rule_type": "custom_filters", + "rules": [ + { + "key": "role", + "value": "member" + } + ] + }, + "visible": true, + "audience_count": 0, + "created_by": { + "id": 1, + "name": "Ada Lovelace", + "email": "ada@example.com", + "avatar_url": null, + "public_uid": "016ab0fc" + }, + "created_at": "2025-04-01T21:24:17.411Z", + "updated_at": "2025-04-01T21:24:17.411Z" + }, + "GET /api/admin/v2/community_segments": { + "page": 1, + "per_page": 60, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "id": 1, + "title": "VIP Members", + "rules": { + "rule_type": "custom_filters", + "rules": [ + { + "key": "role", + "value": "member" + } + ] + }, + "visible": true, + "audience_count": 0, + "created_by": { + "id": 1, + "name": "Ada Lovelace", + "email": "ada@example.com", + "avatar_url": null, + "public_uid": "016ab0fc" + }, + "created_at": "2025-04-01T21:24:17.411Z", + "updated_at": "2025-04-01T21:24:17.411Z" + }, + { + "id": 2, + "title": "Active Users", + "rules": { + "rule_type": "custom_filters", + "rules": [ + { + "key": "activity_level", + "value": "high" + } + ] + }, + "visible": true, + "audience_count": 0, + "created_by": { + "id": 1, + "name": "Ada Lovelace", + "email": "ada@example.com", + "avatar_url": null, + "public_uid": "016ab0fc" + }, + "created_at": "2025-04-01T21:24:17.411Z", + "updated_at": "2025-04-01T21:24:17.411Z" + } + ] + }, + "DELETE /api/admin/v2/community_segments/101": { + "success": true, + "message": "Community segment deleted successfully" + }, + "PUT /api/admin/v2/community_segments/101": { + "id": 1, + "title": "Updated Segment", + "rules": { + "rule_type": "custom_filters", + "rules": [ + { + "key": "role", + "value": "member" + }, + { + "key": "country", + "value": "USA" + } + ] + }, + "visible": true, + "audience_count": 0, + "created_by": { + "id": 1, + "name": "Ada Lovelace", + "email": "ada@example.com", + "avatar_url": null, + "public_uid": "016ab0fc" + }, + "created_at": "2025-04-01T21:24:17.411Z", + "updated_at": "2025-04-01T21:24:17.411Z" + }, + "POST /api/admin/v2/community_segments/101/duplicate": { + "id": 2, + "title": "Duplicated Segment", + "rules": { + "rule_type": "custom_filters", + "rules": [ + { + "key": "email", + "value": "test@example.com" + } + ] + }, + "visible": true, + "audience_count": 100, + "created_by": { + "id": 1, + "name": "Rep. Elwood Altenwerth", + "email": "rep@example.com", + "avatar_url": null, + "public_uid": "016ab0fc" + }, + "created_at": "2021-01-01T00:00:00Z", + "updated_at": "2021-01-01T00:00:00Z" + }, + "PUT /api/admin/v2/course_lesson_progress": { + "success": true, + "message": "Lesson progress updated." + }, + "POST /api/admin/v2/course_lessons": { + "id": 1, + "name": "New lesson", + "status": "published", + "created_at": "2021-01-01T00:00:00Z", + "updated_at": "2021-01-01T00:00:00Z", + "section_id": 1, + "is_comments_enabled": true, + "is_featured_media_enabled": true, + "is_featured_media_download_enabled": true, + "body_html": "

Lesson body

", + "space_id": 1, + "thumbnail": null, + "featured_media": null + }, + "GET /api/admin/v2/course_lessons": { + "page": 1, + "per_page": 10, + "has_next_page": true, + "count": 3, + "page_count": 3, + "records": [ + { + "id": 1, + "name": "Lesson 1", + "status": "published", + "created_at": "2021-01-01T00:00:00Z", + "updated_at": "2021-01-01T00:00:00Z", + "section_id": 1, + "is_comments_enabled": true, + "is_featured_media_enabled": true, + "is_featured_media_download_enabled": true, + "body_html": "

Lesson body

", + "space_id": 1, + "thumbnail": null, + "featured_media": null + }, + { + "id": 2, + "name": "Lesson 2", + "status": "draft", + "created_at": "2021-01-01T00:00:00Z", + "updated_at": "2021-01-01T00:00:00Z", + "section_id": 1, + "is_comments_enabled": true, + "is_featured_media_enabled": true, + "is_featured_media_download_enabled": true, + "body_html": "

Lesson body

", + "space_id": 1, + "thumbnail": null, + "featured_media": null + }, + { + "id": 3, + "name": "Lesson 3", + "status": "draft", + "created_at": "2021-01-01T00:00:00Z", + "updated_at": "2021-01-01T00:00:00Z", + "section_id": 1, + "is_comments_enabled": true, + "is_featured_media_enabled": true, + "is_featured_media_download_enabled": true, + "body_html": "

Lesson body

", + "space_id": 1, + "thumbnail": null, + "featured_media": null + } + ] + }, + "DELETE /api/admin/v2/course_lessons/101": { + "success": true, + "message": "Course lesson deleted" + }, + "GET /api/admin/v2/course_lessons/101": { + "id": 1, + "name": "Lesson 1", + "status": "published", + "created_at": "2021-01-01T00:00:00Z", + "updated_at": "2021-01-01T00:00:00Z", + "section_id": 1, + "is_comments_enabled": true, + "is_featured_media_enabled": true, + "is_featured_media_download_enabled": true, + "body_html": "

Lesson body

", + "space_id": 1, + "thumbnail": null, + "featured_media": null + }, + "PATCH /api/admin/v2/course_lessons/101": { + "id": 1, + "name": "Updated lesson", + "status": "published", + "created_at": "2021-01-01T00:00:00Z", + "updated_at": "2021-01-01T00:00:00Z", + "section_id": 1, + "is_comments_enabled": true, + "is_featured_media_enabled": true, + "is_featured_media_download_enabled": true, + "body_html": "

Updated lesson body

", + "space_id": 1, + "thumbnail": null, + "featured_media": null + }, + "PUT /api/admin/v2/course_lessons/reorder": { + "success": true, + "message": "Course lessons reordered" + }, + "POST /api/admin/v2/course_sections": { + "id": 1, + "name": "New Section", + "space_id": 1, + "created_at": "2021-01-01T00:00:00Z", + "updated_at": "2021-01-01T00:00:00Z" + }, + "GET /api/admin/v2/course_sections": { + "page": 1, + "per_page": 10, + "has_next_page": true, + "count": 3, + "page_count": 3, + "records": [ + { + "id": 1, + "name": "Section 1", + "created_at": "2021-01-01T00:00:00Z", + "updated_at": "2021-01-01T00:00:00Z", + "space_id": 1 + }, + { + "id": 2, + "name": "Section 2", + "created_at": "2021-01-01T00:00:00Z", + "updated_at": "2021-01-01T00:00:00Z", + "space_id": 1 + }, + { + "id": 3, + "name": "Section 3", + "created_at": "2021-01-01T00:00:00Z", + "updated_at": "2021-01-01T00:00:00Z", + "space_id": 1 + } + ] + }, + "GET /api/admin/v2/course_sections/101": { + "id": 1, + "name": "Section 1", + "created_at": "2021-01-01T00:00:00Z", + "updated_at": "2021-01-01T00:00:00Z", + "space_id": 1 + }, + "PUT /api/admin/v2/course_sections/101": { + "id": 1, + "name": "Updated Section", + "created_at": "2021-01-01T00:00:00Z", + "updated_at": "2021-01-01T00:00:00Z", + "space_id": 1 + }, + "POST /api/admin/v2/direct_uploads": { + "id": 1, + "key": "c7u0d0sjfp9p7wjlzp7v0bxkrykm", + "filename": "sample.jpg", + "content_type": "image/jpeg", + "byte_size": 186822, + "checksum": "409fnt4awWB4Ab0ZU4+xyA==", + "created_at": "2024-07-22T07:44:52.000Z", + "service_name": "test", + "community_id": 1, + "community_member_id": 1, + "signed_id": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--705b374a95b895bfd07289c5a26f002d24650efa", + "attachable_sgid": "BAh7CEkiCGdpZAY6BkVUSSI5Z2lkOi8vanVtcHN0YXJ0LWFwcC9BY3RpdmVTdG9yYWdlOjpCbG9iLzE_ZXhwaXJlc19pbgY7AFRJIgxwdXJwb3NlBjsAVEkiD2F0dGFjaGFibGUGOwBUSSIPZXhwaXJlc19hdAY7AFQw--88f6aa111f445e903b24937e43a8d44202fa4d08", + "direct_upload": { + "url": "http://www.example.com:31337/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDam9JYTJWNVNTSWhZemQxTUdRd2MycG1jRGx3TjNkcWJIcHdOM1l3WW5ocmNubHJiUVk2QmtWVU9oRmpiMjUwWlc1MFgzUjVjR1ZKSWc5cGJXRm5aUzlxY0dWbkJqc0dWRG9UWTI5dWRHVnVkRjlzWlc1bmRHaHBBOGJaQWpvTlkyaGxZMnR6ZFcxSkloMDBNRGxtYm5RMFlYZFhRalJCWWpCYVZUUXJlSGxCUFQwR093WlVPaEZ6WlhKMmFXTmxYMjVoYldVNkNYUmxjM1E9IiwiZXhwIjoiMjAyNC0wNy0yMlQwNzo0OTo1Mi4yMzVaIiwicHVyIjoiYmxvYl90b2tlbiJ9fQ==--d506363ed9b9d09864438ae805bebd80a5d64ed9", + "headers": { + "Content-Type": "image/jpeg" + } + }, + "url": "http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhZemQxTUdRd2MycG1jRGx3TjNkcWJIcHdOM1l3WW5ocmNubHJiUVk2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpUDJsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW5OaGJYQnNaUzVxY0djaU95Qm1hV3hsYm1GdFpTbzlWVlJHTFRnbkozTmhiWEJzWlM1cWNHY0dPd1pVT2hGamIyNTBaVzUwWDNSNWNHVkpJZzlwYldGblpTOXFjR1ZuQmpzR1ZEb1JjMlZ5ZG1salpWOXVZVzFsT2dsMFpYTjAiLCJleHAiOm51bGwsInB1ciI6ImJsb2Jfa2V5In19--133e53c3b198ae40722fd296d4de82a6892bf989/sample.jpg" + }, + "POST /api/admin/v2/embeds": { + "id": 1, + "url": "https://vimeo.com/253989945", + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI...", + "type": "embed", + "embed_type": "video", + "embed_provider": "iframely", + "circle_embed_url": "https://example.circle.so/embeds/BAh7CEkiCGdpZAY6BkVUSSI...", + "html": "
Embed HTML
", + "title": "Sample Video", + "width": 1280, + "height": 720, + "version": "1.0", + "author_url": "https://vimeo.com/testuser", + "author_name": "Vimeo Test User", + "description": "Sample Video Description", + "provider_url": "https://vimeo.com/", + "provider_name": "Vimeo", + "thumbnail_url": "https://i.vimeocdn.com/video/example.jpg", + "thumbnail_width": 1280, + "thumbnail_height": 720 + }, + "GET /api/admin/v2/embeds/101": { + "id": 1, + "url": "https://vimeo.com/253989945", + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI...", + "type": "embed", + "embed_type": "video", + "embed_provider": "iframely", + "circle_embed_url": "https://example.circle.so/embeds/BAh7CEkiCGdpZAY6BkVUSSI...", + "html": "
Embed HTML
", + "title": "Test Video", + "width": 1280, + "height": 720, + "provider_url": "https://vimeo.com/", + "provider_name": "Vimeo", + "thumbnail_url": "https://i.vimeocdn.com/video/example.jpg" + }, + "POST /api/admin/v2/event_attendees": { + "message": "RSVP'd to the event." + }, + "DELETE /api/admin/v2/event_attendees": { + "message": "Un-RSVP successful from the event" + }, + "GET /api/admin/v2/event_attendees": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "id": 2, + "event_id": 2, + "community_member_id": 3, + "contact_id": 3, + "contact_type": "CommunityMember", + "rsvp_status": "yes", + "event_name": "Eaque tenetur nostrum non.", + "member_name": "Margarette Schinner", + "member_email": "tamar_powlowski@kemmer.net", + "member_avatar_url": null, + "headline": "Principal Architect", + "rsvp_date": "2024-09-30T10:51:43.834Z" + }, + { + "id": 1, + "event_id": 2, + "community_member_id": 1, + "contact_id": 1, + "contact_type": "CommunityMember", + "rsvp_status": "yes", + "event_name": "Eaque tenetur nostrum non.", + "member_name": "Elisha Terry", + "member_email": "junior@conroy.com", + "member_avatar_url": null, + "headline": "IT Representative", + "rsvp_date": "2024-09-30T10:51:43.800Z" + } + ] + }, + "POST /api/admin/v2/events": { + "id": 3, + "name": "Second event", + "slug": "flatley-pacocha", + "user_id": 6, + "community_member_id": 1, + "created_at": "2024-09-10T12:39:32.225Z", + "hide_meta_info": false, + "confirmation_message_title": "Doloremque et et.", + "confirmation_message_button_title": "Et et.", + "confirmation_message_button_link": "http://www.haag.com/velit-ut-qui", + "confirmation_message_description": "Quisquam et et.", + "in_person_location": "New York", + "host": "Dolores", + "comments_count": 0, + "duration_in_seconds": 25, + "enable_custom_thank_you_message": false, + "send_in_app_notification_confirmation": true, + "rsvp_disabled": false, + "send_email_confirmation": true, + "send_email_reminder": true, + "send_in_app_notification_reminder": true, + "virtual_location_url": "http://schaefer-bode.net/fausto.kreiger", + "starts_at": "2024-09-20T12:39:32.000Z", + "location_type": "virtual", + "hide_attendees": false, + "ends_at": "2024-09-20T12:39:57.000Z", + "updated_at": "2024-09-10T12:39:32.228Z", + "hide_location_from_non_attendees": true, + "space": { + "id": 2, + "slug": "event", + "name": "event", + "community_id": 1 + }, + "body": "Sunt pariatur sequi voluptatem.", + "url": "http://armstrong-hayes.circledev.net:31337/c/event/flatley-pacocha", + "member_email": "vida.smith@feest-sipes.info", + "member_name": "Demetrius Nolan", + "member_avatar_url": "http://placekitten.com/200/200", + "zapier_display_title": "Second event 20 Sep 2024 12:39PM UTC", + "likes_count": 0, + "cover_image_url": "http://login.circledev.net/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhOMlk1ZURWNGRXSmlPR0Z3WnpCck1tdzNjbmR4ZURocE4zTnllUVk2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpUVdsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW5CcFkzTjFiUzVxY0dWbklqc2dabWxzWlc1aGJXVXFQVlZVUmkwNEp5ZHdhV056ZFcwdWFuQmxad1k3QmxRNkVXTnZiblJsYm5SZmRIbHdaVWtpRDJsdFlXZGxMMnB3WldjR093WlVPaEZ6WlhKMmFXTmxYMjVoYldVNkNYUmxjM1E9IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2tleSJ9fQ==--de2ca9f5695147b886fe65a18179e53f445d42cb/picsum.jpeg", + "meta_tag_attributes": { + "meta_title": "Event meta title", + "meta_description": "Event meta description", + "opengraph_title": "Event OpenGraph title", + "opengraph_description": "Event OpenGraph description", + "opengraph_image": "https://example.com/event-opengraph-image.jpg" + }, + "topics": [ + 10, + 11, + 12 + ] + }, + "GET /api/admin/v2/events": { + "page": 1, + "per_page": 60, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "id": 3, + "name": "Second event", + "slug": "flatley-pacocha", + "user_id": 6, + "community_member_id": 1, + "created_at": "2024-09-10T12:39:32.225Z", + "hide_meta_info": false, + "confirmation_message_title": "Doloremque et et.", + "confirmation_message_button_title": "Et et.", + "confirmation_message_button_link": "http://www.haag.com/velit-ut-qui", + "confirmation_message_description": "Quisquam et et.", + "in_person_location": "New York", + "host": "Dolores", + "comments_count": 0, + "duration_in_seconds": 25, + "enable_custom_thank_you_message": false, + "send_in_app_notification_confirmation": true, + "rsvp_disabled": false, + "send_email_confirmation": true, + "send_email_reminder": true, + "send_in_app_notification_reminder": true, + "virtual_location_url": "http://schaefer-bode.net/fausto.kreiger", + "starts_at": "2024-09-20T12:39:32.000Z", + "location_type": "virtual", + "hide_attendees": false, + "ends_at": "2024-09-20T12:39:57.000Z", + "updated_at": "2024-09-10T12:39:32.228Z", + "hide_location_from_non_attendees": true, + "space": { + "id": 2, + "slug": "event", + "name": "event", + "community_id": 1 + }, + "body": "Sunt pariatur sequi voluptatem.", + "url": "http://armstrong-hayes.circledev.net:31337/c/event/flatley-pacocha", + "member_email": "vida.smith@feest-sipes.info", + "member_name": "Demetrius Nolan", + "member_avatar_url": "http://placekitten.com/200/200", + "zapier_display_title": "Second event 20 Sep 2024 12:39PM UTC", + "likes_count": 0, + "cover_image_url": "http://login.circledev.net/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhOMlk1ZURWNGRXSmlPR0Z3WnpCck1tdzNjbmR4ZURocE4zTnllUVk2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpUVdsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW5CcFkzTjFiUzVxY0dWbklqc2dabWxzWlc1aGJXVXFQVlZVUmkwNEp5ZHdhV056ZFcwdWFuQmxad1k3QmxRNkVXTnZiblJsYm5SZmRIbHdaVWtpRDJsdFlXZGxMMnB3WldjR093WlVPaEZ6WlhKMmFXTmxYMjVoYldVNkNYUmxjM1E9IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2tleSJ9fQ==--de2ca9f5695147b886fe65a18179e53f445d42cb/picsum.jpeg", + "meta_tag_attributes": { + "meta_title": "Event meta title", + "meta_description": "Event meta description", + "opengraph_title": "Event OpenGraph title", + "opengraph_description": "Event OpenGraph description", + "opengraph_image": "https://example.com/event-opengraph-image.jpg" + }, + "topics": [ + 10, + 11, + 12 + ] + }, + { + "id": 2, + "name": "First event", + "slug": "jacobs", + "user_id": 5, + "community_member_id": 1, + "created_at": "2024-09-10T12:39:32.191Z", + "hide_meta_info": false, + "confirmation_message_title": "Rerum et et.", + "confirmation_message_button_title": "Gloria et et.", + "confirmation_message_button_link": "http://www.kreiger.com/et-ut-qui", + "confirmation_message_description": "Quisquam et et.", + "in_person_location": "Atlanta", + "host": "Dolores", + "comments_count": 0, + "duration_in_seconds": 26, + "enable_custom_thank_you_message": false, + "send_in_app_notification_confirmation": true, + "rsvp_disabled": false, + "send_email_confirmation": true, + "send_email_reminder": true, + "send_in_app_notification_reminder": true, + "virtual_location_url": "http://wintheiser-schoen.name/ed.langosh", + "starts_at": "2024-09-20T12:39:32.000Z", + "location_type": "virtual", + "hide_attendees": false, + "ends_at": "2024-09-20T12:39:58.000Z", + "updated_at": "2024-09-10T12:39:32.194Z", + "hide_location_from_non_attendees": true, + "space": { + "id": 2, + "slug": "event", + "name": "event", + "community_id": 1 + }, + "body": "A illum quis maxime.", + "url": "http://armstrong-hayes.circledev.net:31337/c/event/jacobs", + "member_email": "vida.smith@feest-sipes.info", + "member_name": "Demetrius Nolan", + "member_avatar_url": "http://placekitten.com/200/200", + "zapier_display_title": "First event 20 Sep 2024 12:39PM UTC", + "likes_count": 0, + "cover_image_url": "http://login.circledev.net/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhOMlk1ZURWNGRXSmlPR0Z3WnpCck1tdzNjbmR4ZURocE4zTnllUVk2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpUVdsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW5CcFkzTjFiUzVxY0dWbklqc2dabWxzWlc1aGJXVXFQVlZVUmkwNEp5ZHdhV056ZFcwdWFuQmxad1k3QmxRNkVXTnZiblJsYm5SZmRIbHdaVWtpRDJsdFlXZGxMMnB3WldjR093WlVPaEZ6WlhKMmFXTmxYMjVoYldVNkNYUmxjM1E9IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2tleSJ9fQ==--de2ca9f5695147b886fe65a18179e53f445d42cb/picsum.jpeg", + "topics": [ + 10, + 11, + 12 + ] + } + ] + }, + "DELETE /api/admin/v2/events/101": { + "message": "Event deleted." + }, + "GET /api/admin/v2/events/101": { + "id": 3, + "name": "Second event", + "slug": "flatley-pacocha", + "user_id": 6, + "community_member_id": 1, + "created_at": "2024-09-10T12:39:32.225Z", + "hide_meta_info": false, + "confirmation_message_title": "Doloremque et et.", + "confirmation_message_button_title": "Et et.", + "confirmation_message_button_link": "http://www.haag.com/velit-ut-qui", + "confirmation_message_description": "Quisquam et et.", + "in_person_location": "New York", + "host": "Dolores", + "comments_count": 0, + "duration_in_seconds": 25, + "enable_custom_thank_you_message": false, + "send_in_app_notification_confirmation": true, + "rsvp_disabled": false, + "send_email_confirmation": true, + "send_email_reminder": true, + "send_in_app_notification_reminder": true, + "virtual_location_url": "http://schaefer-bode.net/fausto.kreiger", + "starts_at": "2024-09-20T12:39:32.000Z", + "location_type": "virtual", + "hide_attendees": false, + "ends_at": "2024-09-20T12:39:57.000Z", + "updated_at": "2024-09-10T12:39:32.228Z", + "hide_location_from_non_attendees": true, + "space": { + "id": 2, + "slug": "event", + "name": "event", + "community_id": 1 + }, + "body": "Sunt pariatur sequi voluptatem.", + "url": "http://armstrong-hayes.circledev.net:31337/c/event/flatley-pacocha", + "member_email": "vida.smith@feest-sipes.info", + "member_name": "Demetrius Nolan", + "member_avatar_url": "http://placekitten.com/200/200", + "zapier_display_title": "Second event 20 Sep 2024 12:39PM UTC", + "likes_count": 0, + "cover_image_url": "http://login.circledev.net/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhOMlk1ZURWNGRXSmlPR0Z3WnpCck1tdzNjbmR4ZURocE4zTnllUVk2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpUVdsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW5CcFkzTjFiUzVxY0dWbklqc2dabWxzWlc1aGJXVXFQVlZVUmkwNEp5ZHdhV056ZFcwdWFuQmxad1k3QmxRNkVXTnZiblJsYm5SZmRIbHdaVWtpRDJsdFlXZGxMMnB3WldjR093WlVPaEZ6WlhKMmFXTmxYMjVoYldVNkNYUmxjM1E9IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2tleSJ9fQ==--de2ca9f5695147b886fe65a18179e53f445d42cb/picsum.jpeg", + "meta_tag_attributes": { + "meta_title": "Event meta title", + "meta_description": "Event meta description", + "opengraph_title": "Event OpenGraph title", + "opengraph_description": "Event OpenGraph description", + "opengraph_image": "https://example.com/event-opengraph-image.jpg" + }, + "topics": [ + 10, + 11, + 12 + ] + }, + "PUT /api/admin/v2/events/101": { + "id": 3, + "name": "Second event", + "slug": "flatley-pacocha", + "user_id": 6, + "community_member_id": 1, + "created_at": "2024-09-10T12:39:32.225Z", + "hide_meta_info": false, + "confirmation_message_title": "Doloremque et et.", + "confirmation_message_button_title": "Et et.", + "confirmation_message_button_link": "http://www.haag.com/velit-ut-qui", + "confirmation_message_description": "Quisquam et et.", + "in_person_location": "New York", + "host": "Dolores", + "comments_count": 0, + "duration_in_seconds": 25, + "enable_custom_thank_you_message": false, + "send_in_app_notification_confirmation": true, + "rsvp_disabled": false, + "send_email_confirmation": true, + "send_email_reminder": true, + "send_in_app_notification_reminder": true, + "virtual_location_url": "http://schaefer-bode.net/fausto.kreiger", + "starts_at": "2024-09-20T12:39:32.000Z", + "location_type": "virtual", + "hide_attendees": false, + "ends_at": "2024-09-20T12:39:57.000Z", + "updated_at": "2024-09-10T12:39:32.228Z", + "hide_location_from_non_attendees": true, + "space": { + "id": 2, + "slug": "event", + "name": "event", + "community_id": 1 + }, + "body": "Sunt pariatur sequi voluptatem.", + "url": "http://armstrong-hayes.circledev.net:31337/c/event/flatley-pacocha", + "member_email": "vida.smith@feest-sipes.info", + "member_name": "Demetrius Nolan", + "member_avatar_url": "http://placekitten.com/200/200", + "zapier_display_title": "Second event 20 Sep 2024 12:39PM UTC", + "likes_count": 0, + "cover_image_url": "http://login.circledev.net/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhOMlk1ZURWNGRXSmlPR0Z3WnpCck1tdzNjbmR4ZURocE4zTnllUVk2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpUVdsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW5CcFkzTjFiUzVxY0dWbklqc2dabWxzWlc1aGJXVXFQVlZVUmkwNEp5ZHdhV056ZFcwdWFuQmxad1k3QmxRNkVXTnZiblJsYm5SZmRIbHdaVWtpRDJsdFlXZGxMMnB3WldjR093WlVPaEZ6WlhKMmFXTmxYMjVoYldVNkNYUmxjM1E9IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2tleSJ9fQ==--de2ca9f5695147b886fe65a18179e53f445d42cb/picsum.jpeg", + "meta_tag_attributes": { + "meta_title": "Updated event meta title", + "meta_description": "Updated event meta description", + "opengraph_title": "Updated event OpenGraph title", + "opengraph_description": "Updated event OpenGraph description", + "opengraph_image": "https://example.com/updated-event-opengraph-image.jpg" + }, + "topics": [ + 10, + 11, + 12 + ] + }, + "POST /api/admin/v2/spaces/101/events/102/duplicate": { + "id": 3, + "name": "First event", + "slug": "first-event-copy", + "user_id": 6, + "community_member_id": 1, + "created_at": "2024-09-10T12:39:32.225Z", + "hide_meta_info": false, + "confirmation_message_title": null, + "confirmation_message_button_title": null, + "confirmation_message_button_link": null, + "confirmation_message_description": null, + "in_person_location": null, + "host": "Jane Doe", + "comments_count": 0, + "duration_in_seconds": 3600, + "enable_custom_thank_you_message": false, + "send_in_app_notification_confirmation": true, + "rsvp_disabled": false, + "send_email_confirmation": true, + "send_email_reminder": true, + "send_in_app_notification_reminder": true, + "virtual_location_url": "https://meet.example.com", + "starts_at": "2024-09-11T12:00:00.000Z", + "location_type": "virtual", + "hide_attendees": false, + "ends_at": "2024-09-11T13:00:00.000Z", + "updated_at": "2024-09-10T12:39:32.225Z", + "hide_location_from_non_attendees": false, + "space": { + "id": 2, + "slug": "target", + "name": "Target Space", + "community_id": 1 + }, + "body": "
Event description
", + "url": "https://example.circle.so/c/space/events/first-event-copy", + "member_email": "jane@example.com", + "member_name": "Jane Doe", + "member_avatar_url": "https://example.circle.so/avatar.png", + "zapier_display_title": "First event (September 11, 2024)", + "likes_count": 0, + "cover_image_url": null, + "topics": [ + + ] + }, + "DELETE /api/admin/v2/filter_kit_controls/101": { + "success": true, + "message": "Filter control removed successfully." + }, + "POST /api/admin/v2/flagged_contents": { + "id": 1, + "status": null, + "reported_reason_type": "spam", + "reported_reason_body": "This content appears to be spam", + "reported_at": "2024-09-02T06:55:07.879Z", + "action_taken_at": null, + "action_reason_body": null, + "created_at": "2024-09-02T06:55:07.879Z", + "updated_at": "2024-09-02T06:55:07.879Z", + "content_id": 1, + "content_type": "post", + "content_authored_by_id": 2, + "content_authored_by_name": "John Doe", + "content_authored_by_email": "john@example.com", + "reported_by_id": 3, + "reported_by_name": "Jane Smith", + "reported_by_email": "jane@example.com", + "action_by_id": null, + "action_by_name": null, + "action_by_email": null + }, + "GET /api/admin/v2/flagged_contents": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 2, + "page_count": 1, + "records": [ + { + "id": 1, + "status": null, + "reported_reason_type": "spam", + "reported_reason_body": "This content appears to be spam", + "reported_at": "2024-09-02T06:55:07.879Z", + "action_taken_at": null, + "action_reason_body": null, + "created_at": "2024-09-02T06:55:07.879Z", + "updated_at": "2024-09-02T06:55:07.879Z", + "content_authored_by_id": 2, + "content_authored_by_name": "John Doe", + "content_authored_by_email": "john@example.com", + "reported_by_id": 3, + "reported_by_name": "Jane Smith", + "reported_by_email": "jane@example.com", + "action_by_id": null, + "action_by_name": null, + "action_by_email": null, + "content_id": 1, + "content_type": "post" + }, + { + "id": 2, + "status": "rejected", + "reported_reason_type": "other", + "reported_reason_body": "Contains inappropriate language", + "reported_at": "2024-09-01T06:55:07.879Z", + "action_taken_at": "2024-09-02T08:30:15.123Z", + "action_reason_body": "Content removed for violating community guidelines", + "created_at": "2024-09-01T06:55:07.879Z", + "updated_at": "2024-09-02T08:30:15.123Z", + "content_authored_by_id": 2, + "content_authored_by_name": "John Doe", + "content_authored_by_email": "john@example.com", + "reported_by_id": 5, + "reported_by_name": "Alice Johnson", + "reported_by_email": "alice@example.com", + "action_by_id": 1, + "action_by_name": "Admin User", + "action_by_email": "admin@example.com", + "content_id": 1, + "content_type": "post" + } + ] + }, + "DELETE /api/admin/v2/forms/101": { + "success": true, + "message": "Form deleted successfully" + }, + "GET /api/admin/v2/forms/101": { + "id": 1, + "uid": "abc12345", + "after_submission_action": "thank_you_page", + "embed_display_format": "inline", + "popup_delay": 5, + "popup_frequency": 7, + "name": "Contact Form", + "redirect_url": null, + "status": "draft", + "thank_you_page_body": "We're thrilled to have you as a part of our vibrant and growing community.", + "thank_you_page_title": "Thank you for subscribing!", + "updated_at": "2025-12-01T17:01:58.306Z", + "submissions_count": 0, + "embed_styles": { + "form": { + "color": "#545861", + "backgroundColor": "#fff" + }, + "button": { + "color": "#fff", + "backgroundColor": "#2B2E33" + } + }, + "standalone_page_styles": { + "form": { + "color": "#545861", + "backgroundColor": "#fff" + }, + "button": { + "color": "#fff", + "backgroundColor": "#2B2E33" + } + }, + "elements": [ + { + "id": 1, + "type": "text", + "position": 0, + "elementable_id": 1, + "parent_element_id": null, + "attributes": { + "text_type": "title", + "value": "Title" + } + } + ] + }, + "PUT /api/admin/v2/forms/101": { + "id": 1, + "uid": "5bcd56a2", + "after_submission_action": "redirect", + "embed_display_format": "popup", + "popup_delay": 3, + "popup_frequency": 5, + "name": "Updated Form Name", + "redirect_url": "https://example.com/thank-you", + "status": "published", + "thank_you_page_body": "We appreciate your submission.", + "thank_you_page_title": "Thank You!", + "updated_at": "2025-12-01T17:01:58.306Z", + "submissions_count": 0, + "elements": [ + { + "id": 121, + "position": 0, + "parent_element_id": null, + "type": "text", + "elementable_id": 47, + "attributes": { + "text_type": "title", + "value": "Title" + } + }, + { + "id": 122, + "position": 1, + "parent_element_id": null, + "type": "text", + "elementable_id": 48, + "attributes": { + "text_type": "subtitle", + "value": "Subtitle" + } + }, + { + "id": 123, + "position": 2, + "parent_element_id": null, + "type": "field", + "elementable_id": 49, + "attributes": { + "field_type": "contact_name", + "label": "Name", + "placeholder": "Enter name", + "required": false, + "hidden": false + } + }, + { + "id": 124, + "position": 3, + "parent_element_id": null, + "type": "field", + "elementable_id": 50, + "attributes": { + "field_type": "contact_email", + "label": "Email", + "placeholder": null, + "required": true, + "hidden": false + } + }, + { + "id": 125, + "position": 4, + "parent_element_id": null, + "type": "button", + "elementable_id": 25, + "attributes": { + "label": "Submit", + "styles": null + } + } + ] + }, + "POST /api/admin/v2/forms/101/duplicate": { + "id": 2, + "uid": "5bcd56a2", + "after_submission_action": "thank_you_page", + "embed_display_format": "inline", + "popup_delay": 5, + "popup_frequency": 7, + "name": "Original Form (copy)", + "redirect_url": null, + "status": "draft", + "thank_you_page_body": "We're thrilled to have you as a part of our vibrant and growing community.", + "thank_you_page_title": "Thank you for subscribing!", + "updated_at": "2025-12-01T17:01:58.306Z", + "embed_styles": { + "form": { + "color": "#19283a", + "backgroundColor": "#FFFFFF" + }, + "button": { + "color": "#FFFFFF", + "backgroundColor": "#a40b0b" + } + }, + "standalone_page_styles": { + "form": { + "color": "#545861", + "backgroundColor": "#fff" + }, + "button": { + "color": "#fff", + "backgroundColor": "#2B2E33" + } + }, + "elements": [ + + ] + }, + "GET /api/admin/v2/forms": { + "page": 1, + "per_page": 60, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "id": 5, + "uid": "5bcd56a2", + "after_submission_action": "thank_you_page", + "embed_display_format": "inline", + "popup_delay": 5, + "popup_frequency": 7, + "name": "First test form (copy)", + "redirect_url": null, + "status": "draft", + "thank_you_page_body": "We're thrilled to have you as a part of our vibrant and growing community.", + "thank_you_page_title": "Thank you for subscribing!", + "updated_at": "2025-12-01T17:01:58.306Z", + "submissions_count": 0, + "embed_styles": { + "form": { + "color": "#19283a", + "backgroundColor": "#FFFFFF" + }, + "button": { + "color": "#FFFFFF", + "backgroundColor": "#a40b0b" + } + }, + "standalone_page_styles": { + "form": { + "color": "#545861", + "backgroundColor": "#fff" + }, + "button": { + "color": "#fff", + "backgroundColor": "#2B2E33" + } + } + }, + { + "id": 2, + "uid": "44bd8ec2", + "after_submission_action": "thank_you_page", + "embed_display_format": "inline", + "popup_delay": 5, + "popup_frequency": 7, + "name": "First test form", + "redirect_url": null, + "status": "published", + "thank_you_page_body": "We're thrilled to have you as a part of our vibrant and growing community.", + "thank_you_page_title": "Thank you for subscribing!", + "updated_at": "2025-05-27T20:33:40.516Z", + "submissions_count": 0, + "embed_styles": { + "form": { + "color": "#19283a", + "backgroundColor": "#FFFFFF" + }, + "button": { + "color": "#FFFFFF", + "backgroundColor": "#a40b0b" + } + }, + "standalone_page_styles": { + "form": { + "color": "#545861", + "backgroundColor": "#fff" + }, + "button": { + "color": "#fff", + "backgroundColor": "#2B2E33" + } + } + } + ] + }, + "GET /api/admin/v2/forms/101/submissions": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 2, + "page_count": 1, + "records": [ + { + "id": 17, + "created_at": "2026-01-02T07:41:14.634Z", + "fields": [ + { + "field_id": 343, + "label": "Name", + "value": "Donnie Rodriguez DDS", + "hidden": false + }, + { + "field_id": 344, + "label": "Email", + "value": "glenda@walsh.co", + "hidden": false + } + ] + }, + { + "id": 18, + "created_at": "2026-01-02T07:41:14.634Z", + "fields": [ + { + "field_id": 343, + "label": "Name", + "value": "Jane Smith", + "hidden": false + }, + { + "field_id": 344, + "label": "Email", + "value": "jane@smith.com", + "hidden": false + } + ] + } + ] + }, + "GET /api/admin/v2/gamification/leaderboard": [ + { + "community_member_id": 1, + "name": "John Doe", + "public_uid": "abcd1234", + "headline": "Member headline", + "avatar_url": "http://example.com/avatar.png", + "total_points": 10 + }, + { + "community_member_id": 2, + "name": "Jane Doe", + "public_uid": "abcd1235", + "headline": "Member headline", + "avatar_url": "http://example.com/avatar.png", + "total_points": 20 + }, + { + "community_member_id": 3, + "name": "Jamie Doe", + "public_uid": "abcd1236", + "headline": "Member headline", + "avatar_url": "http://example.com/avatar.png", + "total_points": 30 + } + ], + "POST /api/admin/v2/spaces/101/images/posts": { + "message": "Post created.", + "post": { + "id": 28, + "status": "published", + "name": null, + "slug": "test-post", + "hide_meta_info": false, + "published_at": "2025-07-15T05:58:29.882Z", + "created_at": "2025-07-15T05:58:29.882Z", + "updated_at": "2025-07-15T05:58:29.884Z", + "is_comments_enabled": true, + "is_liking_enabled": true, + "flagged_for_approval_at": null, + "body": { + "id": 28, + "name": "body", + "body": "

Content

", + "record_type": "Post", + "record_id": 28, + "created_at": "2025-07-15T05:58:29.000Z", + "updated_at": "2025-07-15T05:58:29.000Z" + }, + "tiptap_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "Content", + "circle_ios_fallback_text": "Content" + } + ] + } + ] + }, + "circle_ios_fallback_text": "Content", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "post", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "url": "http://reilly.circledev.net:31337/c/natus/test-post", + "space_name": "sit", + "space_slug": "natus", + "space_id": 34, + "user_id": 18, + "user_email": "tasha@bogisich-veum.name", + "user_name": "Bruno Turcotte", + "community_id": 17, + "user_avatar_url": null, + "cover_image_url": null, + "cover_image": null, + "cardview_thumbnail_url": null, + "cardview_thumbnail": null, + "is_comments_closed": false, + "custom_html": null, + "likes_count": 0, + "comments_count": 0, + "member_posts_count": 2, + "member_comments_count": 0, + "member_likes_count": 0, + "topics": [ + + ], + "gallery": { + "id": 11, + "downloadable_images": false, + "images": [ + { + "id": 21, + "signed_id": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBKZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--ed373bb5f7f53b7836603ae16b27b3d6c8876a46", + "original_url": "http://reilly.circledev.net/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhNbmM0Ynpsb2JHOXFkM1V6YldkdFpuTTViSGxtTVdWM01teHBPUVk2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpUjJsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW14aGJtUnpZMkZ3WlM1cWNHVm5JanNnWm1sc1pXNWhiV1VxUFZWVVJpMDRKeWRzWVc1a2MyTmhjR1V1YW5CbFp3WTdCbFE2RVdOdmJuUmxiblJmZEhsd1pVa2lEMmx0WVdkbEwycHdaV2NHT3daVU9oRnpaWEoyYVdObFgyNWhiV1U2Q1hSbGMzUT0iLCJleHAiOm51bGwsInB1ciI6ImJsb2Jfa2V5In19--ce54cc91c36354f367b70f5aebd805da730f0f0f/landscape.jpeg", + "url": "http://app.circledev.net:31337/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBKZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--ed373bb5f7f53b7836603ae16b27b3d6c8876a46/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lKYW5CbFp3WTZCa1ZVT2hSeVpYTnBlbVZmZEc5ZmJHbHRhWFJiQjJrQzBBZHBBdEFIT2dwellYWmxjbnNHT2dwemRISnBjRlE9IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--4d801f9d6698c5e93d9a7dbb6e428fef53ffa2fc/landscape.jpeg", + "filename": "landscape.jpeg", + "width": 100, + "height": 100 + }, + { + "id": 22, + "signed_id": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBKdz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--61317084ad500eeb8192300061628c6336d04d02", + "original_url": "http://reilly.circledev.net/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhiMnRrYUdSMGVHUjZkbXd5YURWd2RYSXhNWGxoY0ROemJIWmhPUVk2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpTzJsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW01bGJ5NXFjR1ZuSWpzZ1ptbHNaVzVoYldVcVBWVlVSaTA0SnlkdVpXOHVhbkJsWndZN0JsUTZFV052Ym5SbGJuUmZkSGx3WlVraUQybHRZV2RsTDJwd1pXY0dPd1pVT2hGelpYSjJhV05sWDI1aGJXVTZDWFJsYzNRPSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9rZXkifX0=--464bec630de2257178c11f6decc833e5b8e3b287/neo.jpeg", + "url": "http://app.circledev.net:31337/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBKdz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--61317084ad500eeb8192300061628c6336d04d02/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lKYW5CbFp3WTZCa1ZVT2hSeVpYTnBlbVZmZEc5ZmJHbHRhWFJiQjJrQzBBZHBBdEFIT2dwellYWmxjbnNHT2dwemRISnBjRlE9IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--4d801f9d6698c5e93d9a7dbb6e428fef53ffa2fc/neo.jpeg", + "filename": "neo.jpeg", + "width": 100, + "height": 100 + } + ] + } + } + }, + "DELETE /api/admin/v2/spaces/101/images/posts/102": { + "success": true, + "message": "This post has been removed from the space." + }, + "POST /api/admin/v2/spaces/101/images/posts/102/duplicate": { + "message": "Post duplicated.", + "post": { + "id": 29, + "status": "draft", + "slug": "test-post-copy", + "gallery": { + "downloadable_images": false, + "images": [ + { + "id": 41, + "filename": "landscape.jpeg", + "width": 2000, + "height": 2000 + } + ] + } + } + }, + "GET /api/admin/v2/invitation_links": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 3, + "page_count": 1, + "records": [ + { + "id": 1, + "name": "Beta Testers", + "redemption_url": "https://example.circle.so/join?invitation_token=token", + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z", + "access_group_ids": [ + + ], + "member_tag_ids": [ + + ], + "active": false, + "members_joined_count": 0, + "redirect_space_id": null + }, + { + "id": 2, + "name": "Marketing Team", + "redemption_url": "https://example.circle.so/join?invitation_token=token", + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z", + "access_group_ids": [ + + ], + "member_tag_ids": [ + + ], + "active": true, + "members_joined_count": 0, + "redirect_space_id": null + }, + { + "id": 3, + "name": "Family Invitation", + "redemption_url": "https://example.circle.so/join?invitation_token=token", + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z", + "access_group_ids": [ + + ], + "member_tag_ids": [ + + ], + "active": true, + "members_joined_count": 0, + "redirect_space_id": null + } + ] + }, + "DELETE /api/admin/v2/invitation_links/101": { + "message": "Invitation link deleted successfully" + }, + "PATCH /api/admin/v2/invitation_links/101/revoke": { + "message": "Invitation link revoked successfully" + }, + "GET /api/admin/v2/live/rooms": { + "page": 1, + "per_page": 20, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "id": 2, + "name": "Room 2", + "status": "active", + "room_type": "stream", + "created_at": "2024-09-10T12:39:32.225Z", + "live_at": null, + "closed_at": null, + "recording_enabled": false, + "slug": "some-uuid-2" + }, + { + "id": 1, + "name": "Room 1", + "status": "active", + "room_type": "stream", + "created_at": "2024-09-10T12:39:32.191Z", + "live_at": null, + "closed_at": null, + "recording_enabled": false, + "slug": "some-uuid-1" + } + ] + }, + "GET /api/admin/v2/live/rooms/101/transcripts": { + "transcripts": [ + "WEBVTT\n\n00:00:00.500 --> 00:00:02.000\nThe Web is always changing\n\n00:00:02.500 --> 00:00:04.300\nand the way we access it is changing\n" + ] + }, + "POST /api/admin/v2/member_tags": { + "color": "#0ce806", + "display_format": "label", + "name": "Created Tag Name", + "display_locations": { + "post_bio": true, + "profile_page": true, + "member_directory": true + }, + "is_public": true, + "is_background_enabled": true, + "created_at": "2025-04-01T21:24:17.411Z", + "updated_at": "2025-04-01T21:33:43.219Z", + "id": 1, + "tagged_members_count": 1, + "emoji": "🤩", + "custom_emoji_url": null, + "custom_emoji_dark_url": null + }, + "DELETE /api/admin/v2/member_tags/101": { + "success": true, + "message": "Member tag deleted" + }, + "GET /api/admin/v2/member_tags/101": { + "color": "#0ce806", + "display_format": "label", + "name": "vips", + "display_locations": { + "post_bio": true, + "profile_page": true, + "member_directory": true + }, + "is_public": true, + "is_background_enabled": true, + "created_at": "2025-04-01T21:24:17.411Z", + "updated_at": "2025-04-01T21:33:43.219Z", + "id": 1, + "tagged_members_count": 1, + "emoji": "😆", + "custom_emoji_url": null, + "custom_emoji_dark_url": null + }, + "PUT /api/admin/v2/member_tags/101": { + "color": "#0ce806", + "display_format": "label", + "name": "Updated Tag Name", + "display_locations": { + "post_bio": true, + "profile_page": true, + "member_directory": true + }, + "is_public": true, + "is_background_enabled": true, + "created_at": "2025-04-01T21:24:17.411Z", + "updated_at": "2025-04-01T21:33:43.219Z", + "id": 1, + "tagged_members_count": 1, + "emoji": "🤩", + "custom_emoji_url": null, + "custom_emoji_dark_url": null + }, + "POST /api/admin/v2/messages": { + "message": "Message sent", + "chat_room_message": { + "id": 1, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-10-21T09:50:33.282Z", + "chat_room_uuid": "ef97ad3f-e3fb-46b9-a060-041a4b9a64dd", + "chat_room_participant_id": 2, + "body": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "Hi ", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "type": "text", + "text": ",", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "type": "text", + "text": "How was your weekend?", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "type": "text", + "text": "Please check out ", + "circle_ios_fallback_text": "Please check out " + }, + { + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "text": "https://www.google.com/", + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "type": "text", + "text": " when you have a moment. ", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "type": "text", + "text": "Also, we should create a community on ", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "text": "circle.so", + "circle_ios_fallback_text": "circle.so" + }, + { + "type": "text", + "text": ".", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-10-21T09:50:33.282Z", + "sender": { + "id": 2, + "name": "Clair Ziemann", + "community_member_id": 1, + "user_public_uid": "ad33e5ec", + "avatar_url": null + }, + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + } + }, + "GET /api/admin/v2/page_profile_fields": [ + { + "id": 2, + "label": "Label", + "field_type": "number", + "key": "profile_field_key_2", + "placeholder": null, + "description": null, + "required": false, + "allow_null": false, + "platform_field": false, + "number_options": { + "id": 1, + "format": "number", + "decimal": 2, + "position": null, + "text": null + }, + "choices": [ + + ] + }, + { + "id": 1, + "label": "Label", + "field_type": "select", + "key": "profile_field_key_1", + "placeholder": null, + "description": null, + "required": false, + "allow_null": false, + "platform_field": false, + "number_options": null, + "choices": [ + { + "id": 1, + "value": "Choice 1" + } + ] + } + ], + "DELETE /api/admin/v2/paywall_coupons/101": { + "success": true, + "message": "Coupon deleted" + }, + "POST /api/admin/v2/paywall_groups": { + "id": 1, + "name": "Premium Memberships", + "currency_id": 1, + "created_at": "2021-01-01T00:00:00Z", + "updated_at": "2021-01-01T00:00:00Z" + }, + "PUT /api/admin/v2/paywall_groups/101": { + "id": 1, + "name": "Renamed Group", + "currency_id": 1, + "created_at": "2021-01-01T00:00:00Z", + "updated_at": "2021-01-01T00:00:00Z" + }, + "DELETE /api/admin/v2/paywalls/101": { + "success": true, + "message": "Paywall was deleted." + }, + "PUT /api/admin/v2/paywalls/101/archive": { + "success": true, + "message": "Paywall was archived." + }, + "PUT /api/admin/v2/paywalls/101/publish": { + "success": true, + "message": "Paywall was published." + }, + "PUT /api/admin/v2/paywalls/101/unarchive": { + "success": true, + "message": "Paywall was unarchived." + }, + "DELETE /api/admin/v2/posts/101/post_followers": { + "success": true, + "message": "Post unfollowed for the provided member." + }, + "POST /api/admin/v2/posts": { + "message": "Post created.", + "post": { + "id": 2, + "status": "published", + "name": "ullam", + "slug": "ullam", + "comments_count": 0, + "hide_meta_info": false, + "published_at": "2024-07-01T10:44:32.659Z", + "created_at": "2024-07-01T10:44:32.659Z", + "updated_at": "2024-07-01T10:44:32.661Z", + "is_comments_enabled": true, + "is_liking_enabled": true, + "flagged_for_approval_at": null, + "body": { + "id": 2, + "name": "body", + "body": "

Test

", + "record_type": "Post", + "record_id": 2, + "created_at": "2024-08-05T05:07:04.000Z", + "updated_at": "2024-08-05T05:07:04.000Z" + }, + "tiptap_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "Test", + "circle_ios_fallback_text": "Test" + } + ] + } + ] + }, + "circle_ios_fallback_text": "Test", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "post", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "url": "http://torphy.circledev.net:31337/c/in/ullam", + "space_name": "distinctio", + "space_slug": "in", + "space_id": 1, + "user_id": 2, + "user_email": "antonina@hills-jaskolski.org", + "user_name": "Ellis Oberbrunner", + "community_id": 1, + "user_avatar_url": null, + "cover_image_url": null, + "cover_image": null, + "cardview_thumbnail_url": null, + "cardview_thumbnail": null, + "is_comments_closed": false, + "custom_html": "
Hello world
", + "likes_count": 0, + "member_posts_count": 2, + "member_comments_count": 0, + "member_likes_count": 0, + "topics": [ + + ] + } + }, + "GET /api/admin/v2/posts": { + "page": 1, + "per_page": 60, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "id": 2, + "status": "published", + "name": "Second post", + "slug": "kiehn", + "comments_count": 0, + "hide_meta_info": false, + "published_at": "2024-06-27T08:31:30.777Z", + "created_at": "2024-06-27T08:31:30.781Z", + "updated_at": "2024-06-27T08:31:30.784Z", + "is_comments_enabled": true, + "is_liking_enabled": true, + "flagged_for_approval_at": null, + "body": { + "id": 2, + "name": "body", + "body": "
Iusto sint asperiores sed.
", + "record_type": "Post", + "record_id": 2, + "created_at": "2024-06-27T08:31:30.000Z", + "updated_at": "2024-06-27T08:31:30.000Z" + }, + "url": "http://dickinson.circledev.net:31337/c/post/kiehn", + "space_name": "post", + "space_slug": "post", + "space_id": 1, + "user_id": 6, + "user_email": "lyndon@frami.info", + "user_name": "Rory Wyman", + "community_id": 1, + "user_avatar_url": "https://example.com/avatar.png", + "cover_image_url": "http://login.circledev.net/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhOMlk1ZURWNGRXSmlPR0Z3WnpCck1tdzNjbmR4ZURocE4zTnllUVk2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpUVdsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW5CcFkzTjFiUzVxY0dWbklqc2dabWxzWlc1aGJXVXFQVlZVUmkwNEp5ZHdhV056ZFcwdWFuQmxad1k3QmxRNkVXTnZiblJsYm5SZmRIbHdaVWtpRDJsdFlXZGxMMnB3WldjR093WlVPaEZ6WlhKMmFXTmxYMjVoYldVNkNYUmxjM1E9IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2tleSJ9fQ==--de2ca9f5695147b886fe65a18179e53f445d42cb/picsum.jpeg", + "cover_image": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--705b374a95b895bfd07289c5a26f002d24650efa", + "cardview_thumbnail_url": "http://login.circledev.net/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhOMlk1ZURWNGRXSmlPR0Z3WnpCck1tdzNjbmR4ZURocE4zTnllUVk2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpUVdsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW5CcFkzTjFiUzVxY0dWbklqc2dabWxzWlc1aGJXVXFQVlZVUmkwNEp5ZHdhV056ZFcwdWFuQmxad1k3QmxRNkVXTnZiblJsYm5SZmRIbHdaVWtpRDJsdFlXZGxMMnB3WldjR093WlVPaEZ6WlhKMmFXTmxYMjVoYldVNkNYUmxjM1E9IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2tleSJ9fQ==--de2ca9f5695147b886fe65a18179e53f445d42cb/picsum.jpeg", + "cardview_thumbnail": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--705b374a95b895bfd07289c5a26f002d24650efa", + "is_comments_closed": false, + "custom_html": "
Click Me!
", + "likes_count": 0, + "member_posts_count": 2, + "member_comments_count": 0, + "member_likes_count": 0, + "topics": [ + 12, + 43, + 54 + ] + }, + { + "id": 1, + "status": "published", + "name": "First post", + "slug": "ryan-brown", + "hide_meta_info": false, + "published_at": "2024-06-27T08:31:30.577Z", + "comments_count": 0, + "created_at": "2024-06-27T08:31:30.598Z", + "updated_at": "2024-06-27T08:31:30.602Z", + "is_comments_enabled": true, + "is_liking_enabled": true, + "flagged_for_approval_at": null, + "body": { + "id": 2, + "name": "body", + "body": "

Test

", + "record_type": "Post", + "record_id": 2, + "created_at": "2024-08-05T05:07:04.000Z", + "updated_at": "2024-08-05T05:07:04.000Z" + }, + "tiptap_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "Test", + "circle_ios_fallback_text": "Test" + } + ] + } + ] + }, + "circle_ios_fallback_text": "Test", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "post", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "url": "http://dickinson.circledev.net:31337/c/post/ryan-brown", + "space_name": "post", + "space_slug": "post", + "space_id": 1, + "user_id": 3, + "user_email": "delena@klein.net", + "user_name": "Stacey Schamberger PhD", + "community_id": 1, + "user_avatar_url": "https://example.com/avatar.png", + "cover_image_url": "http://login.circledev.net/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhOMlk1ZURWNGRXSmlPR0Z3WnpCck1tdzNjbmR4ZURocE4zTnllUVk2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpUVdsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW5CcFkzTjFiUzVxY0dWbklqc2dabWxzWlc1aGJXVXFQVlZVUmkwNEp5ZHdhV056ZFcwdWFuQmxad1k3QmxRNkVXTnZiblJsYm5SZmRIbHdaVWtpRDJsdFlXZGxMMnB3WldjR093WlVPaEZ6WlhKMmFXTmxYMjVoYldVNkNYUmxjM1E9IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2tleSJ9fQ==--de2ca9f5695147b886fe65a18179e53f445d42cb/picsum.jpeg", + "cover_image": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--705b374a95b895bfd07289c5a26f002d24650efa", + "cardview_thumbnail_url": "http://login.circledev.net/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhOMlk1ZURWNGRXSmlPR0Z3WnpCck1tdzNjbmR4ZURocE4zTnllUVk2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpUVdsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW5CcFkzTjFiUzVxY0dWbklqc2dabWxzWlc1aGJXVXFQVlZVUmkwNEp5ZHdhV056ZFcwdWFuQmxad1k3QmxRNkVXTnZiblJsYm5SZmRIbHdaVWtpRDJsdFlXZGxMMnB3WldjR093WlVPaEZ6WlhKMmFXTmxYMjVoYldVNkNYUmxjM1E9IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2tleSJ9fQ==--de2ca9f5695147b886fe65a18179e53f445d42cb/picsum.jpeg", + "cardview_thumbnail": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--705b374a95b895bfd07289c5a26f002d24650efa", + "is_comments_closed": false, + "custom_html": "
Hello World!
", + "likes_count": 0, + "member_posts_count": 2, + "member_comments_count": 0, + "member_likes_count": 0, + "topics": [ + 55, + 54, + 65 + ] + } + ] + }, + "DELETE /api/admin/v2/posts/101": { + "success": true, + "message": "This post has been removed from the space." + }, + "GET /api/admin/v2/posts/101": { + "id": 2, + "status": "published", + "name": "Second post", + "slug": "kiehn", + "comments_count": 0, + "hide_meta_info": false, + "published_at": "2024-06-27T08:31:30.777Z", + "created_at": "2024-06-27T08:31:30.781Z", + "updated_at": "2024-06-27T08:31:30.784Z", + "is_comments_enabled": true, + "is_liking_enabled": true, + "flagged_for_approval_at": null, + "body": { + "id": 2, + "name": "body", + "body": "

Test

", + "record_type": "Post", + "record_id": 2, + "created_at": "2024-08-05T05:07:04.000Z", + "updated_at": "2024-08-05T05:07:04.000Z" + }, + "tiptap_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "Test", + "circle_ios_fallback_text": "Test" + } + ] + } + ] + }, + "circle_ios_fallback_text": "Test", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "post", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "url": "http://dickinson.circledev.net:31337/c/post/kiehn", + "space_name": "post", + "space_slug": "post", + "space_id": 1, + "user_id": 6, + "user_email": "lyndon@frami.info", + "user_name": "Rory Wyman", + "community_id": 1, + "user_avatar_url": "https://example.com/avatar.png", + "cover_image_url": "http://login.circledev.net/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhOMlk1ZURWNGRXSmlPR0Z3WnpCck1tdzNjbmR4ZURocE4zTnllUVk2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpUVdsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW5CcFkzTjFiUzVxY0dWbklqc2dabWxzWlc1aGJXVXFQVlZVUmkwNEp5ZHdhV056ZFcwdWFuQmxad1k3QmxRNkVXTnZiblJsYm5SZmRIbHdaVWtpRDJsdFlXZGxMMnB3WldjR093WlVPaEZ6WlhKMmFXTmxYMjVoYldVNkNYUmxjM1E9IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2tleSJ9fQ==--de2ca9f5695147b886fe65a18179e53f445d42cb/picsum.jpeg", + "cover_image": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--705b374a95b895bfd07289c5a26f002d24650efa", + "cardview_thumbnail_url": "http://login.circledev.net/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhOMlk1ZURWNGRXSmlPR0Z3WnpCck1tdzNjbmR4ZURocE4zTnllUVk2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpUVdsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW5CcFkzTjFiUzVxY0dWbklqc2dabWxzWlc1aGJXVXFQVlZVUmkwNEp5ZHdhV056ZFcwdWFuQmxad1k3QmxRNkVXTnZiblJsYm5SZmRIbHdaVWtpRDJsdFlXZGxMMnB3WldjR093WlVPaEZ6WlhKMmFXTmxYMjVoYldVNkNYUmxjM1E9IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2tleSJ9fQ==--de2ca9f5695147b886fe65a18179e53f445d42cb/picsum.jpeg", + "cardview_thumbnail": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--705b374a95b895bfd07289c5a26f002d24650efa", + "is_comments_closed": false, + "custom_html": "
Click Me!
", + "likes_count": 0, + "member_posts_count": 2, + "member_comments_count": 0, + "member_likes_count": 0, + "topics": [ + 12, + 43, + 54 + ] + }, + "PUT /api/admin/v2/posts/101": { + "success": true, + "message": "Post updated.", + "post": { + "id": 1, + "status": "published", + "name": "deserunt", + "slug": "wintheiser", + "comments_count": 0, + "hide_meta_info": false, + "published_at": "2024-07-01T15:41:09.277Z", + "created_at": "2024-07-01T15:41:09.297Z", + "updated_at": "2024-07-01T15:41:09.678Z", + "is_comments_enabled": true, + "is_liking_enabled": true, + "flagged_for_approval_at": null, + "body": { + "id": 2, + "name": "body", + "body": "

Test

", + "record_type": "Post", + "record_id": 2, + "created_at": "2024-08-05T05:07:04.000Z", + "updated_at": "2024-08-05T05:07:04.000Z" + }, + "tiptap_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "Another Test", + "circle_ios_fallback_text": "Another Test" + } + ] + } + ] + }, + "circle_ios_fallback_text": "Test", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "post", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "url": "http://price.circledev.net:31337/c/similique/wintheiser", + "space_name": "laboriosam", + "space_slug": "similique", + "space_id": 1, + "user_id": 2, + "user_email": "zola.brekke@sporer-barrows.com", + "user_name": "Clay Schamberger II", + "community_id": 1, + "user_avatar_url": null, + "cover_image_url": null, + "cover_image": null, + "cardview_thumbnail_url": null, + "cardview_thumbnail": null, + "is_comments_closed": false, + "custom_html": "
Hello world
", + "likes_count": 0, + "member_posts_count": 1, + "member_comments_count": 0, + "member_likes_count": 0, + "topics": [ + + ] + } + }, + "GET /api/admin/v2/posts/101/summary": { + "overview": "This is a brief overview of the post", + "content": "This is the detailed content of the summary with comprehensive information." + }, + "PUT /api/admin/v2/profile_fields/101/archive": { + "success": true, + "message": "Profile field archived successfully." + }, + "POST /api/admin/v2/profile_fields": { + "id": 1, + "label": "Department", + "field_type": "text", + "key": "department", + "placeholder": "e.g., Engineering", + "description": "Your department", + "required": false, + "allow_null": true, + "platform_field": false, + "archived": false, + "created_at": "2025-10-27T14:00:00.000Z", + "updated_at": "2025-10-27T14:00:00.000Z", + "number_options": null, + "choices": [ + + ], + "pages": [ + { + "id": 1, + "name": "signup", + "position": 1, + "visible": true, + "created_at": "2025-10-27T14:00:00.000Z", + "updated_at": "2025-10-27T14:00:00.000Z" + } + ] + }, + "GET /api/admin/v2/profile_fields": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 2, + "page_count": 1, + "records": [ + { + "id": 1, + "label": "Department", + "field_type": "text", + "key": "department", + "placeholder": "e.g., Engineering", + "description": "Your department", + "required": false, + "allow_null": true, + "platform_field": false, + "archived": false, + "created_at": "2025-10-27T14:00:00.000Z", + "updated_at": "2025-10-27T14:00:00.000Z", + "number_options": null, + "choices": [ + + ], + "pages": [ + { + "id": 1, + "name": "signup", + "position": 1, + "visible": true, + "created_at": "2025-10-27T14:00:00.000Z", + "updated_at": "2025-10-27T14:00:00.000Z" + } + ] + } + ] + }, + "DELETE /api/admin/v2/profile_fields/101": { + "success": true, + "message": "Profile field deleted successfully." + }, + "PUT /api/admin/v2/profile_fields/101": { + "id": 1, + "label": "Team", + "field_type": "text", + "key": "department", + "placeholder": null, + "description": null, + "required": false, + "allow_null": false, + "platform_field": false, + "archived": false, + "created_at": "2025-10-27T14:00:00.000Z", + "updated_at": "2025-10-27T14:00:00.000Z", + "number_options": null, + "choices": [ + + ], + "pages": [ + { + "id": 1, + "name": "signup", + "position": 1, + "visible": true, + "created_at": "2025-10-27T14:00:00.000Z", + "updated_at": "2025-10-27T14:00:00.000Z" + } + ] + }, + "PUT /api/admin/v2/profile_fields/101/unarchive": { + "success": true, + "message": "Profile field unarchived successfully." + }, + "POST /api/admin/v2/space_group_members": { + "success": true, + "message": "User has been added to the space group." + }, + "DELETE /api/admin/v2/space_group_members": { + "success": true, + "message": "User removed from the space group and its spaces" + }, + "GET /api/admin/v2/space_group_members": { + "page": 1, + "per_page": 60, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "id": 2, + "user_id": 3, + "space_group_id": 1, + "community_member_id": 2, + "moderator": false, + "access_type": "invite", + "status": "active", + "created_at": "2024-09-11T12:48:42.000Z", + "updated_at": "2024-09-11T12:48:42.000Z", + "community_member": { + "first_name": "John", + "last_name": "Doe", + "headline": "Software Engineer", + "community_id": 1, + "profile_url": "https://example.com/john-doe", + "public_uid": "john-doe", + "avatar_url": "https://example.com/john-doe.png", + "name": "John Doe", + "email": "john.doe@example.com" + } + }, + { + "id": 1, + "user_id": 2, + "space_group_id": 1, + "community_member_id": 1, + "moderator": false, + "access_type": "invite", + "status": "active", + "created_at": "2024-09-11T12:48:42.000Z", + "updated_at": "2024-09-11T12:48:42.000Z", + "community_member": { + "first_name": "Jane", + "last_name": "Doe", + "headline": "Software Engineer", + "community_id": 1, + "profile_url": "https://example.com/jane-doe", + "public_uid": "jane-doe", + "avatar_url": "https://example.com/jane-doe.png", + "name": "Jane Doe", + "email": "jane.doe@example.com" + } + } + ] + }, + "GET /api/admin/v2/space_group_member": { + "id": 1, + "user_id": 2, + "space_group_id": 2, + "community_member_id": 2, + "access_type": "invite", + "status": "active", + "moderator": true, + "created_at": "2024-09-13T11:38:31.769Z", + "updated_at": "2024-09-13T11:38:31.769Z", + "community_member": { + "first_name": "John", + "last_name": "Doe", + "headline": "Software Engineer", + "community_id": 1, + "profile_url": "https://example.com/john-doe", + "public_uid": "john-doe", + "avatar_url": "https://example.com/john-doe.png", + "name": "John Doe", + "email": "john.doe@example.com" + } + }, + "POST /api/admin/v2/space_groups": { + "id": 1, + "name": "Test Group", + "slug": "test-group", + "community_id": 1, + "is_hidden_from_non_members": false, + "hide_members_count": false, + "allow_members_to_create_spaces": false, + "automatically_add_members_to_new_spaces": false, + "add_members_to_space_group_on_space_join": false, + "hide_non_member_spaces_from_sidebar": false, + "created_at": "2024-01-01T00:00:00Z", + "updated_at": "2024-01-01T00:00:00Z", + "space_group_members_count": 1, + "spaces_count": 0 + }, + "GET /api/admin/v2/space_groups": { + "page": 1, + "per_page": 60, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "id": 1, + "name": "Public Group", + "slug": "public-group", + "community_id": 1, + "is_hidden_from_non_members": false, + "hide_members_count": false, + "allow_members_to_create_spaces": true, + "automatically_add_members_to_new_spaces": true, + "add_members_to_space_group_on_space_join": false, + "hide_non_member_spaces_from_sidebar": false, + "created_at": "2024-01-01T00:00:00Z", + "updated_at": "2024-01-01T00:00:00Z", + "space_group_members_count": 0, + "spaces_count": 0 + }, + { + "id": 2, + "name": "Private Group", + "slug": "private-group", + "community_id": 1, + "is_hidden_from_non_members": true, + "hide_members_count": true, + "allow_members_to_create_spaces": false, + "automatically_add_members_to_new_spaces": false, + "add_members_to_space_group_on_space_join": true, + "hide_non_member_spaces_from_sidebar": true, + "created_at": "2024-01-01T00:00:00Z", + "updated_at": "2024-01-01T00:00:00Z", + "space_group_members_count": 5, + "spaces_count": 3 + } + ] + }, + "DELETE /api/admin/v2/space_groups/101": { + "success": true, + "message": "The space group has been removed from the community" + }, + "GET /api/admin/v2/space_groups/101": { + "id": 1, + "name": "Group 1", + "slug": "group-1", + "community_id": 1, + "is_hidden_from_non_members": false, + "hide_members_count": false, + "allow_members_to_create_spaces": false, + "automatically_add_members_to_new_spaces": false, + "add_members_to_space_group_on_space_join": false, + "hide_non_member_spaces_from_sidebar": false, + "created_at": "2024-01-01T00:00:00Z", + "updated_at": "2024-01-01T00:00:00Z", + "space_group_members_count": 0, + "spaces_count": 0 + }, + "PUT /api/admin/v2/space_groups/101": { + "id": 1, + "name": "Updated Name", + "slug": "updated-slug", + "community_id": 1, + "is_hidden_from_non_members": false, + "hide_members_count": false, + "allow_members_to_create_spaces": false, + "automatically_add_members_to_new_spaces": false, + "add_members_to_space_group_on_space_join": false, + "hide_non_member_spaces_from_sidebar": false, + "created_at": "2024-01-01T00:00:00Z", + "updated_at": "2024-01-01T00:00:00Z", + "space_group_members_count": 0, + "spaces_count": 0 + }, + "POST /api/admin/v2/space_members": { + "message": "User added to space" + }, + "DELETE /api/admin/v2/space_members": { + "message": "Member removed from space" + }, + "GET /api/admin/v2/space_members": { + "page": 1, + "per_page": 60, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "id": 2, + "user_id": 3, + "space_id": 1, + "notification_type": "never", + "posts_read_count": 1, + "in_app_notification_setting": "never", + "community_member_id": 2, + "moderator": false, + "mobile_notification_setting": "never", + "access_type": "invite", + "status": "active", + "created_at": "2024-09-11T12:48:42.000Z", + "updated_at": "2024-09-11T12:48:42.000Z", + "community_member": { + "first_name": "John", + "last_name": "Doe", + "headline": "Software Engineer", + "community_id": 1, + "profile_url": "https://example.com/john-doe", + "public_uid": "john-doe", + "avatar_url": "https://example.com/john-doe.png", + "name": "John Doe", + "email": "john.doe@example.com" + } + }, + { + "id": 1, + "user_id": 2, + "space_id": 1, + "notification_type": "never", + "posts_read_count": 0, + "in_app_notification_setting": "never", + "community_member_id": 1, + "moderator": false, + "mobile_notification_setting": "never", + "access_type": "invite", + "status": "active", + "created_at": "2024-09-11T12:48:42.000Z", + "updated_at": "2024-09-11T12:48:42.000Z", + "community_member": { + "first_name": "Jane", + "last_name": "Doe", + "headline": "Software Engineer", + "community_id": 1, + "profile_url": "https://example.com/jane-doe", + "public_uid": "jane-doe", + "avatar_url": "https://example.com/jane-doe.png", + "name": "Jane Doe", + "email": "jane.doe@example.com" + } + } + ] + }, + "GET /api/admin/v2/space_member": { + "id": 1, + "user_id": 2, + "space_id": 1, + "notification_type": "never", + "posts_read_count": 0, + "in_app_notification_setting": "never", + "community_member_id": 1, + "moderator": false, + "mobile_notification_setting": "never", + "access_type": "invite", + "status": "active", + "created_at": "2024-09-12T12:03:02.000Z", + "updated_at": "2024-09-12T12:03:02.000Z", + "community_member": { + "name": "John Doe", + "first_name": "John", + "last_name": "Doe", + "headline": "Software Engineer", + "community_id": 1, + "profile_url": "https://example.com/john-doe", + "public_uid": "john-doe", + "avatar_url": "https://example.com/john-doe.png", + "email": "john.doe@example.com" + } + }, + "GET /api/admin/v2/spaces/101/ai_summaries": { + "overview": "The space 'latest-updates' highlights recent announcements and product discussions.", + "topics": [ + { + "topic_name": "Launch Planning", + "summary": "Members coordinated timelines and deliverables for the next release.", + "contributors": [ + { + "id": 1001, + "name": "Ada Lovelace" + } + ], + "relevant_post_ids": [ + 10, + 12 + ] + }, + { + "topic_name": "Community Feedback", + "summary": "Conversation focused on improvements suggested by power users.", + "contributors": [ + { + "id": 1002, + "name": "Grace Hopper" + } + ], + "relevant_post_ids": [ + 14 + ] + } + ] + }, + "POST /api/admin/v2/spaces": { + "success": true, + "message": "Space created.", + "space": { + "id": 2, + "name": "Test Space", + "slug": "test-space", + "cover_image_url": "https://heller-nader.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhZVGMyYldFNWMzRXhNR3cyYUd4aWNqQm1PWFprT0hnek16QnJNZ1k2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpUVdsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW5CcFkzTjFiUzVxY0dWbklqc2dabWxzWlc1aGJXVXFQVlZVUmkwNEp5ZHdhV056ZFcwdWFuQmxad1k3QmxRNkVXTnZiblJsYm5SZmRIbHdaVWtpRDJsdFlXZGxMMnB3WldjR093WlVPaEZ6WlhKMmFXTmxYMjVoYldVNkNYUmxjM1E9IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2tleSJ9fQ==--a99c1c9c683c8f856799aec51620ef13c487b89c/picsum.jpeg", + "cover_image_visible": true, + "cover_image_display_style": "normal", + "community_id": 1, + "is_private": false, + "hide_post_settings": false, + "display_view": "posts", + "is_post_disabled": false, + "space_type": "basic", + "host": "https://willms.example.com", + "post_ids": [ + 1, + 2, + 3 + ], + "url": "https://willms.example.com/c/test-space", + "custom_emoji_url": "https://example.com/emoji.png", + "custom_emoji_dark_url": "https://example.com/emoji-dark.png", + "emoji": "#", + "space_group": { + "id": 2, + "name": "Name 1" + }, + "topics": [ + 1, + 34, + 4 + ], + "course_setting": { + "course_type": "structured", + "custom_lesson_label": null, + "custom_section_label": null, + "enforce_lessons_order": false, + "new_comment_notification_enabled": false + } + } + }, + "GET /api/admin/v2/spaces": { + "page": 1, + "per_page": 60, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "id": 1, + "name": "aut", + "slug": "sit", + "cover_image_url": "https://medhurst.example.com/storage/cover_images/1/picsum.jpeg", + "cover_image_visible": true, + "cover_image_display_style": "wide", + "community_id": 1, + "is_private": false, + "hide_post_settings": false, + "display_view": "posts", + "is_post_disabled": false, + "space_type": "basic", + "host": "https://medhurst.example.com", + "post_ids": [ + 1 + ], + "url": "https://medhurst.example.com/c/sit", + "custom_emoji_url": "https://medhurst.example.com/emoji/1", + "custom_emoji_dark_url": "https://medhurst.example.com/emoji/2", + "emoji": "#", + "space_group": { + "id": 2, + "name": "Name 1" + }, + "topics": [ + 32, + 21, + 12 + ], + "event_auto_rsvp_enabled": false, + "default_in_app_notification_setting": "never", + "default_mention_in_app_notification_setting": "never", + "default_mention_mobile_notification_setting": "never", + "default_mobile_notification_setting": "never", + "default_notification_setting": "never" + }, + { + "id": 2, + "name": "maxime", + "slug": "ad", + "cover_image_url": "https://medhurst.example.com/storage/cover_images/2/picsum.jpeg", + "cover_image_visible": true, + "cover_image_display_style": "wide", + "community_id": 1, + "is_private": false, + "hide_post_settings": false, + "display_view": "posts", + "is_post_disabled": false, + "space_type": "basic", + "host": "https://medhurst.example.com", + "post_ids": [ + 14, + 52 + ], + "url": "https://medhurst.example.com/c/ad", + "custom_emoji_url": "https://medhurst.example.com/emoji/1", + "custom_emoji_dark_url": "https://medhurst.example.com/emoji/2", + "emoji": "#", + "space_group": { + "id": 3, + "name": "Name 2" + }, + "topics": [ + 1, + 2, + 3 + ], + "event_auto_rsvp_enabled": false, + "default_in_app_notification_setting": "never", + "default_mention_in_app_notification_setting": "never", + "default_mention_mobile_notification_setting": "never", + "default_mobile_notification_setting": "never", + "default_notification_setting": "never" + } + ] + }, + "DELETE /api/admin/v2/spaces/101": { + "success": true, + "message": "This space has been removed from the community." + }, + "GET /api/admin/v2/spaces/101": { + "id": 1, + "name": "aut", + "slug": "sit", + "cover_image_url": "https://medhurst.example.com/storage/cover_images/1/picsum.jpeg", + "cover_image_visible": true, + "cover_image_display_style": "wide", + "community_id": 1, + "is_private": false, + "hide_post_settings": false, + "display_view": "posts", + "is_post_disabled": false, + "space_type": "basic", + "host": "https://medhurst.example.com", + "post_ids": [ + 1 + ], + "url": "https://medhurst.example.com/c/sit", + "custom_emoji_url": "https://medhurst.example.com/emoji/1", + "custom_emoji_dark_url": "https://medhurst.example.com/emoji/2", + "emoji": "#", + "space_group": { + "id": 2, + "name": "Name 1" + }, + "topics": [ + 32, + 21, + 12 + ], + "event_auto_rsvp_enabled": false, + "default_in_app_notification_setting": "never", + "default_mobile_notification_setting": "never", + "default_notification_setting": "never", + "default_mention_in_app_notification_setting": "never", + "default_mention_mobile_notification_setting": "never" + }, + "PUT /api/admin/v2/spaces/101": { + "id": 123, + "name": "Real-time Team Chat", + "slug": "team-chat", + "space_group": { + "id": 1, + "name": "General" + }, + "cover_image_url": "https://cdn.circle.so/signed_id_chat_cover_123.jpg", + "cover_image_visible": false, + "cover_image_display_style": "wide", + "thumbnail_image_url": null, + "url": "/c/community/team-chat", + "community_id": 456, + "is_private": true, + "is_hidden_from_non_members": true, + "is_hidden": false, + "locked_button_url": null, + "locked_button_label": null, + "locked_page_heading": null, + "locked_page_description": null, + "hide_post_settings": false, + "display_view": "posts", + "post_ids": [ + + ], + "is_post_disabled": false, + "space_type": "chat", + "host": "community.circle.so", + "emoji": "💬", + "custom_emoji_url": null, + "custom_emoji_dark_url": null, + "topics": [ + + ], + "event_auto_rsvp_enabled": false, + "default_in_app_notification_setting": "all", + "default_mention_in_app_notification_setting": "all", + "default_mention_mobile_notification_setting": "all", + "default_mobile_notification_setting": "all", + "default_notification_setting": "never", + "default_sort": "latest", + "hide_sorting": false, + "require_topic_selection": false, + "prevent_members_from_adding_others": false, + "hide_from_featured_areas": false, + "disable_member_post_covers": false, + "hide_members_count": false, + "pinned_posts_label": null, + "show_lock_icon_for_non_members": false, + "default_comment_sort": "oldest", + "default_member_sort": "recent_activity", + "default_tab": "posts", + "show_tab_bar": false, + "show_next_event": false, + "hide_from_sidebar": false, + "hide_right_sidebar": false, + "lock_screen_blocks": [ + + ], + "visible_tabs": { + "posts": true, + "members": true, + "upcoming": false, + "past": false + }, + "meta_tag_attributes": { + "meta_title": "Team Chat Room", + "meta_description": "Private chat space for team collaboration", + "opengraph_title": "Team Chat", + "opengraph_description": "Real-time team communication space" + }, + "chat_room_show_history": true, + "chat_room_description": "Private team chat for project discussions and quick updates" + }, + "POST /api/admin/v2/tagged_members": { + "message": "Person tagged successfully!" + }, + "DELETE /api/admin/v2/tagged_members": { + "message": "Tag has been removed" + }, + "GET /api/admin/v2/tagged_members": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "id": 1, + "member_tag_id": 1, + "member_tag_name": "Member Tag 1", + "member_tag_emoji": "👍", + "user_id": 1, + "user_email": "user1@example.com", + "lead_id": 1, + "lead_email": "lead1@example.com", + "community_member_id": 1, + "contact_id": 1, + "created_at": "2021-01-01T00:00:00Z", + "updated_at": "2021-01-01T00:00:00Z" + }, + { + "id": 2, + "member_tag_id": 2, + "member_tag_name": "Member Tag 2", + "member_tag_emoji": "👍", + "user_id": 2, + "user_email": "user2@example.com", + "lead_id": 2, + "lead_email": "lead2@example.com", + "community_member_id": 1, + "contact_id": 2, + "created_at": "2021-01-01T00:00:00Z", + "updated_at": "2021-01-01T00:00:00Z" + } + ] + }, + "GET /api/admin/v2/tagged_members/101": { + "id": 1, + "member_tag_id": 1, + "member_tag_name": "Member Tag 1", + "member_tag_emoji": "👍", + "user_id": 1, + "user_email": "user1@example.com", + "lead_id": 1, + "lead_email": "lead1@example.com", + "community_member_id": 1, + "contact_id": 1, + "created_at": "2021-01-01T00:00:00Z", + "updated_at": "2021-01-01T00:00:00Z" + }, + "GET /api/admin/v2/tax_setting": { + "processor_status": "enabled", + "platform_status": "disabled", + "default_tax_behavior": "exclusive" + }, + "PUT /api/admin/v2/tax_setting": { + "processor_status": "enabled", + "platform_status": "enabled", + "default_tax_behavior": "inclusive" + }, + "POST /api/admin/v2/topics": { + "id": 1, + "name": "New Topic", + "admin_only": true, + "created_at": "2025-04-01T21:24:17.411Z", + "updated_at": "2025-04-01T21:24:17.411Z", + "author": { + "first_name": "John", + "last_name": "Doe", + "avatar_url": "https://example.com/avatar.png" + }, + "space_ids": [ + 1, + 2, + 3 + ] + }, + "GET /api/admin/v2/topics": { + "success": true, + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "id": 1, + "name": "Math assignments", + "admin_only": false, + "created_at": "2024-01-01T00:00:00Z", + "updated_at": "2024-01-01T00:00:00Z", + "author": { + "id": 1, + "name": "Chris Jones", + "avatar_url": "https://example.com/avatar.png" + }, + "space_ids": [ + 1, + 2 + ] + }, + { + "id": 2, + "name": "Science assignments", + "admin_only": true, + "created_at": "2024-01-01T00:00:00Z", + "updated_at": "2024-01-01T00:00:00Z", + "author": { + "id": 2, + "name": "Matthew Smith", + "avatar_url": "https://example.com/avatar.png" + }, + "space_ids": [ + 3 + ] + } + ] + }, + "DELETE /api/admin/v2/topics/101": { + "success": true, + "message": "Topic deleted." + }, + "GET /api/admin/v2/topics/101": { + "id": 1, + "name": "Topic 1", + "admin_only": false, + "created_at": "2025-04-01T21:24:17.411Z", + "updated_at": "2025-04-01T21:33:43.219Z", + "author": { + "first_name": "John", + "last_name": "Doe", + "avatar_url": "https://example.com/avatar.png" + }, + "space_ids": [ + 1, + 2, + 3 + ] + }, + "PUT /api/admin/v2/topics/101": { + "id": 1, + "name": "Updated Topic", + "admin_only": false, + "created_at": "2025-04-01T21:24:17.411Z", + "updated_at": "2025-04-01T21:33:43.219Z", + "author": { + "first_name": "John", + "last_name": "Doe", + "avatar_url": "https://example.com/avatar.png" + }, + "space_ids": [ + 1, + 2, + 3 + ] + } +} diff --git a/tests/stubs/responses/headless_auth_examples.json b/tests/stubs/responses/headless_auth_examples.json new file mode 100644 index 0000000..f61f017 --- /dev/null +++ b/tests/stubs/responses/headless_auth_examples.json @@ -0,0 +1,14 @@ +{ + "PATCH /api/v1/headless/access_token/refresh": { + "access_token": "eyJhbGciOiJIUzI1NiJ9.eyJjb21tdW5pdHlfaWQiOjEsImNvbW11bml0eV9tZW1iZXJfaWQiOjEsInNzb191c2VyX2lkIjoiMzI3NjBjNzE3NjcxMTI3ODRlZmQ0Mzc5YjBjNmM2NzAiLCJleHAiOjE3MDg2MDc4MTIsImp0aSI6ImQ1ZjcyY2M1LTE3MWUtNDRlMy1hZWRmLTk0YTNlOGVjM2Q2NCJ9.MLhVBGtmScRCZWbAQ1T-g5wAzwMe4ly1hwgKdv2ie94", + "access_token_expires_at": "2022-01-01T00:00:00.000Z" + }, + "POST /api/v1/headless/auth_token": { + "access_token": "eyJhbGciOiJIUzI1NiJ9.eyJjb21tdW5pdHlfaWQiOjEsImNvbW11bml0eV9tZW1iZXJfaWQiOjEsInNzb191c2VyX2lkIjoiZjdiOThlYjczZjdkMGQ0NGU0ZWE1MjYyN2JiYjVhMzkiLCJleHAiOjE3MDg1NDE1MTAsImp0aSI6ImE1MjM2ZmQzLWY4NGItNDcyYy1iNjI2LTcyYTk3YmYwZTcyOSJ9.-MY06GiyXB41dLAx_F4Eu8R4sRxq6QEjy3uLWc4Z6k8", + "refresh_token": "jaebyVK59l5xxAx1D4pM8H-wYyFA6gMC12RGYZcy44w", + "access_token_expires_at": "2022-01-01T00:00:00.000Z", + "refresh_token_expires_at": "2022-01-01T00:00:00.000Z", + "community_member_id": 1, + "community_id": 1 + } +} diff --git a/tests/stubs/responses/headless_member_examples.json b/tests/stubs/responses/headless_member_examples.json new file mode 100644 index 0000000..63d7b15 --- /dev/null +++ b/tests/stubs/responses/headless_member_examples.json @@ -0,0 +1,11245 @@ +{ + "GET /api/headless/v1/advanced_search": { + "page": 1, + "has_next_page": false, + "count": 2, + "page_count": 2, + "per_page": 20, + "records": [ + { + "id": 5, + "type": "space", + "name": "test-course", + "slug": "post-f660aa", + "emoji": null, + "custom_emoji_url": "http://welch.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://welch.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "highlighted_name": "test-course", + "sgid": "BAh7CEkiCGdpZAY6BkVUSSIrZ2lkOi8vanVtcHN0YXJ0LWFwcC9TcGFjZS81P2V4cGlyZXNfaW4GOwBUSSIMcHVycG9zZQY7AFRJIhRyaWNoX3RleHRfZmllbGQGOwBUSSIPZXhwaXJlc19hdAY7AFQw--dcfb87eb31f172aecef008f09046d5b2e209b95a" + }, + { + "id": 4, + "type": "space", + "name": "Test Members Space", + "slug": "post-e1ad1d", + "emoji": null, + "custom_emoji_url": "http://welch.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://welch.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "highlighted_name": "Test Members Space", + "sgid": "BAh7CEkiCGdpZAY6BkVUSSIrZ2lkOi8vanVtcHN0YXJ0LWFwcC9TcGFjZS80P2V4cGlyZXNfaW4GOwBUSSIMcHVycG9zZQY7AFRJIhRyaWNoX3RleHRfZmllbGQGOwBUSSIPZXhwaXJlc19hdAY7AFQw--02e6f8df1b8f6cccf87b5550939f721066267a82" + } + ] + }, + "POST /api/headless/v1/bookmarks": { + "id": 1, + "record_id": 2, + "bookmark_type": "post", + "created_at": "2024-04-10T08:41:35.917Z", + "community_id": 1, + "community_member_id": 1, + "bookmark_record": { + "id": 2, + "slug": "walter-bartell", + "created_at": "2024-04-10T08:41:35.882Z", + "name": "Est repudiandae rem qui.", + "url": "http://mueller-gleichner.circledev.net:31337/c/architecto/walter-bartell", + "body": "Omnis recusandae est modi.", + "attachment_count": 0, + "hide_meta_info": false, + "author": { + "name": "Osvaldo Barrows", + "avatar_url": "http://mueller-gleichner.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "community_member_id": 1 + }, + "space": { + "id": 1, + "slug": "architecto", + "name": "ea", + "emoji": "🔵", + "custom_emoji_url": "http://mueller-gleichner.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://mueller-gleichner.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png" + } + }, + "is_deleted": false + }, + "GET /api/headless/v1/bookmarks": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 1, + "page_count": 1, + "records": [ + { + "id": 1, + "record_id": 2, + "bookmark_type": "post", + "created_at": "2024-04-10T08:41:35.917Z", + "community_id": 1, + "community_member_id": 1, + "bookmark_record": { + "id": 2, + "slug": "walter-bartell", + "created_at": "2024-04-10T08:41:35.882Z", + "name": "Est repudiandae rem qui.", + "url": "http://mueller-gleichner.circledev.net:31337/c/architecto/walter-bartell", + "body": "Omnis recusandae est modi.", + "attachment_count": 0, + "author": { + "name": "Osvaldo Barrows", + "avatar_url": "http://mueller-gleichner.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "community_member_id": 1 + }, + "space": { + "id": 1, + "slug": "architecto", + "name": "ea", + "emoji": "🔵", + "custom_emoji_url": "http://mueller-gleichner.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://mueller-gleichner.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png" + } + }, + "is_deleted": false + } + ] + }, + "GET /api/headless/v1/messages/101/chat_room_messages": { + "id": 15, + "has_previous_page": false, + "has_next_page": false, + "first_id": 1, + "last_id": 15, + "total_count": 15, + "records": [ + { + "id": 1, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-02T11:38:40.279Z", + "chat_room_uuid": "ba871a82-de70-4ff8-b04e-08d666fff96c", + "chat_room_participant_id": 5, + "body": "Tempora consequuntur expedita quo.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-02T11:38:40.279Z", + "replies_count": 0, + "last_reply_at": null, + "sender": { + "id": 5, + "name": "Shayne Smith", + "community_member_id": 5, + "user_public_uid": "04383c0d", + "avatar_url": null + }, + "total_thread_participants_count": 0, + "thread_participants_preview": [ + + ], + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + { + "id": 2, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-02T11:38:40.301Z", + "chat_room_uuid": "ba871a82-de70-4ff8-b04e-08d666fff96c", + "chat_room_participant_id": 2, + "body": "Voluptatum vel consequuntur iste.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-02T11:38:40.301Z", + "replies_count": 0, + "last_reply_at": null, + "sender": { + "id": 2, + "name": "Gov. Tamekia West", + "community_member_id": 2, + "user_public_uid": "e33d3cd7", + "avatar_url": null + }, + "total_thread_participants_count": 0, + "thread_participants_preview": [ + + ], + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + { + "id": 3, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-02T11:38:40.313Z", + "chat_room_uuid": "ba871a82-de70-4ff8-b04e-08d666fff96c", + "chat_room_participant_id": 2, + "body": "Qui atque est veritatis.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-02T11:38:40.313Z", + "replies_count": 0, + "last_reply_at": null, + "sender": { + "id": 2, + "name": "Gov. Tamekia West", + "community_member_id": 2, + "user_public_uid": "e33d3cd7", + "avatar_url": null + }, + "total_thread_participants_count": 0, + "thread_participants_preview": [ + + ], + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + { + "id": 4, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-02T11:38:40.324Z", + "chat_room_uuid": "ba871a82-de70-4ff8-b04e-08d666fff96c", + "chat_room_participant_id": 1, + "body": "Sit nisi dolor qui.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-02T11:38:40.324Z", + "replies_count": 0, + "last_reply_at": null, + "sender": { + "id": 1, + "name": "Pinkie Stark", + "community_member_id": 1, + "user_public_uid": "3155dd38", + "avatar_url": null + }, + "total_thread_participants_count": 0, + "thread_participants_preview": [ + + ], + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + { + "id": 5, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-02T11:38:40.334Z", + "chat_room_uuid": "ba871a82-de70-4ff8-b04e-08d666fff96c", + "chat_room_participant_id": 5, + "body": "Aut culpa sapiente soluta.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-02T11:38:40.334Z", + "replies_count": 0, + "last_reply_at": null, + "sender": { + "id": 5, + "name": "Shayne Smith", + "community_member_id": 5, + "user_public_uid": "04383c0d", + "avatar_url": null + }, + "total_thread_participants_count": 0, + "thread_participants_preview": [ + + ], + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + { + "id": 6, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-02T11:38:40.347Z", + "chat_room_uuid": "ba871a82-de70-4ff8-b04e-08d666fff96c", + "chat_room_participant_id": 2, + "body": "Veniam quis quaerat eum.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-02T11:38:40.347Z", + "replies_count": 0, + "last_reply_at": null, + "sender": { + "id": 2, + "name": "Gov. Tamekia West", + "community_member_id": 2, + "user_public_uid": "e33d3cd7", + "avatar_url": null + }, + "total_thread_participants_count": 0, + "thread_participants_preview": [ + + ], + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + { + "id": 7, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-02T11:38:40.360Z", + "chat_room_uuid": "ba871a82-de70-4ff8-b04e-08d666fff96c", + "chat_room_participant_id": 5, + "body": "Officia enim saepe animi.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-02T11:38:40.360Z", + "replies_count": 0, + "last_reply_at": null, + "sender": { + "id": 5, + "name": "Shayne Smith", + "community_member_id": 5, + "user_public_uid": "04383c0d", + "avatar_url": null + }, + "total_thread_participants_count": 0, + "thread_participants_preview": [ + + ], + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + { + "id": 8, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-02T11:38:40.373Z", + "chat_room_uuid": "ba871a82-de70-4ff8-b04e-08d666fff96c", + "chat_room_participant_id": 3, + "body": "Tempora autem sapiente odit.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-02T11:38:40.373Z", + "replies_count": 0, + "last_reply_at": null, + "sender": { + "id": 3, + "name": "Kandra Doyle", + "community_member_id": 3, + "user_public_uid": "5d3fd020", + "avatar_url": null + }, + "total_thread_participants_count": 0, + "thread_participants_preview": [ + + ], + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + { + "id": 9, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-02T11:38:40.386Z", + "chat_room_uuid": "ba871a82-de70-4ff8-b04e-08d666fff96c", + "chat_room_participant_id": 4, + "body": "Minus et laudantium ipsa.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-02T11:38:40.386Z", + "replies_count": 0, + "last_reply_at": null, + "sender": { + "id": 4, + "name": "Edgar Harris", + "community_member_id": 4, + "user_public_uid": "18e3ec9f", + "avatar_url": null + }, + "total_thread_participants_count": 0, + "thread_participants_preview": [ + + ], + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + { + "id": 10, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-02T11:38:40.400Z", + "chat_room_uuid": "ba871a82-de70-4ff8-b04e-08d666fff96c", + "chat_room_participant_id": 4, + "body": "Temporibus tenetur vel magni.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-02T11:38:40.400Z", + "replies_count": 0, + "last_reply_at": null, + "sender": { + "id": 4, + "name": "Edgar Harris", + "community_member_id": 4, + "user_public_uid": "18e3ec9f", + "avatar_url": null + }, + "total_thread_participants_count": 0, + "thread_participants_preview": [ + + ], + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + { + "id": 11, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-02T11:38:40.413Z", + "chat_room_uuid": "ba871a82-de70-4ff8-b04e-08d666fff96c", + "chat_room_participant_id": 3, + "body": "Laborum et neque ea.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-02T11:38:40.413Z", + "replies_count": 0, + "last_reply_at": null, + "sender": { + "id": 3, + "name": "Kandra Doyle", + "community_member_id": 3, + "user_public_uid": "5d3fd020", + "avatar_url": null + }, + "total_thread_participants_count": 0, + "thread_participants_preview": [ + + ], + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + { + "id": 12, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-02T11:38:40.427Z", + "chat_room_uuid": "ba871a82-de70-4ff8-b04e-08d666fff96c", + "chat_room_participant_id": 4, + "body": "Laboriosam voluptatibus cupiditate autem.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-02T11:38:40.427Z", + "replies_count": 0, + "last_reply_at": null, + "sender": { + "id": 4, + "name": "Edgar Harris", + "community_member_id": 4, + "user_public_uid": "18e3ec9f", + "avatar_url": null + }, + "total_thread_participants_count": 0, + "thread_participants_preview": [ + + ], + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + { + "id": 13, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-02T11:38:40.440Z", + "chat_room_uuid": "ba871a82-de70-4ff8-b04e-08d666fff96c", + "chat_room_participant_id": 3, + "body": "Et quod quia vel.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-02T11:38:40.440Z", + "replies_count": 0, + "last_reply_at": null, + "sender": { + "id": 3, + "name": "Kandra Doyle", + "community_member_id": 3, + "user_public_uid": "5d3fd020", + "avatar_url": null + }, + "total_thread_participants_count": 0, + "thread_participants_preview": [ + + ], + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + { + "id": 14, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-02T11:38:40.453Z", + "chat_room_uuid": "ba871a82-de70-4ff8-b04e-08d666fff96c", + "chat_room_participant_id": 4, + "body": "Quia similique maiores et.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-02T11:38:40.453Z", + "replies_count": 0, + "last_reply_at": null, + "sender": { + "id": 4, + "name": "Edgar Harris", + "community_member_id": 4, + "user_public_uid": "18e3ec9f", + "avatar_url": null + }, + "total_thread_participants_count": 0, + "thread_participants_preview": [ + + ], + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + { + "id": 15, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-02T11:38:40.467Z", + "chat_room_uuid": "ba871a82-de70-4ff8-b04e-08d666fff96c", + "chat_room_participant_id": 4, + "body": "Tempore minus ea et.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-02T11:38:40.467Z", + "replies_count": 0, + "last_reply_at": null, + "sender": { + "id": 4, + "name": "Edgar Harris", + "community_member_id": 4, + "user_public_uid": "18e3ec9f", + "avatar_url": null + }, + "total_thread_participants_count": 0, + "thread_participants_preview": [ + + ], + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + } + ], + "meta": { + } + }, + "GET /api/headless/v1/messages/101/chat_room_messages/102": { + "id": 11, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-02T11:38:40.413Z", + "chat_room_uuid": "ba871a82-de70-4ff8-b04e-08d666fff96c", + "chat_room_participant_id": 3, + "body": "Laborum et neque ea.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-02T11:38:40.413Z", + "replies_count": 0, + "last_reply_at": null, + "sender": { + "id": 3, + "name": "Kandra Doyle", + "community_member_id": 3, + "user_public_uid": "5d3fd020", + "avatar_url": null + }, + "total_thread_participants_count": 0, + "thread_participants_preview": [ + + ], + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + "GET /api/headless/v1/messages/101/chat_room_participants": { + "page": 1, + "per_page": 50, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "id": 1, + "community_member_id": 1, + "name": "Esmeralda Johnston", + "user_public_uid": "5caaff8e", + "avatar_url": null, + "muted": false, + "archived": false, + "last_seen_text": "", + "status": "offline", + "headline": "Administration Designer", + "bio": "Aspernatur qui qui. Aut et error. Quis quia expedita.", + "location": "", + "email": "man.collins@mueller.net", + "user_id": 2, + "admin": false, + "community_admin": true, + "moderator": false, + "deleted_at": null + }, + { + "id": 2, + "community_member_id": 2, + "name": "Stephany Rice", + "user_public_uid": "969c2e0e", + "avatar_url": null, + "muted": false, + "archived": false, + "last_seen_text": "", + "status": "offline", + "headline": "Marketing Assistant", + "bio": "Consequatur dolore sit. Dolores quisquam non. Suscipit ut et.", + "location": "", + "email": "barbra.damore@howell.org", + "user_id": 3, + "admin": false, + "community_admin": false, + "moderator": false, + "deleted_at": null + } + ] + }, + "PUT /api/headless/v1/messages/101/chat_room_participants/102": { + "chat_room": { + "id": 1, + "uuid": "65f3668c-46fe-4f62-9b31-6a3fa1d4e883", + "identifier": "direct-1-2", + "unread_messages_count": 0, + "chat_room_kind": "direct", + "chat_room_name": "Denis Hilll", + "chat_room_description": "", + "chat_room_show_history": true, + "chat_room_participants_count": 2, + "other_participants_preview": [ + { + "id": 2, + "name": "Denis Hilll", + "last_seen_text": "", + "user_public_uid": "f3344caa", + "headline": "Future Engineer", + "bio": "Aut vitae impedit. Ea enim voluptatem. Repudiandae culpa rerum.", + "location": "", + "email": "young_yundt@torp-goyette.com", + "avatar_url": null, + "user_id": 3, + "community_member_id": 2, + "deleted_at": null, + "admin": false, + "community_admin": false, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": true, + "status": "offline" + } + ], + "current_participant": { + "id": 1, + "name": "Wendi Kozey", + "last_seen_text": "", + "user_public_uid": "20e96de1", + "headline": "Dynamic Legal Architect", + "bio": "Error consectetur dolorem. Tempore quam laborum. Facere occaecati autem.", + "location": "", + "email": "jesse@rodriguez.org", + "avatar_url": null, + "user_id": 2, + "community_member_id": 1, + "deleted_at": null, + "admin": false, + "community_admin": true, + "moderator": false, + "muted": false, + "archived": true, + "can_send_message": false + }, + "last_message": { + "id": 1, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-23T11:18:54.171Z", + "chat_room_uuid": "65f3668c-46fe-4f62-9b31-6a3fa1d4e883", + "chat_room_participant_id": 2, + "body": "Hi", + "bookmark_id": null, + "rich_text_body": null, + "sent_at": "2024-05-23T11:18:54.171Z", + "sender": { + "id": 2, + "name": "Denis Hilll", + "community_member_id": 2, + "user_public_uid": "f3344caa", + "avatar_url": null + }, + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + "first_unread_message_id": null + } + }, + "POST /api/headless/v1/messages": { + "chat_room": { + "id": 1, + "uuid": "a3984545-56b4-4536-8c9d-b433296294ef", + "identifier": "group_chat-1-2-3", + "unread_messages_count": 0, + "chat_room_kind": "group_chat", + "chat_room_name": "Scarlet, Jody", + "chat_room_description": "", + "chat_room_show_history": true, + "chat_room_participants_count": 3, + "other_participants_preview": [ + { + "id": 1, + "name": "Scarlet Torphy", + "last_seen_text": "", + "user_public_uid": "8b899fcf", + "headline": "Central Facilitator", + "bio": "Ducimus veritatis aut. Eos minus ratione. Sit architecto tenetur.", + "location": "", + "email": "leanora.senger@fadel-tromp.io", + "avatar_url": null, + "user_id": 3, + "community_member_id": 2, + "deleted_at": null, + "admin": false, + "community_admin": true, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": true, + "status": "offline" + }, + { + "id": 2, + "name": "Jody Schmidt", + "last_seen_text": "", + "user_public_uid": "6183cc00", + "headline": "Customer Representative", + "bio": "Quae necessitatibus perspiciatis. Sed iusto quam. Magni ipsum rerum.", + "location": "", + "email": "tanner.gleason@jakubowski.info", + "avatar_url": null, + "user_id": 4, + "community_member_id": 3, + "deleted_at": null, + "admin": false, + "community_admin": true, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": true, + "status": "offline" + } + ], + "current_participant": { + "id": 3, + "name": "Elton Lubowitz JD", + "last_seen_text": "", + "user_public_uid": "8c62b0c7", + "headline": "Human Design Technician", + "bio": "Ducimus est qui. Aut quia quasi. Sequi placeat nihil.", + "location": "", + "email": "hermila@johnson.info", + "avatar_url": null, + "user_id": 2, + "community_member_id": 1, + "deleted_at": null, + "admin": true, + "community_admin": true, + "moderator": true, + "muted": false, + "archived": false, + "can_send_message": false + }, + "last_message": { + "id": 1, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-06T10:18:20.839Z", + "chat_room_uuid": "a3984545-56b4-4536-8c9d-b433296294ef", + "chat_room_participant_id": 3, + "body": "Hello, world!", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "Hi ", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "type": "text", + "text": ",", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "type": "text", + "text": "How was your weekend?", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "type": "text", + "text": "Please check out ", + "circle_ios_fallback_text": "Please check out " + }, + { + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "text": "https://www.google.com/", + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "type": "text", + "text": " when you have a moment. ", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "type": "text", + "text": "Also, we should create a community on ", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "text": "circle.so", + "circle_ios_fallback_text": "circle.so" + }, + { + "type": "text", + "text": ".", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-06T10:18:20.839Z", + "sender": { + "id": 3, + "name": "Elton Lubowitz JD", + "community_member_id": 1, + "user_public_uid": "8c62b0c7", + "avatar_url": null + }, + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + "first_unread_message_id": null + } + }, + "GET /api/headless/v1/messages": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 8, + "page_count": 8, + "records": [ + { + "id": 8, + "uuid": "50d4e055-5d7e-42ff-8842-bfde51892ec1", + "identifier": "group_chat-1-15-16-17", + "unread_messages_count": 2, + "chat_room_kind": "group_chat", + "chat_room_name": "The Hon. Eusebio Huels", + "chat_room_description": "", + "chat_room_show_history": true, + "chat_room_participants_count": 4, + "other_participants_preview": [ + { + "id": 22, + "name": "Ronni Rodriguez", + "last_seen_text": "", + "user_public_uid": "50cbbccb", + "headline": "Design Supervisor", + "bio": "Tempore minima dicta. Omnis et voluptatibus. Et ut perspiciatis.", + "location": "", + "email": "myles_kuhn@hessel-altenwerth.net", + "avatar_url": null, + "user_id": 16, + "community_member_id": 15, + "deleted_at": null, + "admin": false, + "community_admin": false, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": true, + "status": "offline" + }, + { + "id": 23, + "name": "Ms. Lorrie Lemke", + "last_seen_text": "", + "user_public_uid": "804647a4", + "headline": "Technology Developer", + "bio": "Ex et ea. Quo ipsa sint. Vel ut aliquid.", + "location": "", + "email": "lucien.schinner@feest.net", + "avatar_url": null, + "user_id": 17, + "community_member_id": 16, + "deleted_at": null, + "admin": false, + "community_admin": false, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": true, + "status": "offline" + }, + { + "id": 24, + "name": "Stephan Breitenberg", + "last_seen_text": "", + "user_public_uid": "aa220f47", + "headline": "Advertising Designer", + "bio": "Voluptas iure eum. Ut corporis voluptas. Ut nihil aut.", + "location": "", + "email": "garrett@weber.com", + "avatar_url": null, + "user_id": 18, + "community_member_id": 17, + "deleted_at": null, + "admin": false, + "community_admin": false, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": true, + "status": "offline" + } + ], + "current_participant": { + "id": 21, + "name": "Coleman Gusikowski Esq.", + "last_seen_text": "", + "user_public_uid": "cecbb5a4", + "headline": "Future Mining Associate", + "bio": "At numquam ea. Sapiente eum tempora. Repudiandae sit doloremque.", + "location": "", + "email": "pura@jones.co", + "avatar_url": null, + "user_id": 2, + "community_member_id": 1, + "deleted_at": null, + "admin": false, + "community_admin": true, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": false + }, + "last_message": { + "id": 16, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-23T09:14:31.001Z", + "chat_room_uuid": "50d4e055-5d7e-42ff-8842-bfde51892ec1", + "chat_room_participant_id": 22, + "body": "Incidunt commodi quibusdam sunt.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-23T09:14:31.001Z", + "sender": { + "id": 22, + "name": "Ronni Rodriguez", + "community_member_id": 15, + "user_public_uid": "50cbbccb", + "avatar_url": null + }, + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + } + }, + { + "id": 7, + "uuid": "dd556b52-4e5e-419e-976c-ba79c30d0fc5", + "identifier": "group_chat-1-12-13-14", + "unread_messages_count": 2, + "chat_room_kind": "group_chat", + "chat_room_name": "Hettie Kozey", + "chat_room_description": "", + "chat_room_show_history": true, + "chat_room_participants_count": 4, + "other_participants_preview": [ + { + "id": 18, + "name": "Dr. Kellie Heller", + "last_seen_text": "", + "user_public_uid": "4097f924", + "headline": "Central Real-Estate Officer", + "bio": "Quaerat ut aliquam. Rerum ut quaerat. Voluptas dicta aut.", + "location": "", + "email": "teodora_gerhold@smith.net", + "avatar_url": null, + "user_id": 13, + "community_member_id": 12, + "deleted_at": null, + "admin": false, + "community_admin": false, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": true, + "status": "offline" + }, + { + "id": 19, + "name": "Brady Langworth", + "last_seen_text": "", + "user_public_uid": "635fadd6", + "headline": "Investor Marketing Producer", + "bio": "Consectetur voluptatem totam. Alias enim a. Quae quia repellat.", + "location": "", + "email": "trenton@wunsch.io", + "avatar_url": null, + "user_id": 14, + "community_member_id": 13, + "deleted_at": null, + "admin": false, + "community_admin": false, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": true, + "status": "offline" + }, + { + "id": 20, + "name": "Junita Rutherford", + "last_seen_text": "", + "user_public_uid": "077bad4e", + "headline": "Investor Retail Specialist", + "bio": "Sit ut et. Soluta aspernatur quidem. Doloremque quis nisi.", + "location": "", + "email": "sang_wilkinson@leuschke-kuhlman.biz", + "avatar_url": null, + "user_id": 15, + "community_member_id": 14, + "deleted_at": null, + "admin": false, + "community_admin": false, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": true, + "status": "offline" + } + ], + "current_participant": { + "id": 17, + "name": "Coleman Gusikowski Esq.", + "last_seen_text": "", + "user_public_uid": "cecbb5a4", + "headline": "Future Mining Associate", + "bio": "At numquam ea. Sapiente eum tempora. Repudiandae sit doloremque.", + "location": "", + "email": "pura@jones.co", + "avatar_url": null, + "user_id": 2, + "community_member_id": 1, + "deleted_at": null, + "admin": false, + "community_admin": true, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": false + }, + "last_message": { + "id": 14, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-23T09:14:30.928Z", + "chat_room_uuid": "dd556b52-4e5e-419e-976c-ba79c30d0fc5", + "chat_room_participant_id": 20, + "body": "Exercitationem delectus placeat ex.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-23T09:14:30.928Z", + "sender": { + "id": 20, + "name": "Junita Rutherford", + "community_member_id": 14, + "user_public_uid": "077bad4e", + "avatar_url": null + }, + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + } + }, + { + "id": 6, + "uuid": "467f8c6f-e0dc-4c5e-b9fe-cd1b06ff937c", + "identifier": "group_chat-1-9-10-11", + "unread_messages_count": 2, + "chat_room_kind": "group_chat", + "chat_room_name": "Kala Ernser", + "chat_room_description": "", + "chat_room_show_history": true, + "chat_room_participants_count": 4, + "other_participants_preview": [ + { + "id": 14, + "name": "Wilton Tillman", + "last_seen_text": "", + "user_public_uid": "802d7528", + "headline": "Direct Mining Analyst", + "bio": "Assumenda rerum vel. Quia ratione consequatur. Voluptatem aut incidunt.", + "location": "", + "email": "bob.conroy@heidenreich.co", + "avatar_url": null, + "user_id": 10, + "community_member_id": 9, + "deleted_at": null, + "admin": false, + "community_admin": false, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": true, + "status": "offline" + }, + { + "id": 15, + "name": "Scott Smith", + "last_seen_text": "", + "user_public_uid": "c89b5cd5", + "headline": "Product Marketing Consultant", + "bio": "Eius adipisci ex. Ullam molestias esse. Et impedit illum.", + "location": "", + "email": "scott.dooley@miller-conn.biz", + "avatar_url": null, + "user_id": 11, + "community_member_id": 10, + "deleted_at": null, + "admin": false, + "community_admin": false, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": true, + "status": "offline" + }, + { + "id": 16, + "name": "Elois Spinka", + "last_seen_text": "", + "user_public_uid": "170a566c", + "headline": "Internal Mining Coordinator", + "bio": "Iure quae qui. Ab enim ex. Possimus soluta dolor.", + "location": "", + "email": "asa@kuhn.io", + "avatar_url": null, + "user_id": 12, + "community_member_id": 11, + "deleted_at": null, + "admin": false, + "community_admin": false, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": true, + "status": "offline" + } + ], + "current_participant": { + "id": 13, + "name": "Coleman Gusikowski Esq.", + "last_seen_text": "", + "user_public_uid": "cecbb5a4", + "headline": "Future Mining Associate", + "bio": "At numquam ea. Sapiente eum tempora. Repudiandae sit doloremque.", + "location": "", + "email": "pura@jones.co", + "avatar_url": null, + "user_id": 2, + "community_member_id": 1, + "deleted_at": null, + "admin": false, + "community_admin": true, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": false + }, + "last_message": { + "id": 12, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-23T09:14:30.855Z", + "chat_room_uuid": "467f8c6f-e0dc-4c5e-b9fe-cd1b06ff937c", + "chat_room_participant_id": 15, + "body": "Quam sunt voluptas incidunt.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-23T09:14:30.855Z", + "sender": { + "id": 15, + "name": "Scott Smith", + "community_member_id": 10, + "user_public_uid": "c89b5cd5", + "avatar_url": null + }, + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + } + }, + { + "id": 5, + "uuid": "6fe55bee-f030-412b-9d73-3840d2d111c7", + "identifier": "group_chat-1-6-7-8", + "unread_messages_count": 2, + "chat_room_kind": "group_chat", + "chat_room_name": "Althea Bartoletti", + "chat_room_description": "", + "chat_room_show_history": true, + "chat_room_participants_count": 4, + "other_participants_preview": [ + { + "id": 10, + "name": "Breann Osinski III", + "last_seen_text": "", + "user_public_uid": "0f592164", + "headline": "Direct Administration Supervisor", + "bio": "Nemo quia porro. Vero voluptas quod. Expedita aperiam est.", + "location": "", + "email": "deandrea.kutch@mccullough-wisoky.biz", + "avatar_url": null, + "user_id": 7, + "community_member_id": 6, + "deleted_at": null, + "admin": false, + "community_admin": false, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": true, + "status": "offline" + }, + { + "id": 11, + "name": "Samuel Conn", + "last_seen_text": "", + "user_public_uid": "a14482f0", + "headline": "Marketing Architect", + "bio": "Sit vitae vel. Quam alias quisquam. Sit ut aut.", + "location": "", + "email": "denny.boyer@ratke.co", + "avatar_url": null, + "user_id": 8, + "community_member_id": 7, + "deleted_at": null, + "admin": false, + "community_admin": false, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": true, + "status": "offline" + }, + { + "id": 12, + "name": "Stephan Nicolas", + "last_seen_text": "", + "user_public_uid": "ff12994b", + "headline": "Internal Farming Producer", + "bio": "Nostrum dolor est. Itaque fuga ut. Illo aspernatur dolorum.", + "location": "", + "email": "alexandra@macgyver.co", + "avatar_url": null, + "user_id": 9, + "community_member_id": 8, + "deleted_at": null, + "admin": false, + "community_admin": false, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": true, + "status": "offline" + } + ], + "current_participant": { + "id": 9, + "name": "Coleman Gusikowski Esq.", + "last_seen_text": "", + "user_public_uid": "cecbb5a4", + "headline": "Future Mining Associate", + "bio": "At numquam ea. Sapiente eum tempora. Repudiandae sit doloremque.", + "location": "", + "email": "pura@jones.co", + "avatar_url": null, + "user_id": 2, + "community_member_id": 1, + "deleted_at": null, + "admin": false, + "community_admin": true, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": false + }, + "last_message": { + "id": 10, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-23T09:14:30.785Z", + "chat_room_uuid": "6fe55bee-f030-412b-9d73-3840d2d111c7", + "chat_room_participant_id": 11, + "body": "Aliquid quis culpa quia.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-23T09:14:30.785Z", + "sender": { + "id": 11, + "name": "Samuel Conn", + "community_member_id": 7, + "user_public_uid": "a14482f0", + "avatar_url": null + }, + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + } + }, + { + "id": 4, + "uuid": "6f204d88-39c2-419e-9185-f107c75e2e53", + "identifier": "direct-1-5", + "unread_messages_count": 0, + "chat_room_kind": "direct", + "chat_room_name": "Dustin Hodkiewicz DC", + "chat_room_description": "", + "chat_room_show_history": true, + "chat_room_participants_count": 2, + "other_participants_preview": [ + { + "id": 8, + "name": "Dustin Hodkiewicz DC", + "last_seen_text": "", + "user_public_uid": "20d827cf", + "headline": "Consulting Supervisor", + "bio": "Ab consequatur quaerat. Et ipsum culpa. Exercitationem natus perspiciatis.", + "location": "", + "email": "colene_stroman@senger-lubowitz.name", + "avatar_url": null, + "user_id": 6, + "community_member_id": 5, + "deleted_at": null, + "admin": false, + "community_admin": false, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": true, + "status": "offline" + } + ], + "current_participant": { + "id": 7, + "name": "Coleman Gusikowski Esq.", + "last_seen_text": "", + "user_public_uid": "cecbb5a4", + "headline": "Future Mining Associate", + "bio": "At numquam ea. Sapiente eum tempora. Repudiandae sit doloremque.", + "location": "", + "email": "pura@jones.co", + "avatar_url": null, + "user_id": 2, + "community_member_id": 1, + "deleted_at": null, + "admin": false, + "community_admin": true, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": false + }, + "last_message": { + "id": 8, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-23T09:14:30.718Z", + "chat_room_uuid": "6f204d88-39c2-419e-9185-f107c75e2e53", + "chat_room_participant_id": 7, + "body": "Fugiat qui ipsa numquam.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-23T09:14:30.718Z", + "sender": { + "id": 7, + "name": "Coleman Gusikowski Esq.", + "community_member_id": 1, + "user_public_uid": "cecbb5a4", + "avatar_url": null + }, + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + } + }, + { + "id": 3, + "uuid": "4be9a178-76fb-431b-b571-652d30b8a4bb", + "identifier": "direct-1-4", + "unread_messages_count": 1, + "chat_room_kind": "direct", + "chat_room_name": "Rosalva Beatty", + "chat_room_description": "", + "chat_room_show_history": true, + "chat_room_participants_count": 2, + "other_participants_preview": [ + { + "id": 6, + "name": "Rosalva Beatty", + "last_seen_text": "", + "user_public_uid": "9298af28", + "headline": "Chief Accounting Liaison", + "bio": "Cumque ut perferendis. Veritatis animi sed. Quo est veritatis.", + "location": "", + "email": "melvin.schultz@wisoky-corwin.info", + "avatar_url": null, + "user_id": 5, + "community_member_id": 4, + "deleted_at": null, + "admin": false, + "community_admin": false, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": true, + "status": "offline" + } + ], + "current_participant": { + "id": 5, + "name": "Coleman Gusikowski Esq.", + "last_seen_text": "", + "user_public_uid": "cecbb5a4", + "headline": "Future Mining Associate", + "bio": "At numquam ea. Sapiente eum tempora. Repudiandae sit doloremque.", + "location": "", + "email": "pura@jones.co", + "avatar_url": null, + "user_id": 2, + "community_member_id": 1, + "deleted_at": null, + "admin": false, + "community_admin": true, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": false + }, + "last_message": { + "id": 6, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-23T09:14:30.651Z", + "chat_room_uuid": "4be9a178-76fb-431b-b571-652d30b8a4bb", + "chat_room_participant_id": 5, + "body": "Qui rerum eum consectetur.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-23T09:14:30.651Z", + "sender": { + "id": 5, + "name": "Coleman Gusikowski Esq.", + "community_member_id": 1, + "user_public_uid": "cecbb5a4", + "avatar_url": null + }, + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + } + }, + { + "id": 2, + "uuid": "3f443362-455a-48da-9b9b-0de6a69be97c", + "identifier": "direct-1-3", + "unread_messages_count": 1, + "chat_room_kind": "direct", + "chat_room_name": "Vida Kuhic Sr.", + "chat_room_description": "", + "chat_room_show_history": true, + "chat_room_participants_count": 2, + "other_participants_preview": [ + { + "id": 4, + "name": "Vida Kuhic Sr.", + "last_seen_text": "", + "user_public_uid": "4863d9e0", + "headline": "Direct Officer", + "bio": "Deserunt omnis fugit. Enim accusantium ut. Corporis nihil sit.", + "location": "", + "email": "salvatore@kub-blanda.co", + "avatar_url": null, + "user_id": 4, + "community_member_id": 3, + "deleted_at": null, + "admin": false, + "community_admin": false, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": true, + "status": "offline" + } + ], + "current_participant": { + "id": 3, + "name": "Coleman Gusikowski Esq.", + "last_seen_text": "", + "user_public_uid": "cecbb5a4", + "headline": "Future Mining Associate", + "bio": "At numquam ea. Sapiente eum tempora. Repudiandae sit doloremque.", + "location": "", + "email": "pura@jones.co", + "avatar_url": null, + "user_id": 2, + "community_member_id": 1, + "deleted_at": null, + "admin": false, + "community_admin": true, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": false + }, + "last_message": { + "id": 4, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-23T09:14:30.584Z", + "chat_room_uuid": "3f443362-455a-48da-9b9b-0de6a69be97c", + "chat_room_participant_id": 4, + "body": "Est sit possimus ex.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-23T09:14:30.584Z", + "sender": { + "id": 4, + "name": "Vida Kuhic Sr.", + "community_member_id": 3, + "user_public_uid": "4863d9e0", + "avatar_url": null + }, + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + } + }, + { + "id": 1, + "uuid": "c6af233e-2ada-4bc5-b16a-c4f9df76c149", + "identifier": "direct-1-2", + "unread_messages_count": 1, + "chat_room_kind": "direct", + "chat_room_name": "Merlin Adams", + "chat_room_description": "", + "chat_room_show_history": true, + "chat_room_participants_count": 2, + "other_participants_preview": [ + { + "id": 2, + "name": "Merlin Adams", + "last_seen_text": "", + "user_public_uid": "edcd5de0", + "headline": "Administration Executive", + "bio": "Praesentium numquam est. Enim temporibus suscipit. Repellendus beatae et.", + "location": "", + "email": "henriette.mckenzie@schamberger.biz", + "avatar_url": null, + "user_id": 3, + "community_member_id": 2, + "deleted_at": null, + "admin": false, + "community_admin": false, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": true, + "status": "offline" + } + ], + "current_participant": { + "id": 1, + "name": "Coleman Gusikowski Esq.", + "last_seen_text": "", + "user_public_uid": "cecbb5a4", + "headline": "Future Mining Associate", + "bio": "At numquam ea. Sapiente eum tempora. Repudiandae sit doloremque.", + "location": "", + "email": "pura@jones.co", + "avatar_url": null, + "user_id": 2, + "community_member_id": 1, + "deleted_at": null, + "admin": false, + "community_admin": true, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": false + }, + "last_message": { + "id": 2, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-23T09:14:30.517Z", + "chat_room_uuid": "c6af233e-2ada-4bc5-b16a-c4f9df76c149", + "chat_room_participant_id": 2, + "body": "Ipsam architecto nobis est.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-23T09:14:30.517Z", + "sender": { + "id": 2, + "name": "Merlin Adams", + "community_member_id": 2, + "user_public_uid": "edcd5de0", + "avatar_url": null + }, + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + } + } + ], + "meta": { + } + }, + "GET /api/headless/v1/messages/101": { + "chat_room": { + "id": 1, + "uuid": "78491644-48b5-4c66-9248-fb4287e5dcf9", + "identifier": "direct-1-2", + "unread_messages_count": 2, + "chat_room_kind": "direct", + "chat_room_name": "Kaci McClure", + "chat_room_description": "", + "chat_room_show_history": true, + "chat_room_participants_count": 2, + "other_participants_preview": [ + { + "id": 2, + "name": "Kaci McClure", + "last_seen_text": "", + "user_public_uid": "95ae139f", + "headline": "Banking Strategist", + "bio": "Non vel est. Tenetur labore est. Voluptate provident nulla.", + "location": "", + "email": "bev.witting@denesik-swaniawski.co", + "avatar_url": null, + "user_id": 3, + "community_member_id": 2, + "deleted_at": null, + "admin": false, + "community_admin": false, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": true, + "status": "offline", + "is_blocked_by_current_community_member": false + } + ], + "current_participant": { + "id": 1, + "name": "Ben Hilll III", + "last_seen_text": "", + "user_public_uid": "91d23ca8", + "headline": "Retail Manager", + "bio": "Porro odio qui. Voluptatem saepe perferendis. Nam maiores dignissimos.", + "location": "", + "email": "maira@dickinson.info", + "avatar_url": null, + "user_id": 2, + "community_member_id": 1, + "deleted_at": null, + "admin": false, + "community_admin": true, + "moderator": false, + "muted": false, + "archived": false, + "can_send_message": false + }, + "last_message": { + "id": 2, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-05-23T11:18:54.171Z", + "chat_room_uuid": "78491644-48b5-4c66-9248-fb4287e5dcf9", + "chat_room_participant_id": 2, + "body": "Quibusdam ut enim cumque.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-05-23T11:18:54.171Z", + "sender": { + "id": 2, + "name": "Kaci McClure", + "community_member_id": 2, + "user_public_uid": "95ae139f", + "avatar_url": null + }, + "chat_thread_id": null, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + "first_unread_message_id": 1 + } + }, + "GET /api/headless/v1/messages/unread_chat_rooms": { + "chat_rooms": [ + "a48b4834-125b-4daa-985f-de8f22ccaa1c", + "732b1846-49b7-4dd7-9b66-fbfbab1842e8", + "83c0df1d-5571-495f-a587-247411c2b1ee", + "c0c87c16-881f-4f9f-a9cf-d24f1ea63b23" + ] + }, + "GET /api/headless/v1/chat_threads": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "id": 2, + "parent_message": { + "id": 5, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-04-30T08:35:21.858Z", + "chat_room_uuid": "f367b327-b654-4732-a9a8-0dabdd6210b9", + "chat_room_participant_id": 1, + "body": "Nihil ducimus ipsum soluta.", + "bookmark_id": null, + "rich_text_body": null, + "sent_at": "2024-04-30T08:35:21.858Z", + "replies_count": 3, + "sender": { + "id": 1, + "name": "Aaron Casper", + "community_member_id": 1, + "user_public_uid": "5ca4774e", + "avatar_url": null + }, + "total_thread_participants_count": 1, + "thread_participants_preview": [ + { + "id": 4, + "community_member_id": 1, + "avatar_url": null, + "name": "Aaron Casper" + } + ], + "chat_thread_id": 2, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + "replies": [ + { + "id": 6, + "parent_message_id": 5, + "edited_at": null, + "created_at": "2024-04-30T08:35:21.867Z", + "chat_room_uuid": "f367b327-b654-4732-a9a8-0dabdd6210b9", + "chat_room_participant_id": 1, + "body": "Nisi est molestias sit.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-04-30T08:35:21.867Z", + "sender": { + "id": 1, + "name": "Aaron Casper", + "community_member_id": 1, + "user_public_uid": "5ca4774e", + "avatar_url": null + }, + "chat_thread_id": 2, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + { + "id": 7, + "parent_message_id": 5, + "edited_at": null, + "created_at": "2024-04-30T08:35:21.882Z", + "chat_room_uuid": "f367b327-b654-4732-a9a8-0dabdd6210b9", + "chat_room_participant_id": 1, + "body": "Harum perferendis vitae atque.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-04-30T08:35:21.882Z", + "sender": { + "id": 1, + "name": "Aaron Casper", + "community_member_id": 1, + "user_public_uid": "5ca4774e", + "avatar_url": null + }, + "chat_thread_id": 2, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + { + "id": 8, + "parent_message_id": 5, + "edited_at": null, + "created_at": "2024-04-30T08:35:21.899Z", + "chat_room_uuid": "f367b327-b654-4732-a9a8-0dabdd6210b9", + "chat_room_participant_id": 1, + "body": "Repellat quam pariatur eveniet.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-04-30T08:35:21.899Z", + "sender": { + "id": 1, + "name": "Aaron Casper", + "community_member_id": 1, + "user_public_uid": "5ca4774e", + "avatar_url": null + }, + "chat_thread_id": 2, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + } + ], + "chat_room": { + "kind": "group_chat", + "name": "Carita Lehner", + "embedded_space": null, + "lesson": null + } + }, + { + "id": 1, + "parent_message": { + "id": 1, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-04-30T08:35:21.642Z", + "chat_room_uuid": "f367b327-b654-4732-a9a8-0dabdd6210b9", + "chat_room_participant_id": 1, + "body": "Iste qui provident incidunt.", + "bookmark_id": null, + "rich_text_body": null, + "sent_at": "2024-04-30T08:35:21.642Z", + "replies_count": 3, + "sender": { + "id": 1, + "name": "Aaron Casper", + "community_member_id": 1, + "user_public_uid": "5ca4774e", + "avatar_url": null + }, + "total_thread_participants_count": 2, + "thread_participants_preview": [ + { + "id": 2, + "community_member_id": 3, + "avatar_url": null, + "name": "Tanika Orn VM" + }, + { + "id": 3, + "community_member_id": 4, + "avatar_url": null, + "name": "Murray Emard III" + } + ], + "chat_thread_id": 1, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + "replies": [ + { + "id": 2, + "parent_message_id": 1, + "edited_at": null, + "created_at": "2024-04-30T08:35:21.722Z", + "chat_room_uuid": "f367b327-b654-4732-a9a8-0dabdd6210b9", + "chat_room_participant_id": 3, + "body": "Architecto dolorem culpa ex.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-04-30T08:35:21.722Z", + "sender": { + "id": 3, + "name": "Tanika Orn VM", + "community_member_id": 3, + "user_public_uid": "4073b45f", + "avatar_url": null + }, + "chat_thread_id": 1, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + { + "id": 3, + "parent_message_id": 1, + "edited_at": null, + "created_at": "2024-04-30T08:35:21.829Z", + "chat_room_uuid": "f367b327-b654-4732-a9a8-0dabdd6210b9", + "chat_room_participant_id": 4, + "body": "Rerum harum laborum at.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-04-30T08:35:21.829Z", + "sender": { + "id": 4, + "name": "Murray Emard III", + "community_member_id": 4, + "user_public_uid": "24429379", + "avatar_url": null + }, + "chat_thread_id": 1, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + { + "id": 4, + "parent_message_id": 1, + "edited_at": null, + "created_at": "2024-04-30T08:35:21.845Z", + "chat_room_uuid": "f367b327-b654-4732-a9a8-0dabdd6210b9", + "chat_room_participant_id": 3, + "body": "Nobis nulla laboriosam et.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-04-30T08:35:21.845Z", + "sender": { + "id": 3, + "name": "Tanika Orn VM", + "community_member_id": 3, + "user_public_uid": "4073b45f", + "avatar_url": null + }, + "chat_thread_id": 1, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + } + ], + "chat_room": { + "kind": "group_chat", + "name": "Carita Lehner", + "embedded_space": null, + "lesson": null + } + } + ] + }, + "GET /api/headless/v1/chat_threads/101": { + "id": 1, + "parent_message": { + "id": 1, + "parent_message_id": null, + "edited_at": null, + "created_at": "2024-04-30T13:52:13.075Z", + "chat_room_uuid": "a798d3d8-8351-4855-88fc-098d67f89821", + "chat_room_participant_id": 1, + "body": "Vel et sunt alias.", + "bookmark_id": null, + "rich_text_body": null, + "sent_at": "2024-04-30T13:52:13.075Z", + "replies_count": 3, + "sender": { + "id": 1, + "name": "Kathryn Sanford II", + "community_member_id": 1, + "user_public_uid": "feff522f", + "avatar_url": null + }, + "total_thread_participants_count": 2, + "thread_participants_preview": [ + { + "id": 1, + "community_member_id": 1, + "avatar_url": null, + "name": "Kathryn Sanford II" + }, + { + "id": 2, + "community_member_id": 2, + "avatar_url": null, + "name": "Jamar Dooley" + } + ], + "chat_thread_id": 1, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + "replies": [ + { + "id": 2, + "parent_message_id": 1, + "edited_at": null, + "created_at": "2024-04-30T13:52:13.139Z", + "chat_room_uuid": "a798d3d8-8351-4855-88fc-098d67f89821", + "chat_room_participant_id": 2, + "body": "Nihil voluptatem minus dolore.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-04-30T13:52:13.139Z", + "sender": { + "id": 2, + "name": "Jamar Dooley", + "community_member_id": 2, + "user_public_uid": "8a6043b4", + "avatar_url": null + }, + "chat_thread_id": 1, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + { + "id": 3, + "parent_message_id": 1, + "edited_at": null, + "created_at": "2024-04-30T13:52:13.274Z", + "chat_room_uuid": "a798d3d8-8351-4855-88fc-098d67f89821", + "chat_room_participant_id": 1, + "body": "Officiis aut laudantium voluptas.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-04-30T13:52:13.274Z", + "sender": { + "id": 1, + "name": "Kathryn Sanford II", + "community_member_id": 1, + "user_public_uid": "feff522f", + "avatar_url": null + }, + "chat_thread_id": 1, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + }, + { + "id": 4, + "parent_message_id": 1, + "edited_at": null, + "created_at": "2024-04-30T13:52:13.292Z", + "chat_room_uuid": "a798d3d8-8351-4855-88fc-098d67f89821", + "chat_room_participant_id": 2, + "body": "Esse earum architecto aliquid.", + "bookmark_id": null, + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "chat", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "sent_at": "2024-04-30T13:52:13.292Z", + "sender": { + "id": 2, + "name": "Jamar Dooley", + "community_member_id": 2, + "user_public_uid": "8a6043b4", + "avatar_url": null + }, + "chat_thread_id": 1, + "reactions": [ + + ], + "embedded_chat_message_access": [ + + ], + "can_report": false, + "can_review": false, + "in_review": false + } + ], + "chat_room": { + "kind": "group_chat", + "name": "Sophia Streich", + "embedded_space": null, + "lesson": null + } + }, + "GET /api/headless/v1/chat_threads/unread_chat_threads": { + "chat_thread_ids": [ + 1, + 2 + ] + }, + "POST /api/headless/v1/posts/101/comments": { + "id": 1, + "user_id": 2, + "post_id": 1, + "user_likes_count": 0, + "created_at": "2024-04-15T07:38:08.972Z", + "updated_at": "2024-04-15T07:38:08.978Z", + "parent_comment_id": null, + "replies_count": 1, + "removed_at": null, + "community_member_id": 1, + "editor": "trix", + "topic_id": 1, + "space_id": 1, + "post_name": "Corporis dignissimos dolores eum.", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "Officia omnis corporis vel." + }, + "tiptap_body": null, + "body_text": "Officia omnis corporis vel.", + "is_liked": false, + "bookmark_id": null, + "replies": [ + { + "id": 3, + "user_id": 2, + "post_id": 1, + "user_likes_count": 0, + "created_at": "2024-04-15T07:38:09.000Z", + "updated_at": "2024-04-15T07:38:09.003Z", + "parent_comment_id": 1, + "replies_count": 0, + "removed_at": null, + "community_member_id": 1, + "editor": "trix", + "topic_id": 1, + "space_id": 1, + "post_name": "Corporis dignissimos dolores eum.", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "Dignissimos autem rerum dolorem." + }, + "tiptap_body": null, + "body_text": "Dignissimos autem rerum dolorem.", + "is_liked": false, + "bookmark_id": null, + "author": { + "id": 2, + "community_member_id": 1, + "name": "Shari Rowe", + "headline": "Healthcare Liaison", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMT9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--300ef5a89875ce89142a86d8a22203d06c4161d4", + "member_tags": [ + + ] + } + } + ], + "author": { + "id": 2, + "community_member_id": 1, + "name": "Shari Rowe", + "headline": "Healthcare Liaison", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMT9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--300ef5a89875ce89142a86d8a22203d06c4161d4", + "member_tags": [ + + ] + }, + "policies": { + "can_bookmark": true, + "can_destroy": true, + "can_edit": true, + "can_report": false, + "can_manage": false + } + }, + "GET /api/headless/v1/posts/101/comments": { + "page": 1, + "per_page": 60, + "has_next_page": false, + "count": 2, + "records": [ + { + "id": 1, + "user_id": 2, + "post_id": 1, + "user_likes_count": 0, + "created_at": "2024-04-15T07:38:08.972Z", + "updated_at": "2024-04-15T07:38:08.978Z", + "parent_comment_id": null, + "replies_count": 1, + "removed_at": null, + "community_member_id": 1, + "editor": "trix", + "topic_id": 1, + "space_id": 1, + "post_name": "Corporis dignissimos dolores eum.", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "Officia omnis corporis vel." + }, + "tiptap_body": null, + "body_text": "Officia omnis corporis vel.", + "is_liked": false, + "bookmark_id": null, + "replies": [ + { + "id": 3, + "user_id": 2, + "post_id": 1, + "user_likes_count": 0, + "created_at": "2024-04-15T07:38:09.000Z", + "updated_at": "2024-04-15T07:38:09.003Z", + "parent_comment_id": 1, + "replies_count": 0, + "removed_at": null, + "community_member_id": 1, + "editor": "trix", + "topic_id": 1, + "space_id": 1, + "post_name": "Corporis dignissimos dolores eum.", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "Dignissimos autem rerum dolorem." + }, + "tiptap_body": null, + "body_text": "Dignissimos autem rerum dolorem.", + "is_liked": false, + "bookmark_id": null, + "flagged_for_approval_at": null, + "unresolved_flagged_reports_count": 0, + "author": { + "id": 2, + "community_member_id": 1, + "name": "Shari Rowe", + "headline": "Healthcare Liaison", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMT9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--300ef5a89875ce89142a86d8a22203d06c4161d4", + "member_tags": [ + + ] + } + } + ], + "author": { + "id": 2, + "community_member_id": 1, + "name": "Shari Rowe", + "headline": "Healthcare Liaison", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMT9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--300ef5a89875ce89142a86d8a22203d06c4161d4", + "member_tags": [ + + ] + }, + "policies": { + "can_bookmark": true, + "can_destroy": true, + "can_edit": true, + "can_report": false, + "can_manage": false + } + }, + { + "id": 2, + "user_id": 2, + "post_id": 1, + "user_likes_count": 0, + "created_at": "2024-04-15T07:38:08.988Z", + "updated_at": "2024-04-15T07:38:08.992Z", + "parent_comment_id": null, + "replies_count": 0, + "removed_at": null, + "community_member_id": 1, + "editor": "trix", + "topic_id": 1, + "space_id": 1, + "post_name": "Corporis dignissimos dolores eum.", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "Voluptatibus quasi minima fugit." + }, + "tiptap_body": null, + "body_text": "Voluptatibus quasi minima fugit.", + "is_liked": false, + "bookmark_id": null, + "replies": [ + + ], + "author": { + "id": 2, + "community_member_id": 1, + "name": "Shari Rowe", + "headline": "Healthcare Liaison", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMT9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--300ef5a89875ce89142a86d8a22203d06c4161d4", + "member_tags": [ + + ] + }, + "policies": { + "can_bookmark": true, + "can_destroy": true, + "can_edit": true, + "can_report": false, + "can_manage": false + } + } + ] + }, + "DELETE /api/headless/v1/posts/101/comments/102": { + "success": true, + "message": "This comment has been removed from the post." + }, + "GET /api/headless/v1/posts/101/comments/102": { + "id": 1, + "user_id": 2, + "post_id": 1, + "user_likes_count": 0, + "created_at": "2024-04-15T07:38:08.972Z", + "updated_at": "2024-04-15T07:38:08.978Z", + "parent_comment_id": null, + "replies_count": 1, + "removed_at": null, + "community_member_id": 1, + "editor": "trix", + "topic_id": 1, + "space_id": 1, + "post_name": "Corporis dignissimos dolores eum.", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "Officia omnis corporis vel." + }, + "tiptap_body": null, + "body_text": "Officia omnis corporis vel.", + "is_liked": false, + "bookmark_id": null, + "flagged_for_approval_at": null, + "unresolved_flagged_reports_count": 0, + "replies": [ + { + "id": 3, + "user_id": 2, + "post_id": 1, + "user_likes_count": 0, + "created_at": "2024-04-15T07:38:09.000Z", + "updated_at": "2024-04-15T07:38:09.003Z", + "parent_comment_id": 1, + "replies_count": 0, + "removed_at": null, + "community_member_id": 1, + "editor": "trix", + "topic_id": 1, + "space_id": 1, + "post_name": "Corporis dignissimos dolores eum.", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "Dignissimos autem rerum dolorem." + }, + "tiptap_body": null, + "body_text": "Dignissimos autem rerum dolorem.", + "is_liked": false, + "bookmark_id": null, + "flagged_for_approval_at": null, + "unresolved_flagged_reports_count": 0, + "author": { + "id": 2, + "community_member_id": 1, + "name": "Shari Rowe", + "headline": "Healthcare Liaison", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMT9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--300ef5a89875ce89142a86d8a22203d06c4161d4", + "member_tags": [ + + ] + } + } + ], + "author": { + "id": 2, + "community_member_id": 1, + "name": "Shari Rowe", + "headline": "Healthcare Liaison", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMT9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--300ef5a89875ce89142a86d8a22203d06c4161d4", + "member_tags": [ + + ] + }, + "policies": { + "can_bookmark": true, + "can_destroy": true, + "can_edit": true, + "can_manage": false, + "can_report": false + } + }, + "PATCH /api/headless/v1/posts/101/comments/102": { + "id": 1, + "user_id": 2, + "post_id": 1, + "user_likes_count": 0, + "created_at": "2024-04-15T07:38:08.972Z", + "updated_at": "2024-04-15T07:38:08.978Z", + "parent_comment_id": null, + "replies_count": 1, + "removed_at": null, + "community_member_id": 1, + "editor": "trix", + "topic_id": 1, + "space_id": 1, + "post_name": "Corporis dignissimos dolores eum.", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "Updated comment body" + }, + "tiptap_body": null, + "body_text": "Updated comment body", + "is_liked": false, + "bookmark_id": null, + "flagged_for_approval_at": null, + "show_url": "http://heidenreich-wilderman.circledev.net:31337/c/aut/pacocha#comment_wrapper_290", + "unresolved_flagged_reports_count": 0, + "replies": [ + { + "id": 3, + "user_id": 2, + "post_id": 1, + "user_likes_count": 0, + "created_at": "2024-04-15T07:38:09.000Z", + "updated_at": "2024-04-15T07:38:09.003Z", + "parent_comment_id": 1, + "replies_count": 0, + "removed_at": null, + "community_member_id": 1, + "editor": "trix", + "topic_id": 1, + "space_id": 1, + "post_name": "Corporis dignissimos dolores eum.", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "Dignissimos autem rerum dolorem." + }, + "tiptap_body": null, + "body_text": "Dignissimos autem rerum dolorem.", + "is_liked": false, + "bookmark_id": null, + "flagged_for_approval_at": null, + "unresolved_flagged_reports_count": 0, + "author": { + "id": 2, + "community_member_id": 1, + "name": "Shari Rowe", + "headline": "Healthcare Liaison", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMT9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--300ef5a89875ce89142a86d8a22203d06c4161d4", + "member_tags": [ + + ] + } + } + ], + "author": { + "id": 2, + "community_member_id": 1, + "name": "Shari Rowe", + "headline": "Healthcare Liaison", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMT9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--300ef5a89875ce89142a86d8a22203d06c4161d4", + "member_tags": [ + + ] + }, + "policies": { + "can_bookmark": true, + "can_destroy": true, + "can_edit": true, + "can_manage": false, + "can_report": false + } + }, + "GET /api/headless/v1/community_events": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 4, + "meta": { + "events_directory_layout": "list", + "sort": "latest" + }, + "records": [ + { + "id": 2, + "name": "Distinctio ad eos cum.", + "display_title": "Distinctio ad eos cum.", + "slug": "schmidt", + "is_comments_closed": false, + "is_comments_enabled": true, + "is_liking_enabled": true, + "is_pinned_at_top_of_space": false, + "comment_count": 0, + "hide_meta_info": false, + "user_likes_count": 0, + "is_liked": false, + "is_truncation_disabled": false, + "bookmark_id": null, + "first_liked_by": [ + + ], + "editor": "trix", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "
Pariatur qui dolores recusandae.
" + }, + "tiptap_body": null, + "body_plain_text": "Pariatur qui dolores recusandae.", + "body_plain_text_without_attachments": "Pariatur qui dolores recusandae.", + "url": "http://oconner.circledev.net:31337/c/enim/schmidt", + "created_at": "2024-10-15T05:29:46.908Z", + "updated_at": "2024-10-15T05:29:46.911Z", + "space": { + "id": 2, + "slug": "enim", + "name": "ut", + "emoji": null, + "custom_emoji_url": "http://oconner.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://oconner.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png" + }, + "post_follower_id": null, + "topic_follower_id": null, + "author": { + "id": 3, + "community_member_id": 2, + "name": "Wanita Lynch", + "headline": "Principal Mining Associate", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--e247d4107bf3192dde04a4824074d8e88b1aaf95", + "member_tags": [ + + ] + }, + "topics": [ + + ], + "action": { + "user_name": "Wanita", + "created_at": "2024-10-15T05:29:46.908Z", + "type": "posted" + }, + "custom_html": null, + "event_setting_attributes": { + "starts_at": "2024-10-25T05:29:46.000Z", + "ends_at": "2024-10-25T05:31:21.000Z", + "in_person_location": null, + "hide_location_from_non_attendees": true, + "duration_in_seconds": 95, + "rsvp_disabled": false, + "hide_attendees": false, + "send_email_reminder": true, + "send_in_app_notification_reminder": true, + "send_email_confirmation": true, + "send_in_app_notification_confirmation": true, + "enable_custom_thank_you_message": false, + "confirmation_message_title": "Registration confirmed for Distinctio ad eos cum.", + "confirmation_message_description": "We'll send you a reminder before the event.", + "confirmation_message_button_title": "Done", + "confirmation_message_button_link": "", + "location_type": "virtual", + "virtual_location_url": "http://bahringer.name/franklin_jacobs", + "rsvp_limit": 5, + "rsvp_count": 0 + }, + "event_type": "single", + "rsvped_event": false, + "rsvp_status": null, + "invited_attendee": null, + "event_attendees": { + "records": [ + + ], + "count": 0 + } + }, + { + "id": 5, + "name": "Et ea et sit.", + "display_title": "Et ea et sit.", + "slug": "bosco", + "is_comments_closed": false, + "is_comments_enabled": true, + "is_liking_enabled": true, + "is_pinned_at_top_of_space": false, + "comment_count": 0, + "hide_meta_info": false, + "user_likes_count": 0, + "is_liked": false, + "is_truncation_disabled": false, + "bookmark_id": null, + "first_liked_by": [ + + ], + "editor": "trix", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "
Harum quisquam ipsam fugiat.
" + }, + "tiptap_body": null, + "body_plain_text": "Harum quisquam ipsam fugiat.", + "body_plain_text_without_attachments": "Harum quisquam ipsam fugiat.", + "url": "http://oconner.circledev.net:31337/c/enim/bosco", + "created_at": "2024-10-15T05:29:47.323Z", + "updated_at": "2024-10-15T05:29:47.335Z", + "space": { + "id": 2, + "slug": "enim", + "name": "ut", + "emoji": null, + "custom_emoji_url": "http://oconner.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://oconner.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png" + }, + "post_follower_id": null, + "topic_follower_id": null, + "author": { + "id": 9, + "community_member_id": 5, + "name": "Fr. Larhonda Gleichner", + "headline": "Retail Coordinator", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvNT9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--97eb1f7d96ecf1827a5606ebabb4e9da26cfa14f", + "member_tags": [ + + ] + }, + "topics": [ + + ], + "action": { + "user_name": "Fr.", + "created_at": "2024-10-15T05:29:47.323Z", + "type": "posted" + }, + "custom_html": null, + "event_setting_attributes": { + "starts_at": "2024-10-25T05:29:47.000Z", + "ends_at": "2024-10-25T05:30:14.000Z", + "in_person_location": null, + "hide_location_from_non_attendees": true, + "duration_in_seconds": 27, + "rsvp_disabled": false, + "hide_attendees": false, + "send_email_reminder": true, + "send_in_app_notification_reminder": true, + "send_email_confirmation": true, + "send_in_app_notification_confirmation": true, + "enable_custom_thank_you_message": false, + "confirmation_message_title": "Registration confirmed for Et ea et sit.", + "confirmation_message_description": "We'll send you a reminder before the event.", + "confirmation_message_button_title": "Done", + "confirmation_message_button_link": "", + "location_type": "virtual", + "virtual_location_url": "http://lesch.info/tammie_wuckert", + "rsvp_limit": 5, + "rsvp_count": 0 + }, + "event_type": "single", + "rsvped_event": false, + "rsvp_status": null, + "invited_attendee": null, + "event_attendees": { + "records": [ + + ], + "count": 0 + } + }, + { + "id": 4, + "name": "Explicabo consequatur delectus perspiciatis.", + "display_title": "Explicabo consequatur delectus perspiciatis.", + "slug": "baumbach", + "is_comments_closed": false, + "is_comments_enabled": true, + "is_liking_enabled": true, + "is_pinned_at_top_of_space": false, + "comment_count": 0, + "hide_meta_info": false, + "user_likes_count": 0, + "is_liked": false, + "is_truncation_disabled": false, + "bookmark_id": null, + "first_liked_by": [ + + ], + "editor": "trix", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "
Et voluptatem veritatis aut.
" + }, + "tiptap_body": null, + "body_plain_text": "Et voluptatem veritatis aut.", + "body_plain_text_without_attachments": "Et voluptatem veritatis aut.", + "url": "http://oconner.circledev.net:31337/c/voluptas/baumbach", + "created_at": "2024-10-15T05:29:47.201Z", + "updated_at": "2024-10-15T05:29:47.203Z", + "space": { + "id": 4, + "slug": "voluptas", + "name": "commodi", + "emoji": null, + "custom_emoji_url": "http://oconner.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://oconner.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png" + }, + "post_follower_id": null, + "topic_follower_id": null, + "author": { + "id": 7, + "community_member_id": 4, + "name": "Clinton Lind", + "headline": "Advertising Assistant", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvND9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--2b9e5e40f0e33465c4269f11dfebc539e9ecbd88", + "member_tags": [ + + ] + }, + "topics": [ + + ], + "action": { + "user_name": "Clinton", + "created_at": "2024-10-15T05:29:47.201Z", + "type": "posted" + }, + "custom_html": null, + "event_setting_attributes": { + "starts_at": "2024-10-25T05:29:47.000Z", + "ends_at": "2024-10-25T05:30:45.000Z", + "in_person_location": null, + "hide_location_from_non_attendees": true, + "duration_in_seconds": 58, + "rsvp_disabled": false, + "hide_attendees": false, + "send_email_reminder": true, + "send_in_app_notification_reminder": true, + "send_email_confirmation": true, + "send_in_app_notification_confirmation": true, + "enable_custom_thank_you_message": false, + "confirmation_message_title": "Registration confirmed for Explicabo consequatur delectus perspiciatis.", + "confirmation_message_description": "We'll send you a reminder before the event.", + "confirmation_message_button_title": "Done", + "confirmation_message_button_link": "", + "location_type": "virtual", + "virtual_location_url": "http://howe-bartoletti.name/bertram", + "rsvp_limit": 5, + "rsvp_count": 0 + }, + "event_type": "single", + "rsvped_event": false, + "rsvp_status": null, + "invited_attendee": null, + "event_attendees": { + "records": [ + + ], + "count": 0 + } + }, + { + "id": 3, + "name": "Quidem nostrum sed eos.", + "display_title": "Quidem nostrum sed eos.", + "slug": "hudson-von", + "is_comments_closed": false, + "is_comments_enabled": true, + "is_liking_enabled": true, + "is_pinned_at_top_of_space": false, + "comment_count": 0, + "hide_meta_info": false, + "user_likes_count": 0, + "is_liked": false, + "is_truncation_disabled": false, + "bookmark_id": null, + "first_liked_by": [ + + ], + "editor": "trix", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "
Quas libero voluptate quos.
" + }, + "tiptap_body": null, + "body_plain_text": "Quas libero voluptate quos.", + "body_plain_text_without_attachments": "Quas libero voluptate quos.", + "url": "http://oconner.circledev.net:31337/c/quia/hudson-von", + "created_at": "2024-10-15T05:29:47.032Z", + "updated_at": "2024-10-15T05:29:47.034Z", + "space": { + "id": 3, + "slug": "quia", + "name": "beatae", + "emoji": null, + "custom_emoji_url": "http://oconner.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://oconner.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png" + }, + "post_follower_id": null, + "topic_follower_id": null, + "author": { + "id": 5, + "community_member_id": 3, + "name": "Mrs. Elana Heidenreich", + "headline": "Investor Accounting Orchestrator", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--a5c0887a9f7fb5409954c74b71a6f84e9232666c", + "member_tags": [ + + ] + }, + "topics": [ + + ], + "action": { + "user_name": "Mrs.", + "created_at": "2024-10-15T05:29:47.032Z", + "type": "posted" + }, + "custom_html": null, + "event_setting_attributes": { + "starts_at": "2024-10-25T05:29:47.000Z", + "ends_at": "2024-10-25T05:31:24.000Z", + "in_person_location": null, + "hide_location_from_non_attendees": true, + "duration_in_seconds": 97, + "rsvp_disabled": false, + "hide_attendees": false, + "send_email_reminder": true, + "send_in_app_notification_reminder": true, + "send_email_confirmation": true, + "send_in_app_notification_confirmation": true, + "enable_custom_thank_you_message": false, + "confirmation_message_title": "Registration confirmed for Quidem nostrum sed eos.", + "confirmation_message_description": "We'll send you a reminder before the event.", + "confirmation_message_button_title": "Done", + "confirmation_message_button_link": "", + "location_type": "virtual", + "virtual_location_url": "http://mccullough.biz/tracie", + "rsvp_limit": 5, + "rsvp_count": 0 + }, + "event_type": "single", + "rsvped_event": false, + "rsvp_status": null, + "invited_attendee": null, + "event_attendees": { + "records": [ + + ], + "count": 0 + } + } + ] + }, + "GET /api/headless/v1/community_links": [ + { + "id": 1, + "name": "Tommy Prosacco", + "url": "http://hilll.co/cleo.bartell", + "community_id": 1, + "created_at": "2024-06-11T11:34:13.144Z", + "updated_at": "2024-06-11T11:34:13.144Z" + }, + { + "id": 2, + "name": "Dr. Kaitlyn Koss", + "url": "http://www.kohler.com/", + "community_id": 1, + "created_at": "2024-06-11T11:34:13.144Z", + "updated_at": "2024-06-11T11:34:13.144Z" + }, + { + "id": 3, + "name": "Eldridge Koepp", + "url": "http://www.example.com/", + "community_id": 1, + "created_at": "2024-06-11T11:34:13.144Z", + "updated_at": "2024-06-11T11:34:13.144Z" + } + ], + "GET /api/headless/v1/community_members/101/comments": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 2, + "records": [ + { + "id": 2, + "user_id": 3, + "post_id": 1, + "user_likes_count": 0, + "created_at": "2024-04-02T11:08:35.850Z", + "updated_at": "2024-04-02T11:08:35.856Z", + "parent_comment_id": 1, + "replies_count": 0, + "removed_at": null, + "community_member_id": 2, + "editor": "trix", + "topic_id": 1, + "space_id": 1, + "post_name": "Aut mollitia ut voluptas.", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "Molestias voluptatem unde in." + }, + "tiptap_body": null, + "body_text": "Molestias voluptatem unde in.", + "is_liked": false, + "bookmark_id": null, + "flagged_for_approval_at": null, + "unresolved_flagged_reports_count": 0, + "author": { + "id": 3, + "community_member_id": 2, + "name": "Rolf Erdman", + "headline": "Future Community-Services Assistant", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--e247d4107bf3192dde04a4824074d8e88b1aaf95", + "member_tags": [ + + ] + } + }, + { + "id": 1, + "user_id": 3, + "post_id": 1, + "user_likes_count": 0, + "created_at": "2024-04-02T11:08:35.825Z", + "updated_at": "2024-04-02T11:08:35.834Z", + "parent_comment_id": null, + "replies_count": 1, + "removed_at": null, + "community_member_id": 2, + "editor": "trix", + "topic_id": 1, + "space_id": 1, + "post_name": "Aut mollitia ut voluptas.", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "Et est autem id." + }, + "tiptap_body": null, + "body_text": "Et est autem id.", + "is_liked": false, + "bookmark_id": null, + "replies": [ + { + "id": 2, + "user_id": 3, + "post_id": 1, + "user_likes_count": 0, + "created_at": "2024-04-02T11:08:35.850Z", + "updated_at": "2024-04-02T11:08:35.856Z", + "parent_comment_id": 1, + "replies_count": 0, + "removed_at": null, + "community_member_id": 2, + "editor": "trix", + "topic_id": 1, + "space_id": 1, + "post_name": "Aut mollitia ut voluptas.", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "Molestias voluptatem unde in." + }, + "tiptap_body": null, + "body_text": "Molestias voluptatem unde in.", + "is_liked": false, + "bookmark_id": null, + "author": { + "id": 3, + "community_member_id": 2, + "name": "Rolf Erdman", + "headline": "Future Community-Services Assistant", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--e247d4107bf3192dde04a4824074d8e88b1aaf95", + "member_tags": [ + + ] + } + } + ], + "author": { + "id": 3, + "community_member_id": 2, + "name": "Rolf Erdman", + "headline": "Future Community-Services Assistant", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--e247d4107bf3192dde04a4824074d8e88b1aaf95", + "member_tags": [ + + ] + } + } + ] + }, + "DELETE /api/headless/v1/community_member/deactivate": { + "success": true + }, + "GET /api/headless/v1/community_members": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 6, + "page_count": 6, + "records": [ + { + "headline": "Hospitality Director", + "member_tags": [ + { + "id": 1, + "name": "Senior", + "color": "#FF0000", + "emoji": "👩‍💼", + "is_public": true, + "custom_emoji_url": "https://example.com/custom_emojis/1/original.png", + "custom_emoji_dark_url": "https://example.com/custom_emojis/1/dark.png", + "display_format": "emoji", + "display_locations": [ + "profile" + ], + "text_color": "#FFFFFF" + } + ], + "name": "Cindi Konopelski", + "community_member_id": 1, + "avatar_url": null, + "messaging_enabled": true, + "email": "bernita@prohaska-yundt.io", + "can_receive_dm_from_current_member": false + }, + { + "headline": "Design Director", + "member_tags": [ + + ], + "name": "Dalia Jacobson", + "community_member_id": 2, + "avatar_url": null, + "messaging_enabled": true, + "email": "jess.ohara@lockman.com", + "can_receive_dm_from_current_member": true + }, + { + "headline": "National Retail Director", + "member_tags": [ + + ], + "name": "Mable Heaney", + "community_member_id": 3, + "avatar_url": null, + "messaging_enabled": null, + "email": "jewel@armstrong.net", + "can_receive_dm_from_current_member": true + }, + { + "headline": "Legacy Marketing Officer", + "member_tags": [ + + ], + "name": "Msgr. Maryellen Hand", + "community_member_id": 4, + "avatar_url": null, + "messaging_enabled": null, + "email": "rodney_hills@schinner.biz", + "can_receive_dm_from_current_member": true + }, + { + "headline": "National Architect", + "member_tags": [ + + ], + "name": "Stanford Cruickshank", + "community_member_id": 5, + "avatar_url": null, + "messaging_enabled": null, + "email": "mickie@wolf.com", + "can_receive_dm_from_current_member": true + }, + { + "headline": "National Engineer", + "member_tags": [ + + ], + "name": "Dr. Mitch Schiller", + "community_member_id": 6, + "avatar_url": null, + "messaging_enabled": null, + "email": "myrl@bradtke-mayert.co", + "can_receive_dm_from_current_member": true + } + ], + "next_search_after": [ + 1721398993645 + ] + }, + "GET /api/headless/v1/community_members/101/posts": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 2, + "sort": "latest", + "records": [ + { + "post_type": "image", + "space_type": "image", + "status": "published", + "id": 3, + "name": null, + "display_title": "corrupti", + "slug": "simonis", + "is_comments_closed": false, + "is_comments_enabled": true, + "is_liking_enabled": true, + "is_pinned_at_top_of_space": false, + "comment_count": 0, + "user_likes_count": 0, + "hide_meta_info": false, + "is_liked": false, + "is_truncation_disabled": false, + "bookmark_id": null, + "flagged_for_approval_at": null, + "unresolved_flagged_reports_count": 0, + "first_liked_by": [ + + ], + "editor": "tiptap", + "body": null, + "tiptap_body": null, + "body_plain_text": "", + "body_plain_text_without_attachments": "", + "url": "http://hoppe.circledev.net:31337/c/autem/simonis", + "created_at": "2024-04-02T09:05:23.651Z", + "updated_at": "2024-04-02T09:05:23.676Z", + "space": { + "id": 3, + "slug": "autem", + "name": "corrupti", + "emoji": ":blue_circle:", + "custom_emoji_url": "http://hoppe.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://hoppe.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png" + }, + "post_follower_id": null, + "topic_follower_id": null, + "author": { + "id": 3, + "community_member_id": 2, + "name": "Shanel O'Conner", + "headline": "Construction Architect", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--e247d4107bf3192dde04a4824074d8e88b1aaf95", + "member_tags": [ + + ] + }, + "action": { + "user_name": "Shanel", + "created_at": "2024-04-02T09:05:23.651Z", + "type": "posted" + }, + "custom_html": null, + "gallery": { + "id": 1, + "downloadable_images": false, + "images": [ + { + "id": 1, + "signed_id": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBDUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--2bbe9adfa1ef231801b6e91a588edd436a28ca4c", + "original_url": "http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhlR3A1YXpaamRtUmpiRzFvZWpGc05ISTJPSGg2ZDNCME1tWjNOd1k2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpUjJsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW14aGJtUnpZMkZ3WlM1cWNHVm5JanNnWm1sc1pXNWhiV1VxUFZWVVJpMDRKeWRzWVc1a2MyTmhjR1V1YW5CbFp3WTdCbFE2RVdOdmJuUmxiblJmZEhsd1pVa2lEMmx0WVdkbEwycHdaV2NHT3daVU9oRnpaWEoyYVdObFgyNWhiV1U2Q1hSbGMzUT0iLCJleHAiOm51bGwsInB1ciI6ImJsb2Jfa2V5In19--c18a62c9e501ee29acbfec778e8a71c22494bbc2/landscape.jpeg", + "url": "http://app.circledev.net:31337/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBDUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--2bbe9adfa1ef231801b6e91a588edd436a28ca4c/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lKYW5CbFp3WTZCa1ZVT2hSeVpYTnBlbVZmZEc5ZmJHbHRhWFJiQjJrQzBBZHBBdEFIT2dwellYWmxjbnNHT2dwemRISnBjRlE9IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--14431897580518ed67f5be63cd7c4086ca3a36c6/landscape.jpeg", + "filename": "landscape.jpeg", + "width": 2000, + "height": 2000 + } + ] + } + }, + { + "post_type": "basic", + "space_type": "basic", + "status": "published", + "id": 1, + "name": "Aut quod quibusdam et.", + "display_title": "Aut quod quibusdam et.", + "slug": "bartell", + "is_comments_closed": false, + "is_comments_enabled": true, + "is_liking_enabled": true, + "is_pinned_at_top_of_space": false, + "comment_count": 0, + "user_likes_count": 0, + "hide_meta_info": false, + "is_liked": false, + "is_truncation_disabled": false, + "bookmark_id": null, + "first_liked_by": [ + + ], + "editor": "trix", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "
Atque dolor non nihil.
" + }, + "tiptap_body": null, + "body_plain_text": "Atque dolor non nihil.", + "body_plain_text_without_attachments": "Atque dolor non nihil.", + "url": "http://hoppe.circledev.net:31337/c/in/bartell", + "created_at": "2024-04-02T09:05:23.389Z", + "updated_at": "2024-04-02T09:05:23.393Z", + "space": { + "id": 1, + "slug": "in", + "name": "in", + "emoji": null, + "custom_emoji_url": "http://hoppe.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://hoppe.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png" + }, + "post_follower_id": null, + "topic_follower_id": null, + "author": { + "id": 3, + "community_member_id": 2, + "name": "Shanel O'Conner", + "headline": "Construction Architect", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--e247d4107bf3192dde04a4824074d8e88b1aaf95", + "member_tags": [ + + ] + }, + "action": { + "user_name": "Shanel", + "created_at": "2024-04-02T09:05:23.389Z", + "type": "posted" + }, + "custom_html": null + } + ] + }, + "GET /api/headless/v1/community_member": { + "id": 1, + "user_id": 2, + "public_uid": "0bcd56b6", + "email": "shelton@tromp.info", + "name": "Teressa Hansen VM", + "avatar_url": null, + "large_avatar_url": null, + "bio": "Eligendi assumenda expedita. Consequatur eos amet. A non nisi.", + "headline": "District Producer", + "posts_count": 1, + "comments_count": 0, + "spaces_count": 1, + "bookmarks_count": 0, + "default_space_id": 0, + "active": true, + "profile_info": { + "website": "", + "location": "", + "twitter_url": "", + "facebook_url": "", + "instagram_url": "", + "linkedin_url": "" + }, + "roles": { + "admin": true, + "moderator": false + }, + "features": { + "messaging_enabled": true, + "can_create_live_streams": true, + "display_home_page": true, + "group_messaging_enabled": true, + "display_member_directory": true, + "profile_fields_feature_flag_enabled": false, + "voice_messages_enabled": true, + "chat_reactions_enabled": true, + "tiptap_webview_editor_enabled": true + }, + "mobile_home_segments": [ + { + "id": 1, + "kind": "feed", + "name": null + }, + { + "id": 2, + "kind": "spaces", + "name": null + }, + { + "id": 3, + "kind": "members", + "name": null + }, + { + "id": 4, + "kind": "events", + "name": null + } + ], + "live_stream_limits": { + "live_stream_max_host_capacity": 30, + "live_stream_max_spectator_capacity": 100, + "live_room_participants_capacity": 30, + "live_stream_monthly_stream_hours": 20, + "live_stream_recording_hours": 50 + }, + "profile_fields": { + "visible": [ + { + "id": 1, + "label": "Label", + "field_type": "text", + "key": "profile_field_key_1", + "placeholder": null, + "description": null, + "required": false, + "platform_field": false, + "created_at": "2024-06-05T06:02:56.193Z", + "updated_at": "2024-06-05T06:02:56.193Z", + "community_member_profile_field": { + "id": 1, + "text": null, + "textarea": null, + "created_at": "2024-06-05T06:02:56.675Z", + "updated_at": "2024-06-05T06:02:56.675Z", + "display_value": "", + "community_member_choices": [ + { + "id": 1, + "profile_field_choice": { + "id": 1, + "value": "Choice 1" + } + } + ] + }, + "number_options": null, + "choices": [ + { + "id": 1, + "value": "Choice 1" + } + ] + }, + { + "id": 2, + "label": "Label", + "field_type": "text", + "key": "profile_field_key_2", + "placeholder": null, + "description": null, + "required": false, + "platform_field": false, + "created_at": "2024-06-05T06:02:56.236Z", + "updated_at": "2024-06-05T06:02:56.236Z", + "community_member_profile_field": { + "id": 2, + "text": "Test text", + "textarea": null, + "created_at": "2024-06-05T06:02:56.688Z", + "updated_at": "2024-06-05T06:02:56.688Z", + "display_value": "Test text", + "community_member_choices": [ + + ] + }, + "number_options": null, + "choices": [ + + ] + }, + { + "id": 3, + "label": "Label", + "field_type": "text", + "key": "profile_field_key_3", + "placeholder": null, + "description": null, + "required": false, + "platform_field": false, + "created_at": "2024-06-05T06:02:56.271Z", + "updated_at": "2024-06-05T06:02:56.271Z", + "community_member_profile_field": { + "id": 3, + "text": null, + "textarea": "Test textarea", + "created_at": "2024-06-05T06:02:56.695Z", + "updated_at": "2024-06-05T06:02:56.695Z", + "display_value": "", + "community_member_choices": [ + + ] + }, + "number_options": null, + "choices": [ + + ] + } + ], + "not_visible": [ + + ] + }, + "member_tags": [ + { + "id": 1, + "name": "Tag 1", + "color": "#FF0000", + "is_public": true, + "is_background_enabled": true, + "display_format": "tag", + "display_locations": [ + "edit_profile" + ], + "text_color": "#FFFFFF", + "emoji": "", + "custom_emoji_url": "http://example.com", + "custom_emoji_dark_url": "https://random.com" + } + ], + "gamification_stats": { + "community_member_id": 1, + "total_points": 5, + "current_level": 1, + "current_level_name": "Level 1", + "points_to_next_level": 15, + "level_progress": 25 + } + }, + "GET /api/headless/v1/community_members/101/spaces": { + "page": 1, + "per_page": 30, + "has_next_page": false, + "count": 1, + "sort": "latest", + "records": [ + { + "id": 1, + "name": "optio", + "slug": "sapiente", + "space_group_id": 2, + "community_id": 1, + "post_type": "basic", + "space_type": "basic", + "display_view": "posts", + "emoji": null, + "custom_emoji_url": "http://gutkowski.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://gutkowski.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "is_private": false, + "space_group_name": "Name 1", + "url": "http://gutkowski.circledev.net:31337/c/sapiente", + "is_post_disabled": false, + "hide_post_settings": false, + "is_member": true, + "default_tab": "posts", + "visible_tabs": { + "posts": true, + "members": true + }, + "default_sort": null, + "show_in_spaces_segment": true, + "show_lock_icon_for_non_members": true, + "topics_count": 0, + "require_topic_selection": false, + "space_member_id": 1, + "display_space_welcome_banner": true, + "policies": { + "can_manage_space": true, + "can_view_space": true, + "can_leave_space": true, + "can_create_post": true, + "can_invite_members": true + }, + "cover_image": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBEUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--cb16b4bc4c9fe7654c2cf0a9cea575d75ec719e8", + "cover_image_url": "http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhaM0JrWVRjeWFtVnZNVzFxZEdKcmJtRnVOM0p4ZUhZd1oySndhd1k2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpTzJsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW14dloyOHVjRzVuSWpzZ1ptbHNaVzVoYldVcVBWVlVSaTA0Snlkc2IyZHZMbkJ1WndZN0JsUTZFV052Ym5SbGJuUmZkSGx3WlVraURtbHRZV2RsTDNCdVp3WTdCbFE2RVhObGNuWnBZMlZmYm1GdFpUb0pkR1Z6ZEE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9rZXkifX0=--027eb6316f60becfecee6a57ffee543de8781ff2/logo.png" + } + ] + }, + "POST /api/headless/v1/cookies": { + "message": "Cookies generated" + }, + "DELETE /api/headless/v1/cookies": { + "message": "Cookies deleted" + }, + "GET /api/headless/v1/courses/101/lessons/102/files": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "id": 3, + "created_at": "2024-04-25T05:09:09.000Z", + "byte_size": 43130784, + "filename": "video.mp4", + "content_type": "video/mp4", + "signed_id": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBDQT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--06c6f98cc48113b72fd3c152bbfedb29b6f9174b", + "url": "http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhaVzl5TVdOd2EydzFkalY0T0cwek5XODJaVEJ5T0hWdmF6QnRkUVk2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpUVdGMGRHRmphRzFsYm5RN0lHWnBiR1Z1WVcxbFBTSjJhV1JsYnk1dGNEUWlPeUJtYVd4bGJtRnRaU285VlZSR0xUZ25KM1pwWkdWdkxtMXdOQVk3QmxRNkVXTnZiblJsYm5SZmRIbHdaVWtpRG5acFpHVnZMMjF3TkFZN0JsUTZFWE5sY25acFkyVmZibUZ0WlRvSmRHVnpkQT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2tleSJ9fQ==--4fb930cfce66d46f96eb50e87c777c21aed6a808/video.mp4", + "type": "file" + }, + { + "id": 2, + "created_at": "2024-04-25T05:09:09.000Z", + "byte_size": 3487, + "filename": "video-test.mp4", + "content_type": "video/mp4", + "signed_id": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCdz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--24f6b0be4a6c3c9349e48acfb0580d03a2e824f2", + "url": "http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhlblY2TW5KMk5IRjVhSGQ1Tm00Mk16bHpkVzR6ZW1scFlUYzBOQVk2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpUzJGMGRHRmphRzFsYm5RN0lHWnBiR1Z1WVcxbFBTSjJhV1JsYnkxMFpYTjBMbTF3TkNJN0lHWnBiR1Z1WVcxbEtqMVZWRVl0T0NjbmRtbGtaVzh0ZEdWemRDNXRjRFFHT3daVU9oRmpiMjUwWlc1MFgzUjVjR1ZKSWc1MmFXUmxieTl0Y0RRR093WlVPaEZ6WlhKMmFXTmxYMjVoYldVNkNYUmxjM1E9IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2tleSJ9fQ==--d670da3e1500d457b21cb80e660609cec7abfd40/video-test.mp4", + "type": "file" + } + ] + }, + "PATCH /api/headless/v1/courses/101/lessons/102/progress": { + "status": "completed" + }, + "GET /api/headless/v1/courses/101/lessons/102": { + "id": 2, + "name": "in", + "enforce_featured_media_completion": false, + "autocomplete_on_featured_media_completion": true, + "is_comments_enabled": true, + "is_featured_media_enabled": true, + "featured_media": { + "filename": "video-test.mp4", + "content_type": "video/mp4", + "metadata": { + "identified": true, + "width": 16, + "height": 16, + "duration": 1.466, + "analyzed": true + }, + "byte_size": 3487, + "type": "file", + "url": "http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhZV3A2YUcxc01qbHZZMlpsYzNvMmQyczJPRGRyTW5sMFpEY3hiZ1k2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpUzJGMGRHRmphRzFsYm5RN0lHWnBiR1Z1WVcxbFBTSjJhV1JsYnkxMFpYTjBMbTF3TkNJN0lHWnBiR1Z1WVcxbEtqMVZWRVl0T0NjbmRtbGtaVzh0ZEdWemRDNXRjRFFHT3daVU9oRmpiMjUwWlc1MFgzUjVjR1ZKSWc1MmFXUmxieTl0Y0RRR093WlVPaEZ6WlhKMmFXTmxYMjVoYldVNkNYUmxjM1E9IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2tleSJ9fQ==--db2f29825df6b6fe966cb9300894b449cb823239/video-test.mp4", + "webvtt_file_url": null, + "chapters_url": null, + "preview_thumbnails_url": null, + "is_downloadable": false, + "image_variants": { + "thumbnail": "http://app.circledev.net:31337/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBDUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--2bbe9adfa1ef231801b6e91a588edd436a28ca4c/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCam9VY21WemFYcGxYM1J2WDJ4cGJXbDBXd2RwQWdBRmFRSUFCUT09IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--847eaf622c81da7a967a177067184be730d6ed9b/video-test.mp4" + }, + "signed_id": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBDUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--2bbe9adfa1ef231801b6e91a588edd436a28ca4c" + }, + "is_featured_media_download_enabled": false, + "space": { + "id": 2, + "name": "aspernatur", + "slug": "aperiam" + }, + "bookmark_id": null, + "chat_room_uuid": "90a53aec-e575-4aec-8d4c-62dd9829068c", + "rich_text_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "text": "Hi ", + "type": "text", + "circle_ios_fallback_text": "Hi " + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI7Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjQ1OTQ1Mz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--f710f267c8c35bc29d3c934399d1c785cf96358b" + } + }, + { + "type": "mention", + "attrs": { + "sgid": "BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMjA3Mj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--621f2efb40b175a8aeedbc510eeec52fbc4397d3" + } + }, + { + "text": ",", + "type": "text", + "circle_ios_fallback_text": "," + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "How was your weekend?", + "type": "text", + "circle_ios_fallback_text": "How was your weekend?" + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Please check out ", + "type": "text", + "circle_ios_fallback_text": "Please check out " + }, + { + "text": "https://www.google.com/", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://www.google.com/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "https://www.google.com/" + }, + { + "text": " when you have a moment. ", + "type": "text", + "circle_ios_fallback_text": " when you have a moment. " + }, + { + "type": "hardBreak", + "circle_ios_fallback_text": "\n" + }, + { + "text": "Also, we should create a community on ", + "type": "text", + "circle_ios_fallback_text": "Also, we should create a community on " + }, + { + "text": "circle.so", + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "http://circle.so/", + "target": "_blank" + } + } + ], + "circle_ios_fallback_text": "circle.so" + }, + { + "text": ".", + "type": "text", + "circle_ios_fallback_text": "." + } + ] + } + ] + }, + "circle_ios_fallback_text": "Hi ,\nHow was your weekend?\nPlease check out https://www.google.com/ when you have a moment. \nAlso, we should create a community on circle.so.", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "post", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "featured_media_duration": 1, + "thumbnail_url": null, + "section_id": 1, + "dripped_at": null, + "progress": { + "status": "incomplete" + }, + "needs_to_complete_previous_lesson": false, + "lesson_label": "day", + "section_label": "week" + }, + "GET /api/headless/v1/courses/101/quiz_attempts": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 4, + "page_count": 4, + "records": [ + { + "id": 8, + "quiz_id": 2, + "result": "passed", + "grade": 100, + "created_at": "2024-11-14T10:41:55.303Z", + "community_member": { + "id": 3, + "public_uid": "52ac1d7e", + "name": "Dr. Jefferey Kerluke", + "avatar_url": null + }, + "lesson_name": "error", + "section_name": "quia", + "passing_grade": 70, + "quiz_attempts_count": 2 + }, + { + "id": 6, + "quiz_id": 2, + "result": "passed", + "grade": 100, + "created_at": "2024-11-14T10:41:55.297Z", + "community_member": { + "id": 2, + "public_uid": "e6e45e6c", + "name": "Kara Rodriguez Jr.", + "avatar_url": null + }, + "lesson_name": "error", + "section_name": "quia", + "passing_grade": 70, + "quiz_attempts_count": 2 + }, + { + "id": 4, + "quiz_id": 1, + "result": "passed", + "grade": 100, + "created_at": "2024-11-14T10:41:55.274Z", + "community_member": { + "id": 3, + "public_uid": "52ac1d7e", + "name": "Dr. Jefferey Kerluke", + "avatar_url": null + }, + "lesson_name": "accusamus", + "section_name": "quia", + "passing_grade": 70, + "quiz_attempts_count": 2 + }, + { + "id": 2, + "quiz_id": 1, + "result": "passed", + "grade": 100, + "created_at": "2024-11-14T10:41:55.267Z", + "community_member": { + "id": 2, + "public_uid": "e6e45e6c", + "name": "Kara Rodriguez Jr.", + "avatar_url": null + }, + "lesson_name": "accusamus", + "section_name": "quia", + "passing_grade": 70, + "quiz_attempts_count": 2 + } + ] + }, + "GET /api/headless/v1/courses/101/sections": [ + { + "id": 1, + "name": "Section 1", + "drip_delay": 9, + "notify_students_enabled": false, + "is_dripped": true, + "dripped_at": null, + "lessons": [ + { + "id": 1, + "name": "Lesson 1", + "is_featured_media_enabled": true, + "featured_media_duration": null, + "thumbnail_url": null, + "dripped_at": null, + "progress": { + "status": "incomplete" + }, + "needs_to_complete_previous_lesson": false + }, + { + "id": 2, + "name": "Lesson 2", + "is_featured_media_enabled": true, + "featured_media_duration": null, + "thumbnail_url": null, + "dripped_at": null, + "progress": { + "status": "incomplete" + }, + "needs_to_complete_previous_lesson": false + }, + { + "id": 4, + "name": "Lesson 3 (Video)", + "is_featured_media_enabled": true, + "featured_media_duration": 1, + "thumbnail_url": null, + "dripped_at": null, + "progress": { + "status": "incomplete" + }, + "needs_to_complete_previous_lesson": false + } + ] + }, + { + "id": 2, + "name": "Section 2", + "drip_delay": 1, + "notify_students_enabled": false, + "is_dripped": true, + "dripped_at": null, + "lessons": [ + { + "id": 5, + "name": "Lesson 4", + "is_featured_media_enabled": false, + "featured_media_duration": null, + "thumbnail_url": null, + "dripped_at": null, + "progress": { + "status": "incomplete" + }, + "needs_to_complete_previous_lesson": false + } + ] + }, + { + "id": 3, + "name": "Section 3", + "drip_delay": 4, + "notify_students_enabled": false, + "is_dripped": true, + "dripped_at": null, + "lessons": [ + { + "id": 6, + "name": "Lesson 5", + "is_featured_media_enabled": true, + "featured_media_duration": null, + "thumbnail_url": null, + "dripped_at": null, + "progress": { + "status": "incomplete" + }, + "needs_to_complete_previous_lesson": false + } + ] + } + ], + "GET /api/headless/v1/course_topics": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 4, + "page_count": 4, + "records": [ + { + "id": 1, + "name": "Topic 1", + "admin_only": false + }, + { + "id": 2, + "name": "Topic 2", + "admin_only": true + }, + { + "id": 3, + "name": "Topic 3", + "admin_only": false + }, + { + "id": 4, + "name": "Topic 4", + "admin_only": true + } + ] + }, + "POST /api/headless/v1/direct_uploads": { + "id": 1, + "key": "c7u0d0sjfp9p7wjlzp7v0bxkrykm", + "filename": "sample.jpg", + "content_type": "image/jpeg", + "metadata": { + "identified": true + }, + "byte_size": 186822, + "checksum": "409fnt4awWB4Ab0ZU4+xyA==", + "created_at": "2024-07-22T07:44:52.000Z", + "community_id": 1, + "community_member_id": 1, + "service_name": "test", + "signed_id": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--705b374a95b895bfd07289c5a26f002d24650efa", + "attachable_sgid": "BAh7CEkiCGdpZAY6BkVUSSI5Z2lkOi8vanVtcHN0YXJ0LWFwcC9BY3RpdmVTdG9yYWdlOjpCbG9iLzE_ZXhwaXJlc19pbgY7AFRJIgxwdXJwb3NlBjsAVEkiD2F0dGFjaGFibGUGOwBUSSIPZXhwaXJlc19hdAY7AFQw--88f6aa111f445e903b24937e43a8d44202fa4d08", + "direct_upload": { + "url": "http://www.example.com:31337/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDam9JYTJWNVNTSWhZemQxTUdRd2MycG1jRGx3TjNkcWJIcHdOM1l3WW5ocmNubHJiUVk2QmtWVU9oRmpiMjUwWlc1MFgzUjVjR1ZKSWc5cGJXRm5aUzlxY0dWbkJqc0dWRG9UWTI5dWRHVnVkRjlzWlc1bmRHaHBBOGJaQWpvTlkyaGxZMnR6ZFcxSkloMDBNRGxtYm5RMFlYZFhRalJCWWpCYVZUUXJlSGxCUFQwR093WlVPaEZ6WlhKMmFXTmxYMjVoYldVNkNYUmxjM1E9IiwiZXhwIjoiMjAyNC0wNy0yMlQwNzo0OTo1Mi4yMzVaIiwicHVyIjoiYmxvYl90b2tlbiJ9fQ==--d506363ed9b9d09864438ae805bebd80a5d64ed9", + "headers": { + "Content-Type": "image/jpeg" + } + }, + "url": "http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhZemQxTUdRd2MycG1jRGx3TjNkcWJIcHdOM1l3WW5ocmNubHJiUVk2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpUDJsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW5OaGJYQnNaUzVxY0djaU95Qm1hV3hsYm1GdFpTbzlWVlJHTFRnbkozTmhiWEJzWlM1cWNHY0dPd1pVT2hGamIyNTBaVzUwWDNSNWNHVkpJZzlwYldGblpTOXFjR1ZuQmpzR1ZEb1JjMlZ5ZG1salpWOXVZVzFsT2dsMFpYTjAiLCJleHAiOm51bGwsInB1ciI6ImJsb2Jfa2V5In19--133e53c3b198ae40722fd296d4de82a6892bf989/sample.jpg" + }, + "POST /api/headless/v1/events/101/event_attendees": { + "id": 1, + "community_member_id": 1, + "contact_id": 1, + "contact_type": "CommunityMember", + "avatar_url": "https://gravatar.com/avatar/1.png?size=300x300&d=identicon", + "rsvp_date": "2024-04-29T10:56:39.743Z", + "rsvp_status": "yes", + "name": "Jonathan Harris" + }, + "DELETE /api/headless/v1/events/101/event_attendees": { + "id": 1, + "community_member_id": 1, + "avatar_url": "https://gravatar.com/avatar/1.png?size=300x300&d=identicon", + "rsvp_date": "2024-04-29T11:14:06.123Z", + "rsvp_status": "no", + "name": "Carlo Ferry" + }, + "GET /api/headless/v1/events/101/event_attendees": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "id": 2, + "community_member_id": 2, + "contact_id": 2, + "contact_type": "CommunityMember", + "avatar_url": "https://robohash.org/2.png?size=300x300&set=set1", + "rsvp_date": "2024-04-29T07:27:31.533Z", + "rsvp_status": "yes", + "name": "Curtis Kessler" + }, + { + "id": 1, + "community_member_id": 1, + "contact_id": 1, + "contact_type": "CommunityMember", + "avatar_url": "https://gravatar.com/avatar/1.png?size=300x300&d=identicon", + "rsvp_date": "2024-04-29T07:27:31.506Z", + "rsvp_status": "yes", + "name": "Edna Koepp Jr." + } + ], + "meta": { + } + }, + "POST /api/headless/v1/flagged_contents": { + "message": "Post has been reported to the admin" + }, + "GET /api/headless/v1/home": { + "page": 1, + "has_next_page": false, + "count": 3, + "sort": "latest", + "per_page": 10, + "records": [ + { + "post_type": "basic", + "space_type": "basic", + "status": "published", + "id": 3, + "name": "Sint consequatur aliquam repellendus.", + "display_title": "Sint consequatur aliquam repellendus.", + "slug": "yost-wintheiser", + "is_comments_closed": false, + "is_comments_enabled": true, + "is_liking_enabled": true, + "is_pinned_at_top_of_space": false, + "comment_count": 0, + "user_likes_count": 0, + "hide_meta_info": false, + "is_liked": false, + "is_truncation_disabled": false, + "bookmark_id": 1, + "first_liked_by": [ + + ], + "editor": "trix", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "
Eos corrupti nobis aperiam.
" + }, + "tiptap_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "Test", + "circle_ios_fallback_text": "Test" + } + ] + } + ] + }, + "circle_ios_fallback_text": "Test", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "post", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "body_plain_text": "Eos corrupti nobis aperiam.", + "body_plain_text_without_attachments": "Eos corrupti nobis aperiam.", + "url": "http://jones.circledev.net:31337/c/sed/yost-wintheiser", + "created_at": "2024-06-11T08:51:51.646Z", + "updated_at": "2024-06-11T08:51:51.663Z", + "space": { + "id": 5, + "slug": "sed", + "name": "nulla", + "emoji": "🔵", + "custom_emoji_url": "http://jones.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://jones.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png" + }, + "post_follower_id": null, + "topic_follower_id": null, + "author": { + "id": 2, + "community_member_id": 3, + "name": "Leonardo Nitzsche", + "headline": "Real-Estate Analyst", + "avatar_url": "http://jones.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMz9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--a5c0887a9f7fb5409954c74b71a6f84e9232666c", + "member_tags": [ + + ] + }, + "topics": [ + + ], + "action": { + "user_name": "Leonardo", + "created_at": "2024-06-11T08:51:51.646Z", + "type": "posted" + }, + "custom_html": "
Doloremque quia et.
" + }, + { + "post_type": "event", + "space_type": "basic", + "status": "published", + "id": 2, + "name": "Explicabo ea voluptas quos.", + "display_title": "Explicabo ea voluptas quos.", + "slug": "dickens", + "is_comments_closed": false, + "is_comments_enabled": true, + "is_liking_enabled": true, + "is_pinned_at_top_of_space": false, + "comment_count": 0, + "user_likes_count": 0, + "hide_meta_info": false, + "is_liked": false, + "is_truncation_disabled": false, + "bookmark_id": 2, + "first_liked_by": [ + + ], + "editor": "trix", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "
Tempore asperiores iure aut.
" + }, + "tiptap_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "Test", + "circle_ios_fallback_text": "Test" + } + ] + } + ] + }, + "circle_ios_fallback_text": "Test", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "post", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "body_plain_text": "Tempore asperiores iure aut.", + "body_plain_text_without_attachments": "Tempore asperiores iure aut.", + "url": "http://jones.circledev.net:31337/c/maiores/dickens", + "created_at": "2024-06-11T08:51:51.019Z", + "updated_at": "2024-06-11T08:51:51.040Z", + "space": { + "id": 2, + "slug": "maiores", + "name": "consequatur", + "emoji": "🔵", + "custom_emoji_url": "http://jones.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://jones.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png" + }, + "post_follower_id": 12, + "topic_follower_id": 3, + "author": { + "id": 2, + "community_member_id": 2, + "name": "Leonardo Green", + "headline": "Accounting Liaison", + "avatar_url": "http://jones.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--e247d4107bf3192dde04a4824074d8e88b1aaf95", + "member_tags": [ + + ] + }, + "topics": [ + + ], + "action": { + "user_name": "Leonardo", + "created_at": "2024-06-11T08:51:51.019Z", + "type": "posted" + }, + "custom_html": null, + "event_setting_attributes": { + "starts_at": "2024-06-21T08:51:50.000Z", + "ends_at": "2024-06-21T08:53:12.000Z", + "in_person_location": null, + "hide_location_from_non_attendees": true, + "duration_in_seconds": 82, + "rsvp_disabled": false, + "hide_attendees": false, + "send_email_reminder": true, + "send_in_app_notification_reminder": true, + "send_email_confirmation": true, + "send_in_app_notification_confirmation": true, + "enable_custom_thank_you_message": false, + "confirmation_message_title": "Registration confirmed for Explicabo ea voluptas quos.", + "confirmation_message_description": "We'll send you a reminder before the event.", + "confirmation_message_button_title": "Done", + "confirmation_message_button_link": "", + "location_type": "virtual", + "virtual_location_url": "http://upton.name/shelby", + "rsvp_limit": 5, + "rsvp_count": 1 + }, + "event_type": "single", + "rsvped_event": true, + "rsvp_status": "yes", + "event_attendees": { + "records": [ + { + "id": 1, + "community_member_id": 1, + "avatar_url": null, + "rsvp_date": "2024-06-11T08:51:51.739Z", + "rsvp_status": "yes", + "name": "Rod Boehm" + } + ], + "count": 1 + } + }, + { + "post_type": "basic", + "space_type": "basic", + "status": "published", + "id": 1, + "name": "Quis quia non omnis.", + "display_title": "Quis quia non omnis.", + "slug": "gerhold", + "is_comments_closed": false, + "is_comments_enabled": true, + "is_liking_enabled": true, + "is_pinned_at_top_of_space": false, + "comment_count": 0, + "user_likes_count": 0, + "hide_meta_info": false, + "is_liked": false, + "is_truncation_disabled": false, + "bookmark_id": null, + "first_liked_by": [ + + ], + "editor": "trix", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "
Dicta qui non voluptate.
" + }, + "tiptap_body": null, + "body_plain_text": "Dicta qui non voluptate.", + "body_plain_text_without_attachments": "Dicta qui non voluptate.", + "url": "http://jones.circledev.net:31337/c/corrupti/gerhold", + "created_at": "2024-06-11T08:51:50.526Z", + "updated_at": "2024-06-11T08:51:50.546Z", + "space": { + "id": 1, + "slug": "corrupti", + "name": "eaque", + "emoji": null, + "custom_emoji_url": "http://jones.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://jones.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png" + }, + "post_follower_id": 1, + "topic_follower_id": 1, + "author": { + "id": 2, + "community_member_id": 1, + "name": "Rod Boehm", + "headline": "Sales Producer", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMT9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--300ef5a89875ce89142a86d8a22203d06c4161d4", + "member_tags": [ + + ] + }, + "topics": [ + + ], + "action": { + "user_name": "Rod", + "created_at": "2024-06-11T08:51:50.526Z", + "type": "posted" + }, + "custom_html": null + } + ] + }, + "POST /api/headless/v1/spaces/101/images/posts": { + "post_type": "image", + "space_type": "image", + "status": "published", + "id": 2, + "name": null, + "display_title": "Content", + "slug": "content", + "is_comments_closed": false, + "is_comments_enabled": true, + "is_liking_enabled": true, + "is_pinned_at_top_of_space": false, + "comment_count": 0, + "user_likes_count": 0, + "hide_meta_info": false, + "is_liked": false, + "is_truncation_disabled": false, + "bookmark_id": null, + "flagged_for_approval_at": null, + "unresolved_flagged_reports_count": 0, + "first_liked_by": [ + + ], + "editor": "tiptap", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "
Update available
Please update the app to view this post.
" + }, + "tiptap_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "Content", + "\n circle_ios_fallback_text": "Content" + } + ] + } + ] + }, + "circle_ios_fallback_text": "Content", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "post", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "body_plain_text": "Content", + "body_plain_text_without_attachments": "Content", + "url": "http://pfannerstill-luettgen.circledev.net:31337/c/ratione/content", + "created_at": "2024-04-16T16:20:02.419Z", + "updated_at": "2024-04-16T16:20:02.423Z", + "space": { + "id": 2, + "slug": "ratione", + "name": "voluptas", + "emoji": null, + "custom_emoji_url": "http://pfannerstill-luettgen.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://pfannerstill-luettgen.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png" + }, + "post_follower_id": 2, + "topic_follower_id": 2, + "author": { + "id": 2, + "community_member_id": 1, + "name": "Fr. Shana Little", + "headline": "Human Government Producer", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMT9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--300ef5a89875ce89142a86d8a22203d06c4161d4", + "member_tags": [ + + ] + }, + "action": { + "user_name": "Fr.", + "created_at": "2024-04-16T16:20:02.419Z", + "type": "posted" + }, + "custom_html": null, + "gallery": { + "id": 1, + "downloadable_images": false, + "images": [ + { + "id": 1, + "signed_id": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--705b374a95b895bfd07289c5a26f002d24650efa", + "original_url": "http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhhMlIzY0c1a05uRm5kR2RwTjI1c01YTm5NMjVoYURNMmJYVmhkd1k2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpTzJsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW01bGJ5NXFjR1ZuSWpzZ1ptbHNaVzVoYldVcVBWVlVSaTA0SnlkdVpXOHVhbkJsWndZN0JsUTZFV052Ym5SbGJuUmZkSGx3WlVraUQybHRZV2RsTDJwd1pXY0dPd1pVT2hGelpYSjJhV05sWDI1aGJXVTZDWFJsYzNRPSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9rZXkifX0=--8ae473b0499e82c539f654ab8f6fd6cfb028cbab/neo.jpeg", + "url": "http://app.circledev.net:31337/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--705b374a95b895bfd07289c5a26f002d24650efa/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lKYW5CbFp3WTZCa1ZVT2hSeVpYTnBlbVZmZEc5ZmJHbHRhWFJiQjJrQzBB\n ZHBBdEFIT2dwellYWmxjbnNHT2dwemRISnBjRlE9IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--14431897580518ed67f5be63cd7c4086ca3a36c6/neo.jpeg", + "filename": "neo.jpeg", + "width": 2000, + "height": 2000 + }, + { + "id": 2, + "signed_id": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCdz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--24f6b0be4a6c3c9349e48acfb0580d03a2e824f2", + "original_url": "http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhjMnB3ZG1jd2RXSjZkR00zYm5sM01uSTFNR1JrZFRWcmRESjVNd1k2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpUjJsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW14aGJtUnpZMkZ3WlM1cWNHVm5JanNnWm1sc1pXNWhiV1VxUFZWVVJpMDRKeWRzWVc1a2MyTmhjR1V1YW5CbFp3WTdCbFE2RVdOdmJuUmxiblJmZEhsd1pVa2lEMmx0WVdkbEwycHdaV2NHT3daVU9oRnpaWEoyYVdObFgyNWhiV1U2Q1hSbGMzUT0iLCJleHAiOm51bGwsInB1ciI6ImJsb2Jfa2V5In19--42eddd107e2b997e3065e6476a17567052901c20/landscape.jpeg", + "url": "http://app.circledev.net:31337/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCdz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--24f6b0be4a6c3c9349e48acfb0580d03a2e824f2/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lKYW5CbFp3WTZCa1ZVT2hSeVpYTnBlbVZmZEc5ZmJHbHRhWFJiQjJrQzBBZHBBdEFIT2dwellYWmxjbnNHT2dwemRISnBjRlE9IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--14431897580518ed67f5be63cd7c4086ca3a36c6/landscape.jpeg", + "filename": "landscape.jpeg", + "width": 2000, + "height": 2000 + } + ] + } + }, + "PUT /api/headless/v1/spaces/101/images/posts/102": { + "post_type": "image", + "space_type": "image", + "status": "published", + "id": 2, + "name": null, + "display_title": "Content", + "slug": "content", + "is_comments_closed": false, + "is_comments_enabled": true, + "is_liking_enabled": true, + "is_pinned_at_top_of_space": false, + "comment_count": 0, + "user_likes_count": 0, + "hide_meta_info": false, + "is_liked": false, + "is_truncation_disabled": false, + "bookmark_id": null, + "first_liked_by": [ + + ], + "editor": "tiptap", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "
Update available
Please update the app to view this post.
" + }, + "tiptap_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "Content", + "\n circle_ios_fallback_text": "Content" + } + ] + } + ] + }, + "circle_ios_fallback_text": "Content", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "post", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "body_plain_text": "Content", + "body_plain_text_without_attachments": "Content", + "url": "http://pfannerstill-luettgen.circledev.net:31337/c/ratione/content", + "created_at": "2024-04-16T16:20:02.419Z", + "updated_at": "2024-04-16T16:20:02.423Z", + "space": { + "id": 2, + "slug": "ratione", + "name": "voluptas", + "emoji": null, + "custom_emoji_url": "http://pfannerstill-luettgen.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://pfannerstill-luettgen.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png" + }, + "post_follower_id": 2, + "topic_follower_id": 2, + "author": { + "id": 2, + "community_member_id": 1, + "name": "Fr. Shana Little", + "headline": "Human Government Producer", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMT9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--300ef5a89875ce89142a86d8a22203d06c4161d4", + "member_tags": [ + + ] + }, + "action": { + "user_name": "Fr.", + "created_at": "2024-04-16T16:20:02.419Z", + "type": "posted" + }, + "custom_html": null, + "gallery": { + "id": 1, + "downloadable_images": false, + "images": [ + { + "id": 1, + "signed_id": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--705b374a95b895bfd07289c5a26f002d24650efa", + "original_url": "http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhhMlIzY0c1a05uRm5kR2RwTjI1c01YTm5NMjVoYURNMmJYVmhkd1k2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpTzJsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW01bGJ5NXFjR1ZuSWpzZ1ptbHNaVzVoYldVcVBWVlVSaTA0SnlkdVpXOHVhbkJsWndZN0JsUTZFV052Ym5SbGJuUmZkSGx3WlVraUQybHRZV2RsTDJwd1pXY0dPd1pVT2hGelpYSjJhV05sWDI1aGJXVTZDWFJsYzNRPSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9rZXkifX0=--8ae473b0499e82c539f654ab8f6fd6cfb028cbab/neo.jpeg", + "url": "http://app.circledev.net:31337/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--705b374a95b895bfd07289c5a26f002d24650efa/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lKYW5CbFp3WTZCa1ZVT2hSeVpYTnBlbVZmZEc5ZmJHbHRhWFJiQjJrQzBB\n ZHBBdEFIT2dwellYWmxjbnNHT2dwemRISnBjRlE9IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--14431897580518ed67f5be63cd7c4086ca3a36c6/neo.jpeg", + "filename": "neo.jpeg", + "width": 2000, + "height": 2000 + }, + { + "id": 2, + "signed_id": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCdz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--24f6b0be4a6c3c9349e48acfb0580d03a2e824f2", + "original_url": "http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhjMnB3ZG1jd2RXSjZkR00zYm5sM01uSTFNR1JrZFRWcmRESjVNd1k2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpUjJsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW14aGJtUnpZMkZ3WlM1cWNHVm5JanNnWm1sc1pXNWhiV1VxUFZWVVJpMDRKeWRzWVc1a2MyTmhjR1V1YW5CbFp3WTdCbFE2RVdOdmJuUmxiblJmZEhsd1pVa2lEMmx0WVdkbEwycHdaV2NHT3daVU9oRnpaWEoyYVdObFgyNWhiV1U2Q1hSbGMzUT0iLCJleHAiOm51bGwsInB1ciI6ImJsb2Jfa2V5In19--42eddd107e2b997e3065e6476a17567052901c20/landscape.jpeg", + "url": "http://app.circledev.net:31337/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCdz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--24f6b0be4a6c3c9349e48acfb0580d03a2e824f2/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lKYW5CbFp3WTZCa1ZVT2hSeVpYTnBlbVZmZEc5ZmJHbHRhWFJiQjJrQzBBZHBBdEFIT2dwellYWmxjbnNHT2dwemRISnBjRlE9IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--14431897580518ed67f5be63cd7c4086ca3a36c6/landscape.jpeg", + "filename": "landscape.jpeg", + "width": 2000, + "height": 2000 + } + ] + } + }, + "POST /api/headless/v1/live_streams/rooms": { + "id": 1, + "name": "My room name", + "description": "Some room description", + "slug": "a-valid-slug", + "status": "backstage", + "host_capacity": 30, + "view_type": "grid_view", + "room_type": "stream", + "recording_enabled": false, + "access_type": "open", + "room_provider": "hms", + "invited_entities_ids": null, + "mute_on_join": false, + "limit_url_sharing": false, + "created_at": "2024-06-06T08:55:47.130Z", + "chat_room_uuid": "b8178a11-e982-4504-b789-1b4a93c09fc3", + "creator": { + "id": 1, + "name": "Jonnie Hessel", + "avatar_url": "https://secure.gravatar.com/avatar/1e9f99f315dac9c4c79b50e372f0b91d?default=404&secure=true&size=300", + "public_uid": "fb481b48", + "bio": "Reprehenderit voluptas dolor. Dolores facilis vero. Nemo voluptates praesentium.", + "headline": "Real-Estate Designer" + }, + "participants_preview": { + "records": [ + + ], + "count": 0 + }, + "can_host": true, + "can_manage": true, + "can_moderate": false, + "is_creator": true + }, + "GET /api/headless/v1/notification_preferences/101": { + "notification_preferences": [ + { + "type": "post_comment", + "name": "Comments on my posts", + "enabled": false + }, + { + "type": "comment_reply", + "name": "Replies to my comments", + "enabled": true + }, + { + "type": "mention", + "name": "Mentions", + "enabled": true + }, + { + "type": "post_like", + "name": "Likes on my posts", + "enabled": true + }, + { + "type": "comment_like", + "name": "Likes on my comments", + "enabled": true + }, + { + "type": "live", + "name": "Live streams/rooms", + "enabled": true + }, + { + "type": "new_course_content", + "name": "New course content", + "enabled": true + }, + { + "type": "poll", + "name": "Polls", + "enabled": true + } + ], + "space_preferences": [ + { + "id": 1, + "space_id": 1, + "space_name": "non", + "choice": "never", + "is_chat_space": false + }, + { + "id": 2, + "space_id": 2, + "space_name": "voluptate", + "choice": "all", + "is_chat_space": false + }, + { + "id": 3, + "space_id": 3, + "space_name": "temporibus", + "choice": "never", + "is_chat_space": false + } + ] + }, + "PUT /api/headless/v1/notification_preferences/101": { + "success": true, + "message": "Notification preference changed successfully" + }, + "GET /api/headless/v1/notification_preferences/space_members/101": { + "in_app": "all", + "push": "never" + }, + "PUT /api/headless/v1/notification_preferences/101/spaces": { + "success": true, + "message": "Notification preference changed successfully" + }, + "PUT /api/headless/v1/notification_preferences/101/spaces/102": { + "success": true, + "message": "Notification preference changed successfully" + }, + "POST /api/headless/v1/notifications/101/archive": { + "id": 1, + "created_at": "2024-03-28T16:17:54.573Z", + "read_at": null, + "action": "add", + "notifiable_id": 2, + "space_title": "eius", + "display_action": "posted", + "space_id": 1, + "notification_text_structure": [ + "actor_name", + "display_action", + "notifiable_title" + ], + "actor_name": "Issac Bruen VM", + "notifiable_title": "Repellat nobis non quod.", + "actor_image": null, + "notifiable_type": "Post", + "action_web_url": "http://abshire.circledev.net:31337/c/dolorem/dickens", + "notifiable": { + "id": 2, + "community_id": 1, + "space_id": 1 + } + }, + "DELETE /api/headless/v1/notifications/101": { + "id": 1, + "created_at": "2024-03-28T16:30:17.226Z", + "read_at": null, + "action": "add", + "notifiable_id": 2, + "space_title": "consequuntur", + "display_action": "posted", + "space_id": 1, + "notification_text_structure": [ + "actor_name", + "display_action", + "notifiable_title" + ], + "actor_name": "Pearle Ankunding", + "notifiable_title": "Qui fugiat dignissimos quam.", + "actor_image": null, + "notifiable_type": "Post", + "action_web_url": "http://hilll.circledev.net:31337/c/quae/rippin", + "notifiable": { + "id": 2, + "community_id": 1, + "space_id": 1 + } + }, + "GET /api/headless/v1/notifications": { + "page": 1, + "per_page": 20, + "has_next_page": false, + "count": 1, + "page_count": 1, + "records": [ + { + "id": 1, + "created_at": "2024-02-26T10:44:19.849Z", + "read_at": null, + "action": "add", + "notifiable_id": 2, + "space_title": "delectus", + "display_action": "posted", + "space_id": 1, + "notification_text_structure": [ + "actor_name", + "display_action", + "notifiable_title" + ], + "actor_name": "Cary Toy", + "notifiable_title": "Et impedit enim et.", + "actor_image": null, + "second_actor_image": null, + "second_actor_name": null, + "notifiable_type": "Post", + "action_web_url": "http://hoppe.circledev.net:31337/c/distinctio/walker-mraz", + "notifiable": { + "id": 2, + "community_id": 1, + "space_id": 1 + } + } + ] + }, + "POST /api/headless/v1/notifications/101/mark_as_read": { + "id": 1, + "created_at": "2024-03-28T16:09:34.117Z", + "read_at": "2024-03-28T16:09:34.000Z", + "action": "add", + "notifiable_id": 2, + "space_title": "nihil", + "display_action": "posted", + "space_id": 1, + "notification_text_structure": [ + "actor_name", + "display_action", + "notifiable_title" + ], + "actor_name": "Colby Weber", + "notifiable_title": "Debitis nulla quasi magnam.", + "actor_image": null, + "notifiable_type": "Post", + "second_actor_image": null, + "second_actor_name": null, + "action_web_url": "http://haag.circledev.net:31337/c/quidem/cummerata-lynch", + "notifiable": { + "id": 2, + "community_id": 1, + "space_id": 1 + } + }, + "GET /api/headless/v1/notifications/new_notifications_count": { + "new_notifications_count": 1, + "new_mentions_count": 0, + "new_inbox_count": 1, + "new_content_count": 0, + "new_moderation_count": 0 + }, + "POST /api/headless/v1/notifications/reset_new_notifications_count": { + "new_notifications_count": 0 + }, + "GET /api/headless/v1/page_profile_fields": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "id": 2, + "label": "Label", + "field_type": "number", + "key": "profile_field_key_2", + "placeholder": null, + "description": null, + "required": false, + "allow_null": false, + "platform_field": false, + "number_options": { + "id": 1, + "format": "number", + "decimal": 2, + "position": null, + "text": null + }, + "choices": [ + + ] + }, + { + "id": 1, + "label": "Label", + "field_type": "select", + "key": "profile_field_key_1", + "placeholder": null, + "description": null, + "required": false, + "allow_null": false, + "platform_field": false, + "number_options": null, + "choices": [ + { + "id": 1, + "value": "Choice 1" + } + ] + } + ] + }, + "POST /api/headless/v1/posts/101/post_followers": { + "success": true, + "message": "Post followed." + }, + "DELETE /api/headless/v1/posts/101/post_followers": { + "success": true, + "message": "Post unfollowed." + }, + "DELETE /api/headless/v1/posts/101/post_followers/102": { + "success": true, + "message": "Post unfollowed." + }, + "POST /api/headless/v1/spaces/101/posts": { + "post_type": "basic", + "space_type": "basic", + "status": "published", + "id": 2, + "name": "Post Name", + "display_title": "Post Name", + "slug": "post-name", + "is_comments_closed": false, + "is_comments_enabled": true, + "is_liking_enabled": true, + "is_pinned_at_top_of_space": false, + "comment_count": 0, + "user_likes_count": 0, + "hide_meta_info": false, + "is_liked": false, + "is_truncation_disabled": false, + "bookmark_id": null, + "first_liked_by": [ + + ], + "editor": "tiptap", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "
Update available
Please update the app to view this post.
" + }, + "tiptap_body": { + "body": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "Test", + "circle_ios_fallback_text": "Test" + } + ] + } + ] + }, + "circle_ios_fallback_text": "Test", + "attachments": [ + + ], + "inline_attachments": [ + + ], + "sgids_to_object_map": { + }, + "format": "post", + "community_members": [ + + ], + "entities": [ + + ], + "group_mentions": [ + + ], + "polls": [ + + ] + }, + "body_plain_text": "Test", + "body_plain_text_without_attachments": "Test", + "url": "http://flatley.circledev.net:31337/c/quasi/post-name", + "created_at": "2024-04-12T16:31:38.560Z", + "updated_at": "2024-04-12T16:31:38.567Z", + "space": { + "id": 1, + "slug": "quasi", + "name": "aut", + "emoji": null, + "custom_emoji_url": "http://flatley.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://flatley.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png" + }, + "post_follower_id": 2, + "topic_follower_id": 2, + "author": { + "id": 2, + "community_member_id": 1, + "name": "Lamar O'Reilly", + "headline": "Principal Administrator", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMT9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--300ef5a89875ce89142a86d8a22203d06c4161d4", + "member_tags": [ + + ] + }, + "action": { + "user_name": "Lamar", + "created_at": "2024-04-12T16:31:38.560Z", + "type": "posted" + }, + "custom_html": null, + "policies": { + "can_destroy_post": true, + "can_duplicate_post": true, + "can_manage_post": true, + "can_report_post": false, + "can_update_post": true + }, + "topics": [ + { + "id": 1, + "name": "Topic 1", + "admin_only": false + }, + { + "id": 2, + "name": "Topic 2", + "admin_only": true + } + ] + }, + "GET /api/headless/v1/spaces/101/posts": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 2, + "sort": "latest", + "records": [ + { + "post_type": "image", + "space_type": "image", + "status": "published", + "id": 3, + "name": null, + "display_title": "corrupti", + "slug": "simonis", + "is_comments_closed": false, + "is_comments_enabled": true, + "is_liking_enabled": true, + "is_pinned_at_top_of_space": false, + "comment_count": 0, + "user_likes_count": 0, + "hide_meta_info": false, + "is_liked": false, + "is_truncation_disabled": false, + "bookmark_id": null, + "flagged_for_approval_at": null, + "unresolved_flagged_reports_count": 0, + "first_liked_by": [ + + ], + "editor": "tiptap", + "body": null, + "tiptap_body": null, + "body_plain_text": "", + "body_plain_text_without_attachments": "", + "url": "http://hoppe.circledev.net:31337/c/autem/simonis", + "created_at": "2024-04-02T09:05:23.651Z", + "updated_at": "2024-04-02T09:05:23.676Z", + "space": { + "id": 3, + "slug": "autem", + "name": "corrupti", + "emoji": ":blue_circle:", + "custom_emoji_url": "http://hoppe.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://hoppe.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png" + }, + "post_follower_id": null, + "topic_follower_id": null, + "author": { + "id": 3, + "community_member_id": 2, + "name": "Shanel O'Conner", + "headline": "Construction Architect", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--e247d4107bf3192dde04a4824074d8e88b1aaf95", + "member_tags": [ + + ] + }, + "action": { + "user_name": "Shanel", + "created_at": "2024-04-02T09:05:23.651Z", + "type": "posted" + }, + "custom_html": null, + "policies": { + "can_destroy_post": true, + "can_duplicate_post": true, + "can_manage_post": true, + "can_report_post": false, + "can_update_post": true + }, + "gallery": { + "id": 1, + "downloadable_images": false, + "images": [ + { + "id": 1, + "signed_id": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBDUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--2bbe9adfa1ef231801b6e91a588edd436a28ca4c", + "original_url": "http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhlR3A1YXpaamRtUmpiRzFvZWpGc05ISTJPSGg2ZDNCME1tWjNOd1k2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpUjJsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW14aGJtUnpZMkZ3WlM1cWNHVm5JanNnWm1sc1pXNWhiV1VxUFZWVVJpMDRKeWRzWVc1a2MyTmhjR1V1YW5CbFp3WTdCbFE2RVdOdmJuUmxiblJmZEhsd1pVa2lEMmx0WVdkbEwycHdaV2NHT3daVU9oRnpaWEoyYVdObFgyNWhiV1U2Q1hSbGMzUT0iLCJleHAiOm51bGwsInB1ciI6ImJsb2Jfa2V5In19--c18a62c9e501ee29acbfec778e8a71c22494bbc2/landscape.jpeg", + "url": "http://app.circledev.net:31337/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBDUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--2bbe9adfa1ef231801b6e91a588edd436a28ca4c/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lKYW5CbFp3WTZCa1ZVT2hSeVpYTnBlbVZmZEc5ZmJHbHRhWFJiQjJrQzBBZHBBdEFIT2dwellYWmxjbnNHT2dwemRISnBjRlE9IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--14431897580518ed67f5be63cd7c4086ca3a36c6/landscape.jpeg", + "filename": "landscape.jpeg", + "width": 2000, + "height": 2000 + } + ] + }, + "topics": [ + { + "id": 1, + "name": "Topic 1", + "admin_only": false + }, + { + "id": 2, + "name": "Topic 2", + "admin_only": true + } + ] + }, + { + "post_type": "basic", + "space_type": "basic", + "status": "published", + "id": 1, + "name": "Aut quod quibusdam et.", + "display_title": "Aut quod quibusdam et.", + "slug": "bartell", + "is_comments_closed": false, + "is_comments_enabled": true, + "is_liking_enabled": true, + "is_pinned_at_top_of_space": false, + "comment_count": 0, + "user_likes_count": 0, + "hide_meta_info": false, + "is_liked": false, + "is_truncation_disabled": false, + "bookmark_id": null, + "flagged_for_approval_at": null, + "unresolved_flagged_reports_count": 0, + "first_liked_by": [ + + ], + "editor": "trix", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "
Atque dolor non nihil.
" + }, + "tiptap_body": null, + "body_plain_text": "Atque dolor non nihil.", + "body_plain_text_without_attachments": "Atque dolor non nihil.", + "url": "http://hoppe.circledev.net:31337/c/in/bartell", + "created_at": "2024-04-02T09:05:23.389Z", + "updated_at": "2024-04-02T09:05:23.393Z", + "space": { + "id": 1, + "slug": "in", + "name": "in", + "emoji": null, + "custom_emoji_url": "http://hoppe.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://hoppe.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png" + }, + "post_follower_id": null, + "topic_follower_id": null, + "author": { + "id": 3, + "community_member_id": 2, + "name": "Shanel O'Conner", + "headline": "Construction Architect", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--e247d4107bf3192dde04a4824074d8e88b1aaf95", + "member_tags": [ + + ] + }, + "action": { + "user_name": "Shanel", + "created_at": "2024-04-02T09:05:23.389Z", + "type": "posted" + }, + "custom_html": null, + "policies": { + "can_destroy_post": true, + "can_duplicate_post": true, + "can_manage_post": true, + "can_report_post": false, + "can_update_post": true + }, + "topics": [ + { + "id": 1, + "name": "Topic 1", + "admin_only": false + }, + { + "id": 2, + "name": "Topic 2", + "admin_only": true + } + ] + } + ] + }, + "DELETE /api/headless/v1/spaces/101/posts/102": { + "success": true, + "message": "Post deleted" + }, + "GET /api/headless/v1/spaces/101/posts/102": { + "post_type": "image", + "space_type": "image", + "status": "published", + "id": 3, + "name": null, + "display_title": "corrupti", + "slug": "simonis", + "is_comments_closed": false, + "is_comments_enabled": true, + "is_liking_enabled": true, + "is_pinned_at_top_of_space": false, + "comment_count": 0, + "user_likes_count": 0, + "hide_meta_info": false, + "is_liked": false, + "is_truncation_disabled": false, + "bookmark_id": null, + "first_liked_by": [ + + ], + "editor": "tiptap", + "body": null, + "tiptap_body": null, + "body_plain_text": "", + "body_plain_text_without_attachments": "", + "url": "http://hoppe.circledev.net:31337/c/autem/simonis", + "created_at": "2024-04-02T09:05:23.651Z", + "updated_at": "2024-04-02T09:05:23.676Z", + "space": { + "id": 3, + "slug": "autem", + "name": "corrupti", + "emoji": ":blue_circle:", + "custom_emoji_url": "http://hoppe.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://hoppe.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png" + }, + "post_follower_id": null, + "topic_follower_id": null, + "author": { + "id": 3, + "community_member_id": 2, + "name": "Shanel O'Conner", + "headline": "Construction Architect", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMj9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--e247d4107bf3192dde04a4824074d8e88b1aaf95", + "member_tags": [ + + ] + }, + "action": { + "user_name": "Shanel", + "created_at": "2024-04-02T09:05:23.651Z", + "type": "posted" + }, + "custom_html": null, + "policies": { + "can_destroy_post": true, + "can_duplicate_post": true, + "can_manage_post": true, + "can_report_post": false, + "can_update_post": true + }, + "gallery": { + "id": 1, + "downloadable_images": false, + "images": [ + { + "id": 1, + "signed_id": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBDUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--2bbe9adfa1ef231801b6e91a588edd436a28ca4c", + "original_url": "http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhlR3A1YXpaamRtUmpiRzFvZWpGc05ISTJPSGg2ZDNCME1tWjNOd1k2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpUjJsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW14aGJtUnpZMkZ3WlM1cWNHVm5JanNnWm1sc1pXNWhiV1VxUFZWVVJpMDRKeWRzWVc1a2MyTmhjR1V1YW5CbFp3WTdCbFE2RVdOdmJuUmxiblJmZEhsd1pVa2lEMmx0WVdkbEwycHdaV2NHT3daVU9oRnpaWEoyYVdObFgyNWhiV1U2Q1hSbGMzUT0iLCJleHAiOm51bGwsInB1ciI6ImJsb2Jfa2V5In19--c18a62c9e501ee29acbfec778e8a71c22494bbc2/landscape.jpeg", + "url": "http://app.circledev.net:31337/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBDUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--2bbe9adfa1ef231801b6e91a588edd436a28ca4c/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lKYW5CbFp3WTZCa1ZVT2hSeVpYTnBlbVZmZEc5ZmJHbHRhWFJiQjJrQzBBZHBBdEFIT2dwellYWmxjbnNHT2dwemRISnBjRlE9IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--14431897580518ed67f5be63cd7c4086ca3a36c6/landscape.jpeg", + "filename": "landscape.jpeg", + "width": 2000, + "height": 2000 + } + ] + }, + "topics": [ + { + "id": 1, + "name": "Topic 1", + "admin_only": false + }, + { + "id": 2, + "name": "Topic 2", + "admin_only": true + } + ] + }, + "PUT /api/headless/v1/profile": { + "message": "Profile updated!", + "current_community_member": { + "first_name": "Test", + "last_name": "User", + "user_id": 2, + "id": 1, + "admin": true, + "headline": "New Headline", + "public_uid": "11e62ec8", + "user_attachable_sgid": "BAh7CEkiCGdpZAY6BkVUSSIqZ2lkOi8vanVtcHN0YXJ0LWFwcC9Vc2VyLzI_ZXhwaXJlc19pbgY7AFRJIgxwdXJwb3NlBjsAVEkiD2F0dGFjaGFibGUGOwBUSSIPZXhwaXJlc19hdAY7AFQw--07590ef1d66a370a60d6f1f156d728fbf42221d6", + "name": "Test User", + "avatar_url": null, + "is_deleted": false, + "community_member_id": 1, + "profile_fields": { + "visible": [ + { + "id": 1, + "label": "Label", + "field_type": "text", + "key": "profile_field_key_1", + "placeholder": null, + "description": null, + "required": false, + "platform_field": false, + "created_at": "2024-06-05T06:02:56.193Z", + "updated_at": "2024-06-05T06:02:56.193Z", + "community_member_profile_field": { + "id": 1, + "text": null, + "textarea": null, + "created_at": "2024-06-05T06:02:56.675Z", + "updated_at": "2024-06-05T06:02:56.675Z", + "display_value": "", + "community_member_choices": [ + { + "id": 1, + "profile_field_choice": { + "id": 1, + "value": "Choice 1" + } + } + ] + }, + "number_options": null, + "choices": [ + { + "id": 1, + "value": "Choice 1" + } + ] + }, + { + "id": 2, + "label": "Label", + "field_type": "text", + "key": "profile_field_key_2", + "placeholder": null, + "description": null, + "required": false, + "platform_field": false, + "created_at": "2024-06-05T06:02:56.236Z", + "updated_at": "2024-06-05T06:02:56.236Z", + "community_member_profile_field": { + "id": 2, + "text": "Test text", + "textarea": null, + "created_at": "2024-06-05T06:02:56.688Z", + "updated_at": "2024-06-05T06:02:56.688Z", + "display_value": "Test text", + "community_member_choices": [ + + ] + }, + "number_options": null, + "choices": [ + + ] + }, + { + "id": 3, + "label": "Label", + "field_type": "text", + "key": "profile_field_key_3", + "placeholder": null, + "description": null, + "required": false, + "platform_field": false, + "created_at": "2024-06-05T06:02:56.271Z", + "updated_at": "2024-06-05T06:02:56.271Z", + "community_member_profile_field": { + "id": 3, + "text": null, + "textarea": "Test textarea", + "created_at": "2024-06-05T06:02:56.695Z", + "updated_at": "2024-06-05T06:02:56.695Z", + "display_value": "", + "community_member_choices": [ + + ] + }, + "number_options": null, + "choices": [ + + ] + } + ], + "not_visible": [ + + ] + } + } + }, + "GET /api/headless/v1/community_members/101/public_profile": { + "id": 2, + "connection_to_current_community_member": null, + "headline": "International Sales Developer", + "bio": "Accusantium culpa laboriosam. Quod possimus unde. Error id nesciunt.", + "name": "Elmer Windler", + "email": "lowell.jacobson@mohr.info", + "posts_count": 12, + "comments_count": 2, + "spaces_count": 4, + "can_receive_dm_from_current_member": true, + "messaging_enabled": true, + "profile_info": { + "website": "http://www.example.com", + "location": "New York, NY", + "twitter_url": "https://twitter.com/username", + "facebook_url": "https://www.facebook.com/username", + "instagram_url": "https://www.instagram.com/username", + "linkedin_url": "https://www.linkedin.com/in/username" + }, + "roles": { + "admin": true, + "moderator": false + }, + "member_tags": [ + { + "id": 1, + "name": "Great", + "color": "#FF0000", + "is_public": true, + "is_background_enabled": true, + "display_format": "tag", + "display_locations": [ + "profile" + ], + "text_color": "#FFFFFF", + "custom_emoji_url": "https://example.com/emoji.png", + "custom_emoji_dark_url": "https://example.com/emoji-dark.png", + "emoji": "👍" + } + ], + "avatar_url": "https://www.gravatar.com/avatar/205e460b479e2e5b48aec07710c08d50", + "large_avatar_url": "https://www.gravatar.com/avatar/3e460b479e2e5b48aec07710c08d50", + "gamification_stats": { + "total_points": 1222, + "current_level": 7, + "current_level_name": "Expert", + "points_to_next_level": 68, + "level_progress": 90, + "community_member_id": 2 + } + }, + "POST /api/headless/v1/quizzes/101/attempts": { + "id": 1, + "quiz_id": 1, + "created_at": "2024-11-14T06:49:44.906Z", + "grade": 100, + "result": "passed", + "passing_grade": 70, + "enforce_passing_grade": false, + "hide_answers": false, + "correct_responses": 1, + "questions": [ + { + "id": 1, + "question_type": "single_choice", + "statement": "Culpa dicta laboriosam ut.", + "correct": true, + "options": [ + { + "id": 1, + "value": "Assumenda nesciunt eum doloremque.", + "selected": true + }, + { + "id": 2, + "value": "Eos est vel minus.", + "selected": false + }, + { + "id": 3, + "value": "Molestiae qui laboriosam optio.", + "selected": false + }, + { + "id": 4, + "value": "Voluptates maiores omnis veniam.", + "selected": false + } + ] + } + ], + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit." + }, + "GET /api/headless/v1/quizzes/101/attempts/102": { + "id": 1, + "quiz_id": 1, + "created_at": "2024-11-14T06:49:44.906Z", + "grade": 100, + "result": "passed", + "passing_grade": 70, + "enforce_passing_grade": false, + "hide_answers": false, + "correct_responses": 1, + "questions": [ + { + "id": 1, + "question_type": "single_choice", + "statement": "Culpa dicta laboriosam ut.", + "correct": true, + "options": [ + { + "id": 1, + "value": "Assumenda nesciunt eum doloremque.", + "selected": true + }, + { + "id": 2, + "value": "Eos est vel minus.", + "selected": false + }, + { + "id": 3, + "value": "Molestiae qui laboriosam optio.", + "selected": false + }, + { + "id": 4, + "value": "Voluptates maiores omnis veniam.", + "selected": false + } + ] + } + ], + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", + "quiz_attempts_count": 1, + "lesson_name": "Lesson 1", + "section_name": "Section 1" + }, + "POST /api/headless/v1/reactions": { + "success": true, + "message": "Reaction created", + "reaction": { + "reactionable_type": "ChatRoomMessage", + "reactionable_id": 1, + "community_member_id": 1, + "emoji": "heart", + "unicode": "2764-fe0f" + } + }, + "GET /api/headless/v1/spaces/101/events/102/recurring_events": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 3, + "page_count": 3, + "records": [ + { + "id": 4, + "name": "Aut recusandae totam illo.", + "starts_at": "2024-05-09T13:26:45.000Z", + "ends_at": "2024-05-09T13:27:50.000Z", + "start_date": "Thu, May 9 2024", + "time_zone_abbreviations": "UTC", + "time_zone": "Etc/UTC", + "rsvped_event": false, + "rsvp_limit": 5, + "rsvp_count": 0 + }, + { + "id": 3, + "name": "Deleniti ut ab voluptate.", + "starts_at": "2024-05-09T13:26:45.000Z", + "ends_at": "2024-05-09T13:28:09.000Z", + "start_date": "Thu, May 9 2024", + "time_zone_abbreviations": "UTC", + "time_zone": "Etc/UTC", + "rsvped_event": false, + "rsvp_limit": 5, + "rsvp_count": 0 + }, + { + "id": 2, + "name": "Corporis quis minima et.", + "starts_at": "2024-05-09T13:26:45.000Z", + "ends_at": "2024-05-09T13:28:18.000Z", + "start_date": "Thu, May 9 2024", + "time_zone_abbreviations": "UTC", + "time_zone": "Etc/UTC", + "rsvped_event": false, + "rsvp_limit": 5, + "rsvp_count": 0 + } + ], + "meta": { + } + }, + "PUT /api/headless/v1/spaces/101/events/102/recurring_events/rsvp": { + "message": "You’ve RSVP’d to 2 events. We’ll send you a reminder before an event starts." + }, + "POST /api/headless/v1/comments/101/replies": { + "id": 1, + "user_id": 2, + "post_id": 1, + "user_likes_count": 0, + "created_at": "2024-04-15T07:38:08.972Z", + "updated_at": "2024-04-15T07:38:08.978Z", + "parent_comment_id": null, + "replies_count": 1, + "removed_at": null, + "community_member_id": 1, + "editor": "trix", + "topic_id": 1, + "space_id": 1, + "post_name": "Corporis dignissimos dolores eum.", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "Officia omnis corporis vel." + }, + "tiptap_body": null, + "body_text": "Officia omnis corporis vel.", + "is_liked": false, + "bookmark_id": null, + "replies": [ + { + "id": 3, + "user_id": 2, + "post_id": 1, + "user_likes_count": 0, + "created_at": "2024-04-15T07:38:09.000Z", + "updated_at": "2024-04-15T07:38:09.003Z", + "parent_comment_id": 1, + "replies_count": 0, + "removed_at": null, + "community_member_id": 1, + "editor": "trix", + "topic_id": 1, + "space_id": 1, + "post_name": "Corporis dignissimos dolores eum.", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "Dignissimos autem rerum dolorem." + }, + "tiptap_body": null, + "body_text": "Dignissimos autem rerum dolorem.", + "is_liked": false, + "bookmark_id": null, + "flagged_for_approval_at": null, + "unresolved_flagged_reports_count": 0, + "author": { + "id": 2, + "community_member_id": 1, + "name": "Shari Rowe", + "headline": "Healthcare Liaison", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMT9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--300ef5a89875ce89142a86d8a22203d06c4161d4", + "member_tags": [ + + ] + } + } + ], + "author": { + "id": 2, + "community_member_id": 1, + "name": "Shari Rowe", + "headline": "Healthcare Liaison", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMT9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--300ef5a89875ce89142a86d8a22203d06c4161d4", + "member_tags": [ + + ] + }, + "policies": { + "can_bookmark": true, + "can_destroy": true, + "can_edit": true, + "can_report": false, + "can_manage": false + } + }, + "GET /api/headless/v1/comments/101/replies": { + "page": 1, + "per_page": 60, + "has_next_page": false, + "count": 1, + "records": [ + { + "id": 1, + "user_id": 2, + "post_id": 1, + "user_likes_count": 0, + "created_at": "2024-04-15T07:38:08.972Z", + "updated_at": "2024-04-15T07:38:08.978Z", + "parent_comment_id": 1, + "replies_count": 0, + "removed_at": null, + "community_member_id": 1, + "editor": "trix", + "topic_id": 1, + "space_id": 1, + "post_name": "Corporis dignissimos dolores eum.", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "Officia omnis corporis vel." + }, + "tiptap_body": null, + "body_text": "Officia omnis corporis vel.", + "is_liked": false, + "bookmark_id": null, + "flagged_for_approval_at": null, + "unresolved_flagged_reports_count": 0, + "replies": [ + + ], + "policies": { + "can_bookmark": true, + "can_destroy": true, + "can_edit": true, + "can_report": false, + "can_manage": false + } + } + ] + }, + "DELETE /api/headless/v1/comments/101/replies/102": { + "success": true, + "message": "This reply has been removed from the comment." + }, + "GET /api/headless/v1/comments/101/replies/102": { + "id": 1, + "user_id": 2, + "post_id": 1, + "user_likes_count": 0, + "created_at": "2024-04-15T07:38:08.972Z", + "updated_at": "2024-04-15T07:38:08.978Z", + "parent_comment_id": null, + "replies_count": 1, + "removed_at": null, + "community_member_id": 1, + "editor": "trix", + "topic_id": 1, + "space_id": 1, + "post_name": "Corporis dignissimos dolores eum.", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "Officia omnis corporis vel." + }, + "tiptap_body": null, + "body_text": "Officia omnis corporis vel.", + "is_liked": false, + "bookmark_id": null, + "replies": [ + { + "id": 3, + "user_id": 2, + "post_id": 1, + "user_likes_count": 0, + "created_at": "2024-04-15T07:38:09.000Z", + "updated_at": "2024-04-15T07:38:09.003Z", + "parent_comment_id": 1, + "replies_count": 0, + "removed_at": null, + "community_member_id": 1, + "editor": "trix", + "topic_id": 1, + "space_id": 1, + "post_name": "Corporis dignissimos dolores eum.", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "Dignissimos autem rerum dolorem." + }, + "tiptap_body": null, + "body_text": "Dignissimos autem rerum dolorem.", + "is_liked": false, + "bookmark_id": null, + "flagged_for_approval_at": null, + "unresolved_flagged_reports_count": 0, + "author": { + "id": 2, + "community_member_id": 1, + "name": "Shari Rowe", + "headline": "Healthcare Liaison", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMT9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--300ef5a89875ce89142a86d8a22203d06c4161d4", + "member_tags": [ + + ] + }, + "policies": { + "can_bookmark": true, + "can_destroy": true, + "can_manage": false, + "can_edit": true, + "can_report": false + } + } + ], + "author": { + "id": 2, + "community_member_id": 1, + "name": "Shari Rowe", + "headline": "Healthcare Liaison", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMT9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--300ef5a89875ce89142a86d8a22203d06c4161d4", + "member_tags": [ + + ] + }, + "policies": { + "can_bookmark": true, + "can_destroy": true, + "can_edit": true, + "can_manage": false, + "can_report": false + } + }, + "PATCH /api/headless/v1/comments/101/replies/102": { + "id": 1, + "user_id": 2, + "post_id": 1, + "user_likes_count": 0, + "created_at": "2024-04-15T07:38:08.972Z", + "updated_at": "2024-04-15T07:38:08.978Z", + "parent_comment_id": 1, + "replies_count": 0, + "removed_at": null, + "community_member_id": 1, + "editor": "trix", + "topic_id": 1, + "space_id": 1, + "post_name": "Corporis dignissimos dolores eum.", + "body": { + "attachments": { + }, + "attachments_array": [ + + ], + "html": "Updated reply body" + }, + "tiptap_body": null, + "body_text": "Updated reply body", + "is_liked": false, + "bookmark_id": null, + "flagged_for_approval_at": null, + "show_url": "http://heidenreich-wilderman.circledev.net:31337/c/aut/pacocha#comment_wrapper_290", + "unresolved_flagged_reports_count": 0, + "author": { + "id": 2, + "community_member_id": 1, + "name": "Shari Rowe", + "headline": "Healthcare Liaison", + "avatar_url": null, + "roles": [ + "admin" + ], + "rich_text_field_sgid": "BAh7CEkiCGdpZAY6BkVUSSI1Z2lkOi8vanVtcHN0YXJ0LWFwcC9Db21tdW5pdHlNZW1iZXIvMT9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIUcmljaF90ZXh0X2ZpZWxkBjsAVEkiD2V4cGlyZXNfYXQGOwBUMA==--300ef5a89875ce89142a86d8a22203d06c4161d4", + "member_tags": [ + + ] + }, + "policies": { + "can_bookmark": true, + "can_destroy": true, + "can_edit": true, + "can_manage": false, + "can_report": false + } + }, + "POST /api/headless/v1/search/community_members": { + "page": 1, + "per_page": 30, + "has_next_page": false, + "count": 1, + "page_count": 1, + "records": [ + { + "first_name": "Blue", + "last_name": "Duck", + "user_id": 3, + "id": 2, + "admin": true, + "headline": "Professional Swimmer", + "public_uid": "15790c98", + "user_attachable_sgid": "BAh7CEkiCGdpZAY6BkVUSSIqZ2lkOi8vanVtcHN0YXJ0LWFwcC9Vc2VyLzM_ZXhwaXJlc19pbgY7AFRJIgxwdXJwb3NlBjsAVEkiD2F0dGFjaGFibGUGOwBUSSIPZXhwaXJlc19hdAY7AFQw--4d1bed584868dc70512e0a3976e1e84c6daf46f9", + "name": "Blue Duck", + "avatar_url": "http://app.circledev.net:31337/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCdz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--24f6b0be4a6c3c9349e48acfb0580d03a2e824f2/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJYW5CbkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJc0FXa0NMQUU2Q25OaGRtVnlld1k2Q25OMGNtbHdWQT09IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--79452e175eacd14a975b791f513b8b391e1c78c1/face.jpg", + "is_deleted": false, + "community_member_id": 2 + } + ], + "meta": { + "next_search_after": [ + "blue duck" + ] + }, + "next_search_after": [ + "blue duck" + ] + }, + "GET /api/headless/v1/search": { + "page": 1, + "per_page": 15, + "has_next_page": false, + "count": 12, + "page_count": 12, + "records": [ + { + "id": "space_group_9", + "type": "space_group", + "attributes": { + "id": 9, + "name": "post-group", + "community_id": 1, + "space_group_members_count": 0, + "highlighted_name": "post-group" + } + }, + { + "id": "space_1", + "type": "space", + "attributes": { + "id": 1, + "name": "post", + "slug": "post", + "created_at": "2024-06-07T07:54:20.655Z", + "updated_at": "2024-06-07T07:54:20.655Z", + "community_id": 1, + "emoji": "🔥", + "custom_emoji_url": null, + "custom_emoji_dark_url": null, + "space_members_count": 0, + "highlighted_name": "post", + "highlighted_slug": "post" + } + }, + { + "id": "community_member_1", + "type": "community_member", + "attributes": { + "id": "2", + "community_member_id": 1, + "name": "Post User", + "headline": "hospitality architect", + "avatar_url": null, + "roles": [ + + ] + } + }, + { + "id": "space_5", + "type": "space", + "attributes": { + "id": 5, + "name": "post event", + "slug": "post-event", + "created_at": "2024-06-07T07:54:21.890Z", + "updated_at": "2024-06-07T07:54:21.890Z", + "community_id": 1, + "emoji": "🔥", + "custom_emoji_url": null, + "custom_emoji_dark_url": null, + "space_members_count": 0, + "highlighted_name": "post event", + "highlighted_slug": "post-event" + } + }, + { + "id": "post_3", + "type": "post", + "attributes": { + "id": 3, + "name": "post", + "body": "Perferendis non et in.", + "slug": "post-2", + "url": "http://harvey-huels.circledev.net:31337/c/post-event/post-2", + "comments_count": 1, + "user_likes_count": 0, + "created_at": "2024-06-07T07:54:22.188Z", + "updated_at": "2024-06-07T07:54:22.469Z", + "community_id": 1, + "hide_meta_info": false, + "highlighted_email": null, + "highlighted_post_name": null, + "highlighted_name": "post", + "highlighted_slug": "post-2", + "highlighted_body": "Perferendis non et in.", + "highlighted_user_name": "Tony Predovic", + "post_type": "event", + "space": { + "id": 5, + "slug": "post-event", + "name": "post event" + }, + "author": { + "id": 3, + "name": "Tony Predovic", + "avatar_url": null, + "community_member_id": 3 + } + } + }, + { + "id": "post_2", + "type": "post", + "attributes": { + "id": 2, + "name": "post", + "body": "post", + "slug": "morar", + "url": "http://harvey-huels.circledev.net:31337/c/post/morar", + "comments_count": 1, + "user_likes_count": 0, + "created_at": "2024-06-07T07:54:21.678Z", + "updated_at": "2024-06-07T07:54:21.834Z", + "community_id": 1, + "hide_meta_info": false, + "highlighted_email": null, + "highlighted_post_name": null, + "highlighted_name": "post", + "highlighted_slug": "morar", + "highlighted_body": "post", + "highlighted_user_name": "Katelin Gleason", + "post_type": "basic", + "space": { + "id": 1, + "slug": "post", + "name": "post" + }, + "author": { + "id": 3, + "name": "Katelin Gleason", + "avatar_url": null, + "community_member_id": 2 + } + } + }, + { + "id": "member_tag_1", + "type": "member_tag", + "attributes": { + "id": 1, + "name": "post-tag", + "community_id": 1, + "tagged_members_count": 0, + "highlighted_name": "post-tag" + } + }, + { + "id": "post_1", + "type": "post", + "attributes": { + "id": 1, + "name": "Ex tenetur delectus dolores.", + "body": "Est quae provident laboriosam.", + "slug": "will", + "url": "http://harvey-huels.circledev.net:31337/c/post/will", + "comments_count": 0, + "user_likes_count": 0, + "created_at": "2024-06-07T07:54:20.773Z", + "updated_at": "2024-06-07T07:54:20.793Z", + "community_id": 1, + "hide_meta_info": false, + "highlighted_email": null, + "highlighted_post_name": null, + "highlighted_name": "Ex tenetur delectus dolores.", + "highlighted_slug": "will", + "highlighted_body": "Est quae provident laboriosam.", + "highlighted_user_name": "Post User", + "post_type": "basic", + "space": { + "id": 1, + "slug": "post", + "name": "post" + }, + "author": { + "id": 3, + "name": "Post User", + "avatar_url": null, + "community_member_id": 1 + } + } + }, + { + "id": "comment_1", + "type": "comment", + "attributes": { + "id": 1, + "parent_comment_id": null, + "post_id": 2, + "post_name": "post", + "space_id": 1, + "community_id": 1, + "body_text": "post", + "title": "Post User commented on post", + "author": { + "id": 2, + "name": "Post User", + "avatar_url": null, + "community_member_id": 1 + } + } + }, + { + "id": "comment_2", + "type": "comment", + "attributes": { + "id": 2, + "parent_comment_id": null, + "post_id": 3, + "post_name": "post", + "space_id": 5, + "community_id": 1, + "body_text": "post-event", + "title": "Post User commented on post", + "author": { + "id": 2, + "name": "Post User", + "avatar_url": null, + "community_member_id": 1 + } + } + }, + { + "id": "space_3", + "type": "space", + "attributes": { + "id": 3, + "name": "test-course", + "slug": "post-3c7454", + "created_at": "2024-06-07T07:54:21.281Z", + "updated_at": "2024-06-07T07:54:21.281Z", + "community_id": 1, + "emoji": "🔥", + "custom_emoji_url": "http://harvey-huels.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://harvey-huels.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "space_members_count": 0, + "highlighted_name": "test-course", + "highlighted_slug": "post-3c7454" + } + }, + { + "id": "space_4", + "type": "space", + "attributes": { + "id": 4, + "name": "Test Members Space", + "slug": "post-7ff45c", + "created_at": "2024-06-07T07:54:21.425Z", + "updated_at": "2024-06-07T07:54:21.425Z", + "community_id": 1, + "emoji": "🔥", + "custom_emoji_url": "http://harvey-huels.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://harvey-huels.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "space_members_count": 0, + "highlighted_name": "Test Members Space", + "highlighted_slug": "post-7ff45c" + } + } + ] + }, + "PUT /api/headless/v1/signup/profile": { + "message": "Profile confirmed!", + "current_community_member": { + "first_name": "Test", + "last_name": "User", + "user_id": 2, + "id": 1, + "admin": true, + "headline": "New Headline", + "public_uid": "9004dce8", + "user_attachable_sgid": "BAh7CEkiCGdpZAY6BkVUSSIqZ2lkOi8vanVtcHN0YXJ0LWFwcC9Vc2VyLzI_ZXhwaXJlc19pbgY7AFRJIgxwdXJwb3NlBjsAVEkiD2F0dGFjaGFibGUGOwBUSSIPZXhwaXJlc19hdAY7AFQw--07590ef1d66a370a60d6f1f156d728fbf42221d6", + "name": "Test User", + "avatar_url": null, + "is_deleted": false, + "community_member_id": 1, + "messaging_enabled": true, + "messaging_enabled_by_member": true, + "messaging_enabled_by_admin": true, + "visible_in_member_directory": true, + "profile_fields": { + "visible": [ + { + "id": 1, + "label": "Label", + "field_type": "text", + "key": "profile_field_key_1", + "placeholder": null, + "description": null, + "required": false, + "platform_field": false, + "created_at": "2024-06-05T11:33:50.589Z", + "updated_at": "2024-06-05T11:33:50.589Z", + "community_member_profile_field": { + "id": 1, + "text": null, + "textarea": null, + "created_at": "2024-06-05T11:33:51.088Z", + "updated_at": "2024-06-05T11:33:51.088Z", + "display_value": "", + "community_member_choices": [ + { + "id": 1, + "profile_field_choice": { + "id": 1, + "value": "Choice 1" + } + } + ] + }, + "number_options": null, + "choices": [ + { + "id": 1, + "value": "Choice 1" + } + ] + }, + { + "id": 2, + "label": "Label", + "field_type": "text", + "key": "profile_field_key_2", + "placeholder": null, + "description": null, + "required": false, + "platform_field": false, + "created_at": "2024-06-05T11:33:50.633Z", + "updated_at": "2024-06-05T11:33:50.633Z", + "community_member_profile_field": { + "id": 2, + "text": "Test text", + "textarea": null, + "created_at": "2024-06-05T11:33:51.101Z", + "updated_at": "2024-06-05T11:33:51.101Z", + "display_value": "Test text", + "community_member_choices": [ + + ] + }, + "number_options": null, + "choices": [ + + ] + }, + { + "id": 3, + "label": "Label", + "field_type": "text", + "key": "profile_field_key_3", + "placeholder": null, + "description": null, + "required": false, + "platform_field": false, + "created_at": "2024-06-05T11:33:50.673Z", + "updated_at": "2024-06-05T11:33:50.673Z", + "community_member_profile_field": { + "id": 3, + "text": null, + "textarea": "Test textarea", + "created_at": "2024-06-05T11:33:51.107Z", + "updated_at": "2024-06-05T11:33:51.107Z", + "display_value": "", + "community_member_choices": [ + + ] + }, + "number_options": null, + "choices": [ + + ] + } + ], + "not_visible": [ + + ] + } + } + }, + "POST /api/headless/v1/space_members/101/mark_as_read": { + "success": true + }, + "GET /api/headless/v1/space_notification_details": [ + { + "id": 1, + "unread_content_count": 1, + "unread_notifications_count": 0 + }, + { + "id": 2, + "unread_content_count": 2, + "unread_notifications_count": 0 + }, + { + "id": 3, + "unread_content_count": 2, + "unread_notifications_count": 0 + }, + { + "id": 5, + "unread_content_count": 1, + "unread_notifications_count": 0 + }, + { + "id": 7, + "unread_content_count": 0, + "unread_notifications_count": 3 + } + ], + "GET /api/headless/v1/spaces/101/bookmarks": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "id": 2, + "name": "Lyman Medhurst", + "display_type": "folder", + "links": [ + { + "id": 3, + "name": "Dewey Goldner", + "display_type": "link", + "url": "https://www.atlnacional.com", + "emoji": "🔥", + "custom_emoji_url": null, + "custom_emoji_dark_url": null + } + ] + }, + { + "id": 1, + "name": "Maricruz Metz", + "display_type": "link", + "url": "https://www.atlnacional.com", + "emoji": "🔥", + "custom_emoji_url": null, + "custom_emoji_dark_url": null + } + ] + }, + "GET /api/headless/v1/spaces/home": { + "id": 0, + "name": "Home", + "slug": "home", + "space_group_id": 0, + "space_group_name": "Home", + "community_id": 1, + "emoji": null, + "is_private": false, + "display_view": "posts", + "post_type": "basic", + "space_type": "basic", + "is_post_disabled": true, + "hide_post_settings": false, + "is_member": true, + "default_tab": "posts", + "visible_tabs": { + "members": false, + "posts": true + }, + "default_sort": null, + "show_in_spaces_segment": true, + "cover_image": null, + "topics_count": 0, + "require_topic_selection": false, + "policies": { + "can_manage_space": false, + "can_view_space": true, + "can_leave_space": false, + "can_create_post": false, + "can_invite_members": false + } + }, + "GET /api/headless/v1/spaces": [ + { + "id": 1, + "name": "officiis", + "slug": "illum", + "space_group_id": 2, + "community_id": 1, + "post_type": "basic", + "space_type": "basic", + "display_view": "posts", + "emoji": null, + "custom_emoji_url": "http://wehner-becker.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://wehner-becker.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "is_private": false, + "space_group_name": "Name 1", + "url": "http://wehner-becker.circledev.net:31337/c/illum", + "is_post_disabled": false, + "hide_post_settings": false, + "is_member": true, + "default_tab": "posts", + "visible_tabs": { + "posts": true, + "members": true + }, + "default_sort": null, + "hide_sorting": false, + "show_in_spaces_segment": true, + "show_lock_icon_for_non_members": true, + "space_member_id": 1, + "policies": { + "can_manage_space": true, + "can_view_space": true, + "can_leave_space": true, + "can_create_post": true, + "can_invite_members": true + }, + "require_topic_selection": false, + "topics_count": 0, + "display_space_welcome_banner": true, + "cover_image": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBEUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--cb16b4bc4c9fe7654c2cf0a9cea575d75ec719e8", + "cover_image_url": "http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhaM0JrWVRjeWFtVnZNVzFxZEdKcmJtRnVOM0p4ZUhZd1oySndhd1k2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpTzJsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW14dloyOHVjRzVuSWpzZ1ptbHNaVzVoYldVcVBWVlVSaTA0Snlkc2IyZHZMbkJ1WndZN0JsUTZFV052Ym5SbGJuUmZkSGx3WlVraURtbHRZV2RsTDNCdVp3WTdCbFE2RVhObGNuWnBZMlZmYm1GdFpUb0pkR1Z6ZEE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9rZXkifX0=--027eb6316f60becfecee6a57ffee543de8781ff2/logo.png", + "lockscreen_site_page_url": null + }, + { + "id": 2, + "name": "quidem", + "slug": "quia", + "space_group_id": 3, + "community_id": 1, + "post_type": "basic", + "space_type": "basic", + "display_view": "posts", + "emoji": null, + "custom_emoji_url": "http://wehner-becker.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://wehner-becker.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "is_private": false, + "space_group_name": "Name 2", + "url": "http://wehner-becker.circledev.net:31337/c/quia", + "is_post_disabled": false, + "hide_post_settings": false, + "is_member": false, + "default_tab": "posts", + "visible_tabs": { + "posts": true, + "members": true + }, + "default_sort": null, + "hide_sorting": false, + "show_in_spaces_segment": true, + "show_lock_icon_for_non_members": true, + "policies": { + "can_manage_space": true, + "can_view_space": true, + "can_leave_space": false, + "can_create_post": true, + "can_invite_members": true + }, + "require_topic_selection": false, + "topics_count": 0, + "display_space_welcome_banner": true, + "cover_image": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBEUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--cb16b4bc4c9fe7654c2cf0a9cea575d75ec719e8", + "cover_image_url": "http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhaM0JrWVRjeWFtVnZNVzFxZEdKcmJtRnVOM0p4ZUhZd1oySndhd1k2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpTzJsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW14dloyOHVjRzVuSWpzZ1ptbHNaVzVoYldVcVBWVlVSaTA0Snlkc2IyZHZMbkJ1WndZN0JsUTZFV052Ym5SbGJuUmZkSGx3WlVraURtbHRZV2RsTDNCdVp3WTdCbFE2RVhObGNuWnBZMlZmYm1GdFpUb0pkR1Z6ZEE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9rZXkifX0=--027eb6316f60becfecee6a57ffee543de8781ff2/logo.png", + "lockscreen_site_page_url": null + } + ], + "POST /api/headless/v1/spaces/101/join": { + "id": 1, + "name": "officiis", + "slug": "illum", + "space_group_id": 2, + "community_id": 1, + "post_type": "basic", + "space_type": "basic", + "display_view": "posts", + "emoji": null, + "custom_emoji_url": "http://wehner-becker.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://wehner-becker.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "is_private": false, + "space_group_name": "Name 1", + "url": "http://wehner-becker.circledev.net:31337/c/illum", + "is_post_disabled": false, + "hide_post_settings": false, + "is_member": true, + "default_tab": "posts", + "visible_tabs": { + "posts": true, + "members": true + }, + "default_sort": null, + "hide_sorting": false, + "show_in_spaces_segment": true, + "show_lock_icon_for_non_members": true, + "space_member_id": 1, + "policies": { + "can_manage_space": true, + "can_view_space": true, + "can_leave_space": true, + "can_create_post": true, + "can_invite_members": true + }, + "require_topic_selection": false, + "topics_count": 0, + "cover_image": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBEUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--cb16b4bc4c9fe7654c2cf0a9cea575d75ec719e8", + "cover_image_url": "http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhaM0JrWVRjeWFtVnZNVzFxZEdKcmJtRnVOM0p4ZUhZd1oySndhd1k2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpTzJsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW14dloyOHVjRzVuSWpzZ1ptbHNaVzVoYldVcVBWVlVSaTA0Snlkc2IyZHZMbkJ1WndZN0JsUTZFV052Ym5SbGJuUmZkSGx3WlVraURtbHRZV2RsTDNCdVp3WTdCbFE2RVhObGNuWnBZMlZmYm1GdFpUb0pkR1Z6ZEE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9rZXkifX0=--027eb6316f60becfecee6a57ffee543de8781ff2/logo.png", + "lockscreen_site_page_url": null + }, + "POST /api/headless/v1/spaces/101/leave": { + "id": 1, + "name": "officiis", + "slug": "illum", + "space_group_id": 2, + "community_id": 1, + "post_type": "basic", + "space_type": "basic", + "display_view": "posts", + "emoji": null, + "custom_emoji_url": "http://wehner-becker.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://wehner-becker.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "is_private": false, + "space_group_name": "Name 1", + "url": "http://wehner-becker.circledev.net:31337/c/illum", + "is_post_disabled": false, + "hide_post_settings": false, + "is_member": false, + "default_tab": "posts", + "visible_tabs": { + "posts": true, + "members": true + }, + "default_sort": null, + "hide_sorting": false, + "show_in_spaces_segment": true, + "show_lock_icon_for_non_members": true, + "space_member_id": null, + "policies": { + "can_manage_space": false, + "can_view_space": true, + "can_leave_space": false, + "can_create_post": false, + "can_invite_members": false + }, + "require_topic_selection": false, + "topics_count": 0, + "cover_image": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBEUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--cb16b4bc4c9fe7654c2cf0a9cea575d75ec719e8", + "cover_image_url": "http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhaM0JrWVRjeWFtVnZNVzFxZEdKcmJtRnVOM0p4ZUhZd1oySndhd1k2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpTzJsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW14dloyOHVjRzVuSWpzZ1ptbHNaVzVoYldVcVBWVlVSaTA0Snlkc2IyZHZMbkJ1WndZN0JsUTZFV052Ym5SbGJuUmZkSGx3WlVraURtbHRZV2RsTDNCdVp3WTdCbFE2RVhObGNuWnBZMlZmYm1GdFpUb0pkR1Z6ZEE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9rZXkifX0=--027eb6316f60becfecee6a57ffee543de8781ff2/logo.png", + "lockscreen_site_page_url": null + }, + "GET /api/headless/v1/spaces/101": { + "id": 1, + "name": "officiis", + "slug": "illum", + "space_group_id": 2, + "community_id": 1, + "post_type": "basic", + "space_type": "basic", + "display_view": "posts", + "emoji": null, + "custom_emoji_url": "http://wehner-becker.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "custom_emoji_dark_url": "http://wehner-becker.circledev.net:31337/assets/emoji-picker-v3/shapes/circle/shape-circle-blue-65c4a6035acf9fa79fa588f789d2f8033ed911cc1f7c90ffbd8e7525e9050611.png", + "is_private": false, + "space_group_name": "Name 1", + "url": "http://wehner-becker.circledev.net:31337/c/illum", + "is_post_disabled": false, + "hide_post_settings": false, + "is_member": true, + "default_tab": "posts", + "visible_tabs": { + "posts": true, + "members": true + }, + "default_sort": null, + "hide_sorting": false, + "show_in_spaces_segment": true, + "show_lock_icon_for_non_members": true, + "space_member_id": 1, + "policies": { + "can_manage_space": true, + "can_view_space": true, + "can_leave_space": true, + "can_create_post": true, + "can_invite_members": true + }, + "require_topic_selection": false, + "topics_count": 0, + "display_space_welcome_banner": true, + "cover_image": "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBEUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--cb16b4bc4c9fe7654c2cf0a9cea575d75ec719e8", + "cover_image_url": "http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhaM0JrWVRjeWFtVnZNVzFxZEdKcmJtRnVOM0p4ZUhZd1oySndhd1k2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpTzJsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW14dloyOHVjRzVuSWpzZ1ptbHNaVzVoYldVcVBWVlVSaTA0Snlkc2IyZHZMbkJ1WndZN0JsUTZFV052Ym5SbGJuUmZkSGx3WlVraURtbHRZV2RsTDNCdVp3WTdCbFE2RVhObGNuWnBZMlZmYm1GdFpUb0pkR1Z6ZEE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9rZXkifX0=--027eb6316f60becfecee6a57ffee543de8781ff2/logo.png", + "lockscreen_site_page_url": null + }, + "GET /api/headless/v1/spaces/101/topics": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 4, + "page_count": 1, + "records": [ + { + "id": 1, + "name": "Topic 1", + "admin_only": false + }, + { + "id": 2, + "name": "Topic 2", + "admin_only": true + }, + { + "id": 3, + "name": "Topic 3", + "admin_only": false + }, + { + "id": 4, + "name": "Topic 4", + "admin_only": false + } + ] + }, + "POST /api/headless/v1/comments/101/user_likes": { + "success": true, + "message": "Comment has been liked" + }, + "DELETE /api/headless/v1/comments/101/user_likes": { + "success": true, + "message": "Comment has been unliked" + }, + "GET /api/headless/v1/comments/101/user_likes": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "headline": "Banking Specialist", + "member_tags": [ + + ], + "name": "Merrill Thiel", + "roles": { + "admin": true, + "moderator": false + }, + "community_member_id": 2, + "avatar_url": "https://robohash.org/utquasiquia.png?size=300x300&set=set1" + }, + { + "headline": "Legal Facilitator", + "member_tags": [ + + ], + "name": "Shanel Dickens DO", + "roles": { + "admin": true, + "moderator": false + }, + "community_member_id": 1, + "avatar_url": "https://robohash.org/utqewweruasiquia.png?size=300x300&set=set1" + } + ] + }, + "POST /api/headless/v1/posts/101/user_likes": { + "success": true, + "message": "Post has been liked" + }, + "DELETE /api/headless/v1/posts/101/user_likes": { + "success": true, + "message": "Post has been unliked" + }, + "GET /api/headless/v1/posts/101/user_likes": { + "page": 1, + "per_page": 10, + "has_next_page": false, + "count": 2, + "page_count": 2, + "records": [ + { + "headline": "Banking Specialist", + "member_tags": [ + + ], + "name": "Merrill Thiel", + "roles": { + "admin": true, + "moderator": false + }, + "community_member_id": 2, + "avatar_url": "https://robohash.org/utquasiquia.png?size=300x300&set=set1" + }, + { + "headline": "Legal Facilitator", + "member_tags": [ + + ], + "name": "Shanel Dickens DO", + "roles": { + "admin": true, + "moderator": false + }, + "community_member_id": 1, + "avatar_url": "https://robohash.org/utqewweruasiquia.png?size=300x300&set=set1" + } + ] + } +}