DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS
API·REFERENCE·SKILLS·LIST·GENERATED

List skills

GET
/skills
SCOPE:skills:read

List skills

Authentication

Requires API key with skills:read scope.

Query parameters

NameTypeDefaultDescription
limitintegerQuery parameter.
cursorstringQuery parameter.

Request

(no body)

Response — 200 OK

{
  "skills": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "alias_id": "example",
      "name": "example",
      "description": "example",
      "updated_at": "2026-01-01T00:00:00.000Z"
    }
  ],
  "next_cursor": "example"
}

Errors

StatusCodeWhen
401unauthorizedMissing or invalid API key.
403forbiddenAPI key lacks required scope.
429rate_limitedToken bucket exhausted.

Code samples

curl https://api.onnie.ai/api/public/v1/skills \
  -H 'Authorization: Bearer onn_live_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2'
const response = await fetch('/skills', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer onn_live_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2',
  },
})
const data = await response.json()
{
  "server": "onnie",
  "name": "listSkills",
  "description": "GET /skills"
}