REST API

HTTP + JSON access to the SkillzDrive catalog, drives, collections, uploads, and executions. Use from any language that can speak HTTP — no MCP client required.

Who is this for?

Web apps, mobile backends, CI pipelines, internal tools, and any 3rd-party product that wants to manage SkillzDrive accounts programmatically. If you're building an agent that calls skills, use the MCP interface instead — it's purpose-built for that.

Base URL

https://www.skillzdrive.com/api/v1

Every endpoint below is prefixed by this base URL. Responses are JSON. Errors follow a consistent envelope (see below).

Authentication

Most endpoints require a SkillzDrive API key. Pass it as a Bearer token:

Bearer auth
Authorization: Bearer sk_live_<your-key>

Create keys in the Account dashboard. Keys come in two flavors:

Key typeScopeUse when
All-skillsFull drive + team + sharedAccount owner; admin tools
Scoped collectionSubset named by allowed_skill_idsPer-end-user keys; sub-account style partner integrations

Anonymous access

A few public read endpoints work without any key — handy for discovery-only clients. Anonymous requests are rate-limited to 1 request per minute per IP and should include an install-id header for soft identity:

Anonymous
X-Skillzdrive-Install-Id: <a-uuid-you-generate-once>

Anonymous-capable endpoints are marked Anonymous: ✓ in the Endpoints reference.

Response shape

Successful responses carry a data key. Errors carry an error object with a stable machine code and a human-readable message.

{
  "data": {
    "collections": [
      { "name": "default", "scope": "all_skills", "skillCount": "all" },
      { "name": "acme-team", "scope": "scoped", "skillCount": 12 }
    ],
    "count": 2
  }
}

HTTP status codes

StatusMeaningTypical error codes
200/201Success
302Redirect to signed download URL
400Bad request bodyinvalid_json
401Auth required or invalid keyauth_required, invalid_api_key, api_key_expired
403Forbidden (scope / quota / account)forbidden, scope_forbidden, account_inactive
404Not foundnot_found, method_not_found
409Conflictconflict, install_id_conflict
422Validation failedmissing_required, invalid_params, invalid_sort_by
429Rate limit or quota hitrate_limit_exceeded, quota_exceeded, call_limit_reached
500Server errorinternal_error, render_failed
502MCP backend unreachablemcp_unreachable

Your first call

Search the public catalog anonymously — zero signup required:

curl -H "X-Skillzdrive-Install-Id: $(uuidgen)" \
     "https://www.skillzdrive.com/api/v1/skills?q=weather"

List the collections on your account (authenticated):

Authenticated call
curl -H "Authorization: Bearer sk_live_..." \
     "https://www.skillzdrive.com/api/v1/collections"

Keep reading