Skip to main content
Skills

List skills

List all skills under the current account with pagination.

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

Headers

HeaderRequiredDescription
AuthorizationYesBearer <PAT or SAT>

Query parameters

ParameterTypeRequiredDescription
limitintegerNoMaximum number of records per page. Default 20, range 1-100. Values above 100 return 400 invalid_request_error
pagestringNoForward cursor; pass the next_page value from the previous response
sourcestringNoFilter by source. Valid values: custom, qoder
display_titlestringNoPrefix search on the display title, case-insensitive
namestringNo⚠️ Deprecated: legacy alias for prefix search on the display title (use display_title instead)
after_idstringNo⚠️ Deprecated: return records after this ID (use page instead)
before_idstringNo⚠️ Deprecated: return records before this ID (use page instead)
See Pagination for the full pagination specification.

Example request

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

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

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

Example response

HTTP 200 OK
{
  "data": [
    {
      "id": "skill_019e3bba474b73cfaf19eae9b5f5e66d",
      "type": "skill",
      "display_title": "test-skill-api-doc",
      "source": "custom",
      "latest_version": "1759178010641129",
      "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
}
Empty list response:
{
  "data": [],
  "next_page": null,
  "first_id": null,
  "last_id": null,
  "has_more": false
}

Response fields

FieldTypeDescription
dataarrayArray of Skill objects
has_morebooleanWhether more records are available; when true, use next_page as the next page's page value
next_pagestring | nullForward cursor for the next page; pass as page when has_more is true
first_idstring | null⚠️ Deprecated: ID of the first record on the current page (use has_more/next_page for pagination instead)
last_idstring | null⚠️ Deprecated: ID of the last record on the current page (use has_more/next_page for pagination instead)

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.