API Reference
All public and authenticated endpoints with examples.
Base URL
https://api.opensyber.cloudAuthentication
Authenticated endpoints require a Bearer token from Clerk in the Authorization header.
Authorization: Bearer <clerk-session-token>Public Endpoints
GET /health
Returns API health status.
curl https://api.opensyber.cloud/health
# Response: { "status": "healthy" }GET /api/skills
List all published skills in the marketplace.
GET /api/badges/:instanceId/security-score
Returns an SVG badge with the instance's security score.
curl https://api.opensyber.cloud/api/badges/inst_1/security-score
# Response: SVG image (Content-Type: image/svg+xml)GET /api/badges/:instanceId/security-score.json
Returns shields.io-compatible JSON for badge embedding.
Authenticated Endpoints
GET /api/user
Returns the authenticated user's profile.
GET /api/user/onboarding
Returns computed onboarding progress.
PATCH /api/user/onboarding
Mark a step complete or dismiss the checklist.
# Mark a step complete
curl -X PATCH -H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"step": "reviewSecurity"}' \
/api/user/onboarding
# Dismiss the checklist
curl -X PATCH -H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"dismiss": true}' \
/api/user/onboardingGET /api/user/referral
Returns referral code, referred count, and credits earned.
GET /api/instances
List user's agent instances.
POST /api/instances
Deploy a new agent instance.
GET /api/instances/:id
Get instance details, health metrics, and skills.
DELETE /api/instances/:id
Destroy an agent instance.
POST /api/instances/:id/skills/:skillId
Install a skill on an instance.
DELETE /api/instances/:id/skills/:skillId
Uninstall a skill from an instance.
GET /api/security/instances/:id/dashboard
Security dashboard with score, events, and categories.
GET /api/security/instances/:id/alerts
List security alerts for an instance.
GET /api/security/instances/:id/incidents
List security incidents for an instance.
Webhooks
POST /webhooks/clerk
Clerk webhook endpoint for user.created and user.updated events. Requires Svix HMAC signature verification.
POST /webhooks/lemonsqueezy
LemonSqueezy webhook for subscription events (created, updated, cancelled, expired). Requires HMAC signature verification.