Skip to main content
Skills

Search Skills

Search Skills visible to the current account using Forward API filters.

POST /api/v1/forward/skills/search You must include the x-qoder-beta: search-2026-08-31 header. Search filters must be provided in a JSON body; search parameters with the same names in the URL query are ignored. The ownership selector identity_id is an exception and can only be supplied in the query. The request body must be a single JSON object; use {} when no filters are required.

Ownership query parameter

ParameterTypeRequiredDescription
identity_idstringNoUse only when operating on Identity-owned resources. A PAT can explicitly supply this query parameter; omitting it uses administrator scope. SAT ownership is determined by the credential. Explicitly supplying this parameter with any SAT (including an empty value) returns HTTP 400. Supplying it in the JSON body returns 400 as an unknown field. See Identity ownership.

Request body parameters

All search filters are optional.
ParameterTypeDescription
metadataobject<string,string>Exact metadata filters combined with AND. Maximum 16 entries.
limitintegerPage size. Default: 20. Range: 1–100.
pagestringCursor returned in next_page from the previous response.
sourcestringcustom or qoder.
display_titlestringCase-insensitive substring match on the display title. Maximum length: 255.
curl -X POST "https://api.qoder.com.cn/api/v1/forward/skills/search" \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Content-Type: application/json" \
  -H "x-qoder-beta: search-2026-08-31" \
  -d '{"metadata":{"team":"core","environment":"test"},"source":"custom","limit":20}'

Response

FieldTypeDescription
dataarrayForward-visible resources on the current page. Resource fields match the corresponding List endpoint.
first_idstring | nullID of the first resource on the current page.
last_idstring | nullID of the last resource on the current page.
has_morebooleanWhether a subsequent page of Forward-visible resources is confirmed to exist.
next_pagestring | nullCursor for the next page, or null when there is no next page.
{
  "data": [],
  "first_id": null,
  "has_more": false,
  "last_id": null,
  "next_page": null
}
Fields in data match List Skills. Metadata keys must contain 1–64 characters and cannot consist only of whitespace. Metadata values must be strings with a maximum length of 512 characters. Clients must replay next_page exactly as returned and must not construct cursors.

Errors

HTTPTypeTrigger
400invalid_request_errorThe Beta header or request body is missing, or a search parameter is invalid; any SAT explicitly supplies the query parameter identity_id (including an empty value); or identity_id is supplied in the JSON body.
401authentication_errorThe authentication token is missing or invalid.
403permission_errorAn Owner mismatch occurs in administrator scope, or a downstream service denies access.
404not_found_errorThe Identity specified by the PAT does not exist, is disabled or deleted, or does not belong to the caller.
429rate_limit_errorA Forward or downstream rate limit is exceeded.
500/502/503api_errorForward or a dependent service failed.
Best Practices
API reference