NylorunDocsBeta
Runtime APIArtifacts

Upload a new version of an artifact

POST
/v1/artifacts/{artifactId}/versions

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.

Authorization

headerAuthorizationBearer <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).

Path Parameters

artifactId*string

Header Parameters

Nylorun-Protocol*string

The protocol version, 8

Nylorun-Subject?string

The person an application key acts for

Nylorun-Scopes?string

The subject's space-separated scopes; required with a subject

Request Body

The file's bytes; Content-Type is its media type

body*file*/*
Formatbinary

Response Body

The artifact and the version the upload created

application/json
  1. 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"  }}