List a component's versions
Lists a component's versions, newest first, or the one with a version number.
Guide: Components
A project secret key: vh_sk_... for production, vh_sk_test_... for test. Keep it on your servers.
In: header
Path parameters
The project's id, proj_.... A secret key works only in the project it belongs to.
The component's id, cmp_....
Query parameters
Where the page starts: the pageInfo.endCursor of the previous page. Omit it for the first page.
How many items to return, from 1 to 100. Defaults to 50.
1 <= value <= 100Only the version with this number, counted from 1.
1 <= valueExamples
curl -X GET "https://api.voidhash.com/api/v1/projects/proj_tz4a98xxat96iws9zmbrgj3a/components/cmp_p4z7c1x9v3b8n2m6q5w0e4r7/versions?version=3" \ -H "Authorization: Bearer vh_sk_..."{ "data": [ { "id": "cmp_ver_k3m8x2c7v9b4n1q6w5e0r8t2", "componentId": "cmp_p4z7c1x9v3b8n2m6q5w0e4r7", "version": 3, "sourceKind": "rust", "status": "ready", "contentHash": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08", "panelHash": null, "byteSize": 58912, "manifest": { "id": "project/plan-picker", "version": "0.1.0", "title": "Plan picker", "description": "Selectable plans.", "icon": { "kind": "builtin", "name": "component" }, "category": "Project", "keywords": [], "implementation": { "kind": "wasm", "abi": 2 }, "traits": { "frame": { "resize": "width" }, "appearance": {}, "effects": {} }, "children": { "kind": "none" }, "props": [ { "name": "plans", "type": { "kind": "list", "of": { "kind": "product" } }, "default": [] }, { "name": "accent", "type": { "kind": "color" }, "default": "#7c3aed" } ], "events": [ { "name": "selected", "payload": [ { "name": "productId", "type": { "kind": "string" } } ] } ], "previewStates": [ "default" ], "capabilities": [ "commerce" ], "panel": false, "fallback": "placeholder", "defaultSize": { "width": "fill", "height": "hug" } }, "isDeprecated": false, "deprecatedAt": null, "warnings": [], "conformance": { "hasPassed": true, "checks": [ { "name": "module", "status": "pass", "errors": [], "warnings": [] }, { "name": "manifest", "status": "pass", "errors": [], "warnings": [] }, { "name": "imports", "status": "pass", "errors": [], "warnings": [] }, { "name": "exports", "status": "pass", "errors": [], "warnings": [] }, { "name": "lifecycle", "status": "pass", "errors": [], "warnings": [] }, { "name": "values", "status": "pass", "errors": [], "warnings": [] }, { "name": "tree", "status": "pass", "errors": [], "warnings": [] }, { "name": "determinism", "status": "pass", "errors": [], "warnings": [] }, { "name": "events", "status": "pass", "errors": [], "warnings": [] }, { "name": "timers", "status": "pass", "errors": [], "warnings": [] }, { "name": "layout", "status": "pass", "errors": [], "warnings": [] }, { "name": "actions", "status": "pass", "errors": [], "warnings": [] }, { "name": "frames", "status": "pass", "errors": [], "warnings": [] }, { "name": "memory", "status": "pass", "errors": [], "warnings": [] }, { "name": "golden", "status": "skip", "errors": [], "warnings": [] } ] }, "createdBy": "user_k3m8q1z6v9c2x5b7n4w0e8r1", "createdAt": "2026-03-04T16:20:00.000Z", "builtAt": "2026-03-04T16:21:12.000Z" } ], "pageInfo": { "endCursor": null, "hasNextPage": false }}{ "error": { "type": "invalid_request", "code": "invalid_query", "message": "The request query is invalid: Expected a finite number\n at [\"limit\"]" }}{ "error": { "type": "unauthenticated", "code": "invalid_api_key", "message": "This secret key is not valid." }}{ "error": { "type": "permission_denied", "code": "permission_denied", "message": "Insufficient permissions." }}{ "error": { "type": "not_found", "code": "component_not_found", "message": "This project has no component cmp_p4z7c1x9v3b8n2m6q5w0e4r7.", "param": "componentId" }}{ "error": { "type": "internal", "code": "internal_error", "message": "Something went wrong on our side. Try again, and contact support with the Request-Id header if it keeps failing." }}Response body
application/json
application/json
application/json
application/json
application/json
application/json
Errors
| Status | type | code | When |
|---|---|---|---|
| 404 | not_found | component_not_found | — |
It can also fail with the errors every operation shares, such as unauthenticated; see Errors.
More in Components
- List components
GET - Upload a component module
POST - Submit a component's source
POST - Retrieve a component
GET - Update a component
PATCH - Delete a component
DELETE - Retrieve a component version
GET - Update a component version
PATCH - List component uses
GET
Something wrong or missing on this page? Tell us by email or on Discord.