Authentication.
API key in header
One key per environment, generated from the Console. The secret is shown only once, at creation.
curl https://api.skillberg.app/v1/skills/search?q=python \-H "x-api-key: sk_live_..."
- Recommended for 95% of integrations
- Rotate anytime from the Console
- Discovery tier active immediately after creation
OAuth (Partner & Omni)
For multi-tenant or white-label deployments. Includes DCR + PKCE.
POST /v1/oauth/tokengrant_type=client_credentialsclient_id=...client_secret=...
- Multi-tenant: one sub-token per end user
- Works with the MCP Connector
- Custom quote — contact@skillberg.app
Five endpoint families.
One canonical graph. Each family handles one resource type.
Quotas and rate limits.
Tied to the tier you pick in the Console.
Quota per calendar month. Resets on the 1st of the month at 00:00 UTC. Discovery available with no key and no sign-up.
Regions.
Latency.
Median latency < 200 ms p50, < 500 ms p99 from Europe on the GET /v1/skills/* endpoints. POST /v1/matching/* endpoints add 100–300 ms (inference).
Error model.
Every error returns a standard JSON object with a stable code.
{"error": {"code": "rate_limit_exceeded","message": "Monthly quota reached.","details": {"tier": "starter","reset_at": "2026-06-01T00:00:00Z"}}}
Versioning.
Stable /v1 prefix. Breaking changes are announced 6 months in advance, with a Sunset header on affected endpoints.
- No breaking change without explicit notice
- Additional fields = non-breaking
- Every change documented in the CHANGELOG (GitHub link)
- Migration guide for every major version
SDKs and spec.
OpenAPI 3.1
Complete, machine-readable spec. Import it into Postman, Insomnia, Stoplight.
openapi.jsonGitHub examples
Complete recipes for all 5 families, in curl / Python / Node.
github.com/Skillberg-appDocumentation your agents can read.
api.skillberg.app exposes an llms.txt, an llms-full.txt version and the OpenAPI 3.1 spec. Your agents can explore it without going through us.