Skip to content
Clan LabsAPIv2
GuidesWebsite Open dashboard
OverviewAuthenticationAPI keysRequestsErrorsMigrationEndpoints
API reference
API v2
  • API overview
  • Authentication
  • API keys and scopes
  • Requests and responses
  • Errors and rate limits
  • Versioning and migration
  • Swagger migration
Troubleshooting
  • Authentication failures
  • Request and rate-limit errors
Members
  • GETList members
  • GETFetch one member
  • POSTChange a member's experience
  • POSTChange a member's quota points
  • PUTSet a member's rank
  • POSTPromote a member one rank
  • POSTDemote a member one rank
  • POSTAward a medal
  • DELETERemove a medal
  • POSTAward a qualification
  • DELETERemove a qualification
  • GETList a member's suspensions
  • POSTSuspend a member
  • POSTRestore a member's active suspension
  • POSTCancel a member's active suspension
Configuration
  • GETList ranks
  • GETFetch one rank
  • GETList medals
  • GETFetch one medal by name
  • GETList qualifications
  • GETFetch one qualification by name
Moderation
  • GETList blacklist entries
  • POSTCreate a blacklist entry
  • GETFetch one blacklist entry
  • PATCHUpdate a blacklist entry's description
  • DELETERemove a blacklist entry
  • GETList warnings
  • POSTIssue a warning
  • GETFetch one warning
  • PATCHUpdate a warning
  • DELETEDelete a warning
Events
  • GETList events
  • POSTCreate and announce an event
  • GETList curated event types
  • GETList approved event locations
  • GETFetch one event
  • POSTCancel an event
  • POSTFinish an event
  • POSTCreate a fresh Discord announcement
GuidesClan Labs websiteOpen dashboard Support
API v2
  • API overview
  • Authentication
  • API keys and scopes
  • Requests and responses
  • Errors and rate limits
  • Versioning and migration
  • Swagger migration
Troubleshooting
  • Authentication failures
  • Request and rate-limit errors
Members
  • GETList members
  • GETFetch one member
  • POSTChange a member's experience
  • POSTChange a member's quota points
  • PUTSet a member's rank
  • POSTPromote a member one rank
  • POSTDemote a member one rank
  • POSTAward a medal
  • DELETERemove a medal
  • POSTAward a qualification
  • DELETERemove a qualification
  • GETList a member's suspensions
  • POSTSuspend a member
  • POSTRestore a member's active suspension
  • POSTCancel a member's active suspension
Configuration
  • GETList ranks
  • GETFetch one rank
  • GETList medals
  • GETFetch one medal by name
  • GETList qualifications
  • GETFetch one qualification by name
Moderation
  • GETList blacklist entries
  • POSTCreate a blacklist entry
  • GETFetch one blacklist entry
  • PATCHUpdate a blacklist entry's description
  • DELETERemove a blacklist entry
  • GETList warnings
  • POSTIssue a warning
  • GETFetch one warning
  • PATCHUpdate a warning
  • DELETEDelete a warning
Events
  • GETList events
  • POSTCreate and announce an event
  • GETList curated event types
  • GETList approved event locations
  • GETFetch one event
  • POSTCancel an event
  • POSTFinish an event
  • POSTCreate a fresh Discord announcement
  1. API reference
  2. /
  3. API v2
API v2

API v2 overview

Build server-side integrations against the supported Clan Labs API v2 surface.

Last updated 3 September 2026

API v2 is the public integration surface for Clan Labs. It exposes 39 documented operations for members, ranks, medals, qualifications, blacklists, warnings, suspensions, and events.

Base URL: https://v3.api.clanlabs.co

Every /v2 request requires a current API key and the community’s Clan ID. API access is a paid-plan feature; API-driven rank management specifically requires Pro.

Make your first request

Create a read-only key in Settings → API Keys, then call the member list from a trusted server:

curl --request GET \
  --url 'https://v3.api.clanlabs.co/v2/members?limit=1' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'X-Clan-Id: COMMUNITY_ID'

For a Roblox experience, put YOUR_API_KEY in the Creator Hub secrets store as CLAN_LABS_API_KEY, enable HTTP requests, and run the request from a server Script.

Never call API v2 from browser JavaScript or a Roblox LocalScript, and never hard-code the key in experience source code. Web integrations should use a server-side secret manager. Roblox integrations should use the Creator Hub secrets store through HttpService:GetSecret().

Endpoint groups

Members

Read profiles and manage progression, ranks, medals, qualifications, and suspensions.

Read guide
Configuration

Read community ranks, medals, and qualification definitions.

Read guide
Moderation

Manage user or group blacklists and member warning records.

Read guide
Events

Create, announce, finish, cancel, and inspect events.

Read guide

Contract and conventions

  • Successful JSON responses wrap the result in data and can include meta for pagination.
  • Errors use error.code, error.message, and optional error.details.
  • Input is validated against the documented path, query, and JSON schemas.
  • Each endpoint declares one required API-key scope and one community feature.
  • Limits are configurable. A 429 response supplies Retry-After and reset details.
  • There is no global idempotency-key contract. Reconcile state before retrying an uncertain write.

The endpoint pages are generated from the maintained API v2 schema. Download the exact contract at OpenAPI JSON.

Roblox player identifiers

Routes with {userId} accept a global Roblox user ID, or a Roblox username when ?by=username is present. Prefer usernames for calls originating from a Roblox experience: Roblox can present scoped user identifiers for players new to that experience, while Player.Name remains the actual username.

Continue with Authentication and API keys and scopes.

Next Authentication
On this page
  1. Make your first request
  2. Endpoint groups
  3. Contract and conventions
  4. Roblox player identifiers