Store an artifact preview - Spacefast Docs
Store an artifact preview
Caches a rendered snapshot against the commit sha. Generated state never lands in git.
PUT /v1/artifacts/{ref}/preview
Authorization
Authorization Bearer token · header required
Authorization: Bearer <key> with the Space key (sfc_ prefix) of an unclaimed Space. The same key is the fragment of the claim URL and the token in the Space's /_/<key> sign-in URL.
or
Authorization Bearer token · header required
Authorization: Bearer <token> with an API key (sfa_ prefix), an OAuth access token, a session token, or a Space machine credential (sfm_ prefix).
or
Authorization OAuth2 access token · header required
OAuth 2.0 with Spacefast scopes. People use the authorization code flow; machines use client credentials.
Scopes: connectors:execute
Path parameters
ref string required
Query parameters
team string min length 1
Request body required application/json
image string required
The snapshot as a data URL, straight from the viewer's canvas.
max length 8000000 · matches ^data:image/.*
commitSha string required
Commit this snapshot renders. A snapshot of a stale commit is rejected.
min length 1
Responses
200 Response for status 200
$schema string
Canonical JSON Schema URL for this response body. The server also sends it in the Link: rel="describedby" response header.
data object required
A raster snapshot of an artifact. Cached against the commit, never committed to git.
Properties
ref string required
Artifact address: <spaceId>:<path>. The only way to name an artifact.
min length 3 · max length 1024 · matches ^[^:]+:[^:].*$
commitSha string required
Commit this snapshot renders.
previewUrl string required
Where to fetch the snapshot.
updatedAt string
matches ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:.\d+)?)?(?:Z))$
default Problem details (RFC 9457). Any 4xx/5xx response is one application/problem+json document.
$schema string
Canonical JSON Schema URL for this response body. The server also sends it in the Link: rel="describedby" response header.
Error Object
type string required
URL of the documentation page for this error. Derived from code.
title string required
Human-readable name of the error type. Derived from code.
status integer required
HTTP status of the response, repeated in the body.
min -9007199254740991 · max 9007199254740991
detail string required
What went wrong in this request.
code string required
Stable snake_case error code. Match on this, not on detail.
pointer string
RFC 6901 JSON Pointer to the request field or batch entry that failed, for example /files/37/path. Present on validation failures.
details object
Machine-readable context keyed by the error code.
suggestions string[]
Recovery steps safe to show to a person.
next string[]
Commands or API requests to run next, usable as written.
requestId string required
ID of this request, from the X-Request-Id header or generated. Quote it when contacting support.
Try it
Server
Base URL https://api.spacefast.com
Custom base URL Overrides the selected server when set.
Authorization
Bearer token Remember on this device Include my values in samples
Parameters
ref path * team query
Body application/json
image string * The snapshot as a data URL, straight from the viewer's canvas.
commitSha string * Commit this snapshot renders. A snapshot of a stale commit is rejected.
Send
Request Examples
cURL
curl -X PUT "https://api.spacefast.com/v1/artifacts/string/preview" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"image": "string",
"commitSha": "string"
}'
JavaScript
const response = await fetch("https://api.spacefast.com/v1/artifacts/string/preview", {
method: "PUT",
headers: {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
},
body: "{\n \"image\": \"string\",\n \"commitSha\": \"string\"\n}"
});
Python
import requests
response = requests.put(
"https://api.spacefast.com/v1/artifacts/string/preview",
headers={
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
},
data="{\n \"image\": \"string\",\n \"commitSha\": \"string\"\n}",
)
Response
200 default
{
"$schema": "http://example.com",
"data": {
"ref": "string",
"commitSha": "string",
"previewUrl": "string",
"updatedAt": "2019-08-24T14:15:22Z"
}
}
Error Response
{
"$schema": "http://example.com",
"type": "string",
"title": "string",
"status": -9007199254740991,
"detail": "string",
"code": "string",
"pointer": "string",
"details": {
"property1": null,
"property2": null
},
"suggestions": [
"string"
],
"next": [
"string"
],
"requestId": "string"
}