Skillflare
API

Challenges

List and get challenges an organization can assign

A challenge is the assessment a session runs. This resource is read-only. Auth: organization API key.

Only for partner customers. Pass the active organization with the optional x-organization-id header. Omit it to use the organization that owns the API key. A partner key may pass a direct child. An unknown organization returns 404. An organization the key cannot access returns 403. A non-empty organization_id query field returns 400 VALIDATION_ERROR.

The list and get include the active organization's challenges, its parent partner's challenges, and library challenges that are READY with published_to_library_at set.

MethodPathSummary
GET/v1/challengesList challenges
GET/v1/challenges/:idGet one challenge by UUID

List

curl "https://api.skillflare.co/v1/challenges?limit=20&offset=0" \
  -H "x-api-key: sk_skillflare_YOUR_KEY" \
  -H "x-organization-id: CHILD_ORG_UUID"

Returns { data, meta } as described in Errors and pagination. Each item:

{
  "id": "e5f6a7b8-c9d0-1234-ef01-345678901234",
  "created_at": "2026-01-15T12:00:00.000Z",
  "name": "Support analyst",
  "description": "Triage a customer ticket in the desktop.",
  "challenge_status": "READY",
  "compute_provider": "CONTAINER",
  "duration_minutes": 45,
  "published_to_library_at": null
}
  • id — challenge UUID (use this as challenge_id when creating a session).
  • created_at — when the challenge was created (ISO 8601).
  • name — display name, or null.
  • description — summary, or null.
  • challenge_status — current status, or null. A session can be created when this is READY, WARMING_UP, or PREPARING.
  • compute_provider — LOCAL or CONTAINER, or null.
  • duration_minutes — assessment length in minutes, or null.
  • published_to_library_at — when the challenge was published to the library, or null.

Get by id

curl https://api.skillflare.co/v1/challenges/e5f6a7b8-c9d0-1234-ef01-345678901234 \
  -H "x-api-key: sk_skillflare_YOUR_KEY" \
  -H "x-organization-id: CHILD_ORG_UUID"

Returns the challenge at the top level, with the same fields as a list item.

Invalid UUIDs → VALIDATION_ERROR. A missing or inaccessible challenge → 404 Challenge does not exist.

On this page