Review Profile Completeness
Last updated
Fetch profile completeness gaps for contributor targeting.
Query Parameters
Subnet id (netuid). 0 is the root subnet -- a stake-allocation construct rather than a running subnet. It IS present in the registry collections, but it is excluded from application-subnet counts, and stake on it is denominated in TAO rather than in a subnet alpha token, so its economics are not directly comparable to a running subnet's.
0 <= value <= 65535Value in
- "directory-only"
- "identity-partial"
- "identity-complete"
- "operational"
- "adapter-backed"
Value in
- "low"
- "medium"
- "high"
Value in
- "none"
- "directory"
- "partial"
- "complete"
Value in
- "archive"
- "dashboard"
- "data-artifact"
- "docs"
- "example"
- "openapi"
- "repo-registry"
- "sdk"
- "source-repo"
- "sse"
- "subnet-api"
- "subtensor-rpc"
- "subtensor-wss"
- "website"
Value in
- "chain"
- "placeholder"
- "empty"
Comma-separated allow-list projecting the response's primary row collection down to just these fields. A response carrying several collections projects only the primary one -- the others keep their full shape. An unrecognised field is a 400 invalid_query naming both the field and the collection it was resolved against, rather than being ignored.
^[\s,]*[A-Za-z_][A-Za-z0-9_]*(\s*,[\s,]*[A-Za-z_][A-Za-z0-9_]*)*[\s,]*$Maximum number of rows to return in one page (at most 1000). A larger value, or a non-positive one, is rejected with 400 invalid_query -- so a short page means the result set is exhausted, not that the server quietly capped you (#9916). Omitted, every matching row is returned.
1 <= value <= 1000Row offset to resume from — the numeric position of the first row to return, not an opaque token. Rows inserted since the previous page shift it, so prefer the keyset cursor where a tool offers one.
0 <= valueField to sort by — the bare field name only (e.g. sort=total_stake_alpha). Pair with the separate order parameter to choose direction; a combined field:desc token is NOT supported.
Value in
- "candidate_count"
- "completeness_score"
- "identity_level"
- "identity_promotion_kind_count"
- "identity_surface_count"
- "live_identity_candidate_kind_count"
- "missing_critical_count"
- "name"
- "native_identity_signal_count"
- "native_name_quality"
- "netuid"
- "priority_score"
- "profile_level"
- "stale_identity_candidate_kind_count"
Sort direction for sort: asc or desc (default desc). This is a separate parameter from sort — e.g. ?sort=emission_share&order=desc.
Value in
- "asc"
- "desc"
Response format override. Use csv to download the transformed list as text/csv; json keeps the default response envelope.
"json"Value in
- "json"
- "csv"
Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/v1/review/profile-completeness"{ "data": { "contract_version": "2026-06-29.1", "generated_at": "2026-06-01T00:00:00.000Z", "notes": "Example description.", "profiles": [ { "candidate_count": 1, "completeness_score": 100, "confidence": "low", "curation_level": "native", "gap_reasons": [ "example" ], "identity_evidence": { "candidate_identity_count": 1, "curated_identity_count": 1, "curated_identity_kinds": [ "archive" ], "live_candidate_identity_kinds": [ "archive" ], "native_contact_present": false, "native_description_present": false, "native_identity_count": 1, "native_identity_kinds": [ "archive" ], "needs_promotion_kinds": [ "archive" ], "stale_candidate_identity_kinds": [ "archive" ], "unverified_candidate_identity_kinds": [ "archive" ] }, "identity_level": "none", "identity_promotion_kind_count": 1, "identity_promotion_kinds": [ "archive" ], "identity_surface_count": 1, "live_identity_candidate_kind_count": 1, "missing_critical_count": 1, "missing_identity": [ "archive" ], "missing_operational": [ "archive" ], "missing_required": [ "archive" ], "name": "Example Subnet", "native_identity_signal_count": 1, "native_name_quality": "chain", "netuid": 7, "operational_interface_count": 1, "priority_score": 100, "profile_level": "directory-only", "review_state": "unreviewed", "slug": "example-subnet", "source_count": 1, "stale_identity_candidate_kind_count": 1, "suggested_next_action": "example", "supported_interface_kinds": [ "archive" ] } ], "schema_version": 1, "summary": { "average_completeness_score": 100, "by_confidence": {}, "by_identity_level": {}, "by_profile_level": {}, "critical_gap_counts": {}, "identity_promotion_candidate_count": 1, "native_identity_count": 1, "native_identity_unpromoted_count": 1, "needs_identity_count": 1, "needs_operational_count": 1, "profile_count": 1 } }, "meta": { "artifact_path": "example", "cache": "short", "contract_version": "2026-06-29.1", "generated_at": "2026-06-01T00:00:00.000Z", "observed_through": "2026-06-01T00:00:00.000Z", "pagination": { "collection": "example", "cursor": 1, "limit": 1, "next_cursor": 1, "order": "asc", "returned": 1, "sort": "example", "total": 1 }, "published_at": "2026-06-01T00:00:00.000Z", "source": "live-cron-prober", "stale_contract": { "built_under": "example", "live": "example" } }, "ok": true, "schema_version": 1}