Skip to content
Get started

V1

Global XP leaderboard

Global XP leaderboard
client.v1.retrieveGlobalLeaderboard(V1RetrieveGlobalLeaderboardParams { limit } query?, RequestOptionsoptions?): V1RetrieveGlobalLeaderboardResponse { entries }
GET/api/v1/leaderboard
ModelsExpand Collapse
LeaderboardEntry { image, name, rank, 3 more }
image?: string | null
name?: string | null
rank?: number
streakDays?: number
username?: string | null
xp?: number

V1Me

Authenticated user's own profile and keys

Current user profile
client.v1.me.retrieve(RequestOptionsoptions?): MeRetrieveResponse { id, bio, createdAt, 12 more }
GET/api/v1/me
Earned badges for the token owner
client.v1.me.listBadges(RequestOptionsoptions?): MeListBadgesResponse { badges }
GET/api/v1/me/badges
Circle memberships for the token owner
client.v1.me.listCircles(RequestOptionsoptions?): MeListCirclesResponse { circles }
GET/api/v1/me/circles

V1Circles

Circle-scoped data (members, quests, leaderboard)

Circle profile and summary stats
client.v1.circles.retrieve(stringid, RequestOptionsoptions?): CircleRetrieveResponse { id, createdAt, description, 9 more }
GET/api/v1/circles/{id}
Members of a circle
client.v1.circles.listMembers(stringid, CircleListMembersParams { limit, offset } query?, RequestOptionsoptions?): CircleListMembersResponse { members }
GET/api/v1/circles/{id}/members
XP leaderboard for a circle
client.v1.circles.retrieveLeaderboard(stringid, CircleRetrieveLeaderboardParams { limit } query?, RequestOptionsoptions?): CircleRetrieveLeaderboardResponse { entries }
GET/api/v1/circles/{id}/leaderboard

V1CirclesQuests

Circle-scoped data (members, quests, leaderboard)

Quests for a circle
client.v1.circles.quests.list(stringid, QuestListParams { limit, offset, status } query?, RequestOptionsoptions?): QuestListResponse { quests }
GET/api/v1/circles/{id}/quests
Create a quest in a circle
client.v1.circles.quests.create(stringid, QuestCreateParams { title, deadline, description, 4 more } body, RequestOptionsoptions?): Quest { id, createdAt, deadline, 6 more }
POST/api/v1/circles/{id}/quests
ModelsExpand Collapse
Quest { id, createdAt, deadline, 6 more }
id?: string
createdAt?: string
formatdate-time
deadline?: string | null
formatdate-time
description?: string | null
rewardPoolCents?: number

Total reward pool in cents

status?: "ACTIVE" | "ENDED" | "CANCELLED"
One of the following:
"ACTIVE"
"ENDED"
"CANCELLED"
submissionCount?: number
targetUrl?: string | null
title?: string

V1CirclesPosts

Circle-scoped data (members, quests, leaderboard)

Recent posts in a circle
client.v1.circles.posts.list(stringid, PostListParams { limit, offset } query?, RequestOptionsoptions?): PostListResponse { posts }
GET/api/v1/circles/{id}/posts
Create a post in a circle
client.v1.circles.posts.create(stringid, PostCreateParams { content, crossPost, mediaUrl, socialAccounts } body, RequestOptionsoptions?): PostCreateResponse { social }
POST/api/v1/circles/{id}/posts
ModelsExpand Collapse
Post { id, author, content, 3 more }
id?: string
author?: Author | null
id?: string
image?: string | null
name?: string | null
username?: string | null
content?: string
createdAt?: string
formatdate-time
mediaType?: "TEXT" | "IMAGE" | "VIDEO"
One of the following:
"TEXT"
"IMAGE"
"VIDEO"
mediaUrl?: string | null

V1CirclesSocial

Social account connections and cross-posting via Zernio

Connected social accounts for a circle
client.v1.circles.social.listAccounts(stringid, RequestOptionsoptions?): SocialListAccountsResponse { accounts }
GET/api/v1/circles/{id}/social/accounts
Publish to connected social accounts
client.v1.circles.social.publish(stringid, SocialPublishParams { content, accounts, mediaUrl } body, RequestOptionsoptions?): SocialPublishResponse { accountCount, ok, platforms, postId }
POST/api/v1/circles/{id}/social/publish