Contracts
Last updated
Fetch artifact contract metadata.
Query Parameters
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
- "id"
- "path"
- "contract_version"
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 Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/v1/contracts"{ "data": { "artifacts": [ { "contract_version": "2026-06-29.1", "id": "example", "path": "/metagraph/example.json", "schema_ref": "#/components/schemas/Example", "status": "live", "storage_tier": "dual" } ], "base_path": "/metagraph", "contract_version": "2026-06-29.1", "feeds": [ { "content_types": [ "example" ], "description": "Example description.", "formats": [ "rss" ], "id": "example", "kind": "example", "method": "GET", "path": "/api/v1/feeds/registry", "path_parameters": [ { "name": "Example Subnet", "schema": {} } ], "public": true, "query_parameters": [ { "name": "Example Subnet", "schema": {} } ] } ], "generated_at": "2026-06-01T00:00:00.000Z", "name": "Example Subnet", "networks": { "aliases": [ "example" ], "data_aliases": [ "example" ], "default": "mainnet", "mainnet_only_route_count": 1, "note": "example", "path_form": "/api/v1/{network}/..." }, "notes": "Example description.", "openapi_url": "/metagraph/openapi.json", "primary_domain": "api.metagraph.sh", "schema_version": 1, "status_domain": null, "type_definitions_url": "/metagraph/types.d.ts" }, "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}