Upload a new version of an artifact
Streams the body as the artifact's next version, with the same limits as a new artifact. A session's artifact gets artifact.version.created in its history.
AuthorizationBearer <token>An application key of the Tenant (PUT /v1/tenant/keys/{keyId}), or Studio's key, derived from the admin key. With Nylorun-Subject and Nylorun-Scopes, it acts for that person, narrowed to those scopes. Never accepted from a browser (Origin).
artifactId*stringNylorun-Protocol*stringThe protocol version, 8
Nylorun-Subject?stringThe person an application key acts for
Nylorun-Scopes?stringThe subject's space-separated scopes; required with a subject
The file's bytes; Content-Type is its media type
body*file*/*binaryThe artifact and the version the upload created
application/json- response
artifact*version*import { createClient } from "@nylorun/agents";const client = await createClient();const version = await client.artifacts.uploadVersion("art_123", report);{ "artifact": { "artifactId": "string", "kind": "file", "name": "string", "contentType": "string", "sessionId": "string", "latestVersion": 1, "labels": { "property1": "string", "property2": "string" }, "createdAt": "string", "updatedAt": "string", "versions": [ { "version": 1, "size": 0, "sha256": "string", "contentType": "string", "source": "upload", "createdAt": "string" } ] }, "version": { "version": 1, "size": 0, "sha256": "string", "contentType": "string", "source": "upload", "createdAt": "string" }}Delete an artifact DELETE
Deletes every version and its bytes; its links stop working. A session's artifact gets `artifact.deleted` in its history.
Download a version of an artifact GET
Streams the bytes through the Runtime. One `Range: bytes=…` gives `206` with `Content-Range`; several ranges give the whole file. A folder is a `400`: read its tree, its files or its zip.