Upload version
Version upload is a two-step process: request an upload URL, then confirm the upload after the file is stored.Step 1: Get upload URL
| Parameter | Type | Required | Description |
|---|---|---|---|
version | body | Yes | Version string (e.g., 2024.06.10-153042) |
source_hash | body | Yes | SHA hash of the source code |
base_version_id | body | No | Parent version ID for lineage tracking |
force | body | No | Create version even if source hash already exists |
force is false), the API returns the existing version info instead of generating an upload URL. This prevents duplicate uploads.
Returns signed upload URLs for the main package and lockfile.
Authentication: Entity access + publisher role required.
Step 2: Confirm upload
| Parameter | Type | Required | Description |
|---|---|---|---|
storage_path | body | Yes | Path where the package was uploaded |
version | body | Yes | Version string |
source_hash | body | Yes | Source code hash |
file_size_bytes | body | Yes | Package file size |
service_dependencies | body | No | Array of required service slugs |
package_json | body | No | Package.json contents |
package_lock_path | body | No | Lockfile storage path |
set_as_active | body | No | Set this version as active immediately |
force | body | No | Force creation |
set_as_active is true, this version becomes the active version.
Authentication: Entity access + publisher role required.
Download version
- Entity publishers
- Users the entity is shared with
- Organization members if the entity is published to the org store
- Any authenticated user if the entity is in a public store
Get active version
Set active version
| Parameter | Type | Required | Description |
|---|---|---|---|
versionId | body | Yes | Version ID to set as active |
Delete version
Version identifiers
Versions use a timestamp-based format:YYYY.MM.DD-HHMMSS (e.g., 2024.06.10-153042). This provides chronological ordering without semantic versioning complexity.
The source_hash field enables deduplication — if you push the same source code twice, the platform recognizes the duplicate and returns the existing version rather than creating a new one.
