Skip to main content
GET /api/v1/cloud/skills Retrieves the list of all skills under the current account with cursor-based pagination.

Headers

HeaderRequiredDescription
AuthorizationYesBearer $QODER_PAT

Query parameters

ParameterTypeRequiredDescription
limitintegerNoMaximum number of records per page. Default 20, range 1-100. Values above 100 return 400 invalid_request_error.
pagestringNoClaude-style forward cursor. Equivalent to after_id; mutually exclusive with before_id and after_id
after_idstringNoCursor pagination: return records after this ID. Mutually exclusive with page and before_id
before_idstringNoCursor pagination: return records before this ID. Mutually exclusive with page and after_id
namestringNoPrefix search on skill name, case-insensitive
sourcestringNoFilter by source. Valid values: custom, qoder

Example request

# List all skills
curl -X GET https://api.qoder.com/api/v1/cloud/skills \
  -H "Authorization: Bearer $QODER_PAT"

# Paginate
curl -X GET "https://api.qoder.com/api/v1/cloud/skills?limit=10" \
  -H "Authorization: Bearer $QODER_PAT"

# Page forward with a cursor
curl -X GET "https://api.qoder.com/api/v1/cloud/skills?limit=10&page=skill_019e3bba474b73cfaf19eae9b5f5e66d" \
  -H "Authorization: Bearer $QODER_PAT"

Example response

HTTP 200 OK
{
  "data": [
    {
      "id": "skill_019e3bba474b73cfaf19eae9b5f5e66d",
      "type": "skill",
      "display_title": "test-skill-api-doc",
      "description": "A test skill for API documentation",
      "source": "custom",
      "latest_version": "1",
      "metadata": {
        "team": "docs"
      },
      "created_at": "2026-05-18T15:35:24.248164Z",
      "updated_at": "2026-05-18T15:35:24.248164Z"
    }
  ],
  "next_page": null,
  "first_id": "skill_019e3bba474b73cfaf19eae9b5f5e66d",
  "last_id": "skill_019e3bba474b73cfaf19eae9b5f5e66d",
  "has_more": false
}

Pagination example (has_more = true)

{
  "data": [],
  "next_page": "skill_019e3bbb6a25768b9b50ca2f52aa4345",
  "first_id": "skill_019e3bbb6a25768b9b50ca2f52aa4345",
  "last_id": "skill_019e3bbb6a25768b9b50ca2f52aa4345",
  "has_more": true
}

Empty list response

{
  "data": [],
  "next_page": null,
  "first_id": null,
  "last_id": null,
  "has_more": false
}

Response fields

FieldTypeDescription
dataarrayArray of Skill objects. content is not included in list responses
next_pagestring | nullForward cursor for the next page; use as page when has_more is true
first_idstring | nullID of the first record on the current page
last_idstring | nullID of the last record on the current page
has_morebooleanWhether more records are available; when true, use next_page as the next page’s page value

Errors

HTTPTypeTrigger
400invalid_request_errorInvalid limit, invalid source, or more than one of page, before_id, and after_id is provided
401TOKEN_INVALIDMissing or invalid authentication token
See Errors for the full error envelope.

Agent Skills

Attach domain expertise to your agent.