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 troubleshooting
API troubleshooting

API requests return permission, validation, or rate-limit errors

Diagnose API v2 scopes, plan features, input schemas, pagination, and 429 responses.

Last updated 3 September 2026

Symptom

Authentication succeeds, but API v2 returns 403, a validation error, 404, 409, or 429 rate_limit_exceeded.

Most likely causes

  • The key lacks the endpoint’s required scope (insufficient_scope).
  • The community plan, trial, subscription, or feature state blocks the operation.
  • A path, query, or JSON field has the wrong type, value, or constraint.
  • The resource does not exist in this community.
  • Current state conflicts with the requested change.
  • The integration exceeded the current rate limit.

Diagnostic checks

  1. Record the method, /v2 path, status, and complete error object.
  2. Compare the endpoint’s Required scope and feature in the API reference.
  3. Validate required fields, allowed enum values, numeric bounds, and content type.
  4. Confirm all IDs belong to the authenticated community.
  5. For 429, read Retry-After and error details such as limit, remaining, and resetMs when supplied.
  6. For a write timeout or conflict, fetch current state before another attempt.

Resolution

Grant only the missing scope, restore the entitled feature, or correct the request to match the generated schema. Respect Retry-After with bounded backoff and reduce unnecessary polling. Do not hard-code a universal request quota because limits can vary by deployment.

When to retry

Retry a corrected validation request immediately. Retry 429 only after Retry-After. Safe reads can be retried with backoff; retry writes only when the endpoint documents idempotent behaviour or after reconciling state.

Contact support

Contact Clan Labs support for a reproducible request that matches the current reference but returns an unexplained server or permission error.

Include this information

Include request method/path, redacted body, status, response error object, response/request correlation header if present, timestamp, key name and scopes, and plan. Never include the API key.

PreviousAuthentication failuresNext List members
On this page
  1. Symptom
  2. Most likely causes
  3. Diagnostic checks
  4. Resolution
  5. When to retry
  6. Contact support
  7. Include this information