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. Events
API v2 · Events

List events

GET/v2/events
Last updated 3 September 2026

Overview

Newest events first, using cursor pagination.

Permission scope
events.read
Community feature
events
Content type
application/json

Authentication

Two headers are required

Send a current cl_live_… key as a Bearer token and the community’s Clan ID separately.

Authorization: Bearer YOUR_API_KEY
X-Clan-Id: COMMUNITY_ID

The key must be enabled, the community API master switch must be on, and the key must include events.read.

Parameters

NameLocationTypeRequiredConstraints and description
statusqueryScheduled | Started | Finished | CancelledNo—
cursorquerystring (uuid)NoLast event id from the previous page.
limitquerystringNopattern ^[1-9][0-9]*$ · Page size, 1-100. Defaults to 25.

Error responses

StatusWhen it is returned
400The request was malformed or failed validation.
401The API key is missing, malformed, or not recognised for this community.
403The key is disabled, lacks the required permission, or the community's subscription or tier does not cover API access or this feature.
404The requested resource does not exist.
409The request conflicts with current state.
429Rate limited.
500Unexpected server error.
Handle error codes, not prose
Error bodies use error.code as the stable machine-readable value. The message is for people and may become clearer over time.

Rate limits

This endpoint shares the API key’s configured request budget. A 429 response includes a Retry-After header and limit, remaining, and resetMs values in error.details. Wait for the indicated interval before retrying.

Related endpoints

POSTCreate and announce an event/v2/eventsGETList curated event types/v2/events/typesGETList approved event locations/v2/events/locationsGETFetch one event/v2/events/{eventId}

Examples use placeholders. Never put an API key in source control, a Roblox place file, screenshots, or support messages.

PreviousDelete a warningNext Create and announce an event
Server-side examples

After HTTP requests are enabled, Roblox Lua uses HttpService:GetSecret() from a server Script, never a LocalScript.

Request

GET
curl --request GET \
  --url 'https://v3.api.clanlabs.co/v2/events?status=Scheduled&cursor=00000000-0000-4000-8000-000000000000&limit=YOUR_LIMIT' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'X-Clan-Id: COMMUNITY_ID'

Response

200

A page of events

{
  "data": [
    {
      "eventId": "00000000-0000-4000-8000-000000000000",
      "name": "EXAMPLE_NAME",
      "type": {
        "id": "128d8545-92ce-46d5-9f04-6ed803bbd351",
        "name": "Training",
        "quota": {
          "hostPoints": "YOUR_HOST_POINTS",
          "coHostPoints": "YOUR_CO_HOST_POINTS"
        },
        "experience": {
          "hostExperience": "YOUR_HOST_EXPERIENCE",
          "coHostExperience": "YOUR_CO_HOST_EXPERIENCE",
          "attendeeExperience": "YOUR_ATTENDEE_EXPERIENCE"
        },
        "defaultMentionRoleId": "YOUR_DEFAULT_MENTION_ROLE_ID"
      },
      "location": "YOUR_LOCATION",
      "status": "Scheduled",
      "host": {
        "discordId": "YOUR_DISCORD_ID",
        "robloxId": 1234567,
        "robloxName": "Builderman"
      },
      "coHost": {
        "discordId": "YOUR_DISCORD_ID",
        "robloxId": 1234567,
        "robloxName": "Builderman"
      },
      "mentionRoleId": "YOUR_MENTION_ROLE_ID",
      "notes": "YOUR_NOTES",
      "attendees": [
        {
          "discordId": "YOUR_DISCORD_ID",
          "robloxId": 1234567,
          "robloxName": "Builderman"
        }
      ],
      "proof": {
        "channelId": "YOUR_CHANNEL_ID",
        "messageId": "YOUR_MESSAGE_ID",
        "attachmentId": "YOUR_ATTACHMENT_ID",
        "filename": "YOUR_FILENAME",
        "contentType": "YOUR_CONTENT_TYPE",
        "size": 1
      },
      "announcement": {
        "channelId": "YOUR_CHANNEL_ID",
        "messageId": "YOUR_MESSAGE_ID"
      },
      "startedAt": 1735689600000,
      "finishedAt": 1735689600000,
      "cancelledAt": 1735689600000,
      "createdAt": 1735689600000,
      "lastUpdatedAt": 1735689600000
    }
  ]
}