Skip to main content
GET
Getting a Results Download URL
Using the API directly is not recommended for most users. Instead, we recommend using the Python SDK.
This endpoint creates (or reuses) one unified results artifact for a job in object storage (R2) and returns presigned URLs you can use to download it. If the job was submitted with id_column_name, the unified artifact always includes that user-provided ID column, even when include_inputs is false. This route is built for large results and “real download tooling”:
  • Use urls.head to fetch metadata (Content-Length, ETag) without downloading the file.
  • Use urls.get to download the artifact, including HTTP Range requests for resumable downloads.
Once you have the presigned URLs, do not send your Sutro Authorization header to R2. The presigned URL already contains the credentials.

Path Parameters

string
required
The job_id returned when you submitted the batch inference job.

Query Parameters

enum
default:"parquet"
The artifact format.Currently supported values:
  • parquet (only)
Any other value returns 400.
boolean
default:"false"
Whether to include the input prompts as columns in the unified artifact.
boolean
default:"false"
Whether to include cumulative log probabilities in the unified artifact.
integer
default:"3600"
TTL for the returned presigned URLs.
  • Minimum: 1
  • Maximum: 604800 (7 days)

Headers

string
required
Your Sutro API key using Key authentication scheme.Format: Key YOUR_API_KEYExample: Authorization: Key sk_live_abc123...

Response

Returns a JSON payload that describes the artifact and provides method-specific presigned URLs.
string
The job ID you requested.
string
The artifact format (currently parquet).
boolean
Echoes whether inputs were included in the artifact.
boolean
Echoes whether cumulative logprobs were included in the artifact.
integer
TTL (in seconds) for the returned presigned URLs.
object
Metadata describing the stored object (bucket/key/filename/size).
object
Presigned URLs:
  • urls.get — use with GET (supports Range requests)
  • urls.head — use with HEAD (metadata only)

Download behavior

HEAD (metadata)

Use urls.head with the HEAD method to read headers like:
  • Content-Length — total bytes
  • ETag — object hash identifier (useful to detect changes)

GET (download)

Use urls.get with GET to download:
  • Supports Range: bytes=... for partial reads
  • Enables resumable downloads (append remaining bytes)
Treat presigned URLs like credentials. Anyone with the URL can download until it expires.

Code Examples

Notes

  • Only format=parquet is supported on this route today.