Skip to content

Authentication

All /v1 routes except signup and GET /v1/usage/schema require a bearer token.

http
Authorization: Bearer sk_live_...

Base URL: https://api.skilleo.org

Skilleo API key

Sign up. The plaintext key is returned once.

bash
curl -s -X POST https://api.skilleo.org/v1/account \
  -H "Content-Type: application/json" \
  -d '{"email":"dev@example.com"}'
python
from skilleo import Client

client, signup = Client.signup("dev@example.com")
print(signup["data"]["api_key"])
bash
export SKILLEO_API_KEY='sk_live_...'
curl -s https://api.skilleo.org/v1/capabilities \
  -H "Authorization: Bearer $SKILLEO_API_KEY"
python
client = Client(api_key="sk_live_...")

This authenticates you to Skilleo. It is not a provider key.

Two secrets

SecretPurposeSource
sk_live_…Auth to Skilleo /v1POST /v1/account
Provider credentialCapability backendsYour secret store — Skilleo stores only a prv_… pointer

Skilleo does not store customer provider API keys. Register where Skilleo resolves them (Secrets).

python
# Set ANTHROPIC_API_KEY in your secret store, then:
client.providers.connect("anthropic")

Provider connections

python
conn = client.providers.connect("runpod")
print(conn["data"]["secret_ref"])  # RUNPOD_API_KEY
bash
curl -s -X POST https://api.skilleo.org/v1/providers/connections \
  -H "Authorization: Bearer $SKILLEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"provider":"anthropic","connection_type":"environment","secret_ref":"ANTHROPIC_API_KEY"}'

Response: { "provider": "anthropic", "connection": "prv_…", "connection_type": "environment", "secret_ref": "ANTHROPIC_API_KEY", "status": "connected" }.

List: client.providers.list() or GET /v1/account/connections.

Without a connection, provider-backed routes return 400 CREDENTIALS_MISSING. CPU capabilities such as research.gather do not require one.

Key rules

  • Skilleo API key shown once at signup
  • Invalid or revoked → 401 UNAUTHORIZED
  • Public without a key: signup, GET /v1/usage/schema, GET /health

Excess traffic → 429 RATE_LIMITED. Another user’s resource id → 404 NOT_FOUND.

Skilleo — /v1 at api.skilleo.org