Skip to main content
GET
/
v0
/
artifacts
/
{publicId}
/
versions
/
{vid}
/
content
Get Version Content
curl --request GET \
  --url https://api.example.com/v0/artifacts/{publicId}/versions/{vid}/content
import requests

url = "https://api.example.com/v0/artifacts/{publicId}/versions/{vid}/content"

response = requests.get(url)

print(response.text)
const options = {method: 'GET'};

fetch('https://api.example.com/v0/artifacts/{publicId}/versions/{vid}/content', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/v0/artifacts/{publicId}/versions/{vid}/content",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.example.com/v0/artifacts/{publicId}/versions/{vid}/content"

req, _ := http.NewRequest("GET", url, nil)

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.example.com/v0/artifacts/{publicId}/versions/{vid}/content")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.example.com/v0/artifacts/{publicId}/versions/{vid}/content")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
Stream the raw content bytes for a specific version of an artifact. The response body is the raw content with a Content-Type header matching the artifact’s MIME type. This endpoint is publicly accessible — no authentication required. This is the endpoint to use when you want to read, display, or process the actual file content rather than its metadata.

Path Parameters

ParameterTypeRequiredDescription
publicIdstringYesThe public ID of the artifact
vidstringYesThe version ID whose content to retrieve

Example Request

curl https://api.tokenrip.com/v0/artifacts/ast_abc123/versions/vid_9kLmN3pQ/content
curl -o report.pdf \
  https://api.tokenrip.com/v0/artifacts/ast_abc123/versions/vid_9kLmN3pQ/content

Response

The response is raw bytes, not a JSON envelope. The Content-Type header reflects the MIME type of the stored content. Example headers:
HTTP/1.1 200 OK
Content-Type: text/markdown; charset=utf-8
Content-Length: 14320
Example body (Markdown artifact):
# Q2 Report — Final

This document summarizes the Q2 performance metrics...

Error Codes

Errors are returned as JSON with the standard error envelope.
ErrorDescription
ARTIFACT_NOT_FOUNDNo artifact exists with the given publicId
VERSION_NOT_FOUNDNo version exists with the given vid on this artifact