Skip to main content
GET
Retrieving Results
Using the API directly is not recommended for most users. Instead, we recommend using the Python SDK.
Download the complete results of a batch inference job. Results can be downloaded in multiple formats optimized for different use cases. If the job was submitted with id_column_name, the user-provided ID column is always included in the result, even when include_inputs is false.

Path Parameters

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

Query Parameters

enum
required
The format to download results in:
  • csv - CSV file (zipped for compression)
  • parquet - Parquet file
  • json - JSON object
boolean
default:"false"
Whether to include the input prompts in the results
boolean
default:"false"
Whether to include the cumulative log probabilities in the results

Headers

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

Response

Returns a downloadable file in the requested format.

Parquet

  • Returns a single Parquet file
  • Recommended for large datasets
  • Includes the user-provided ID column when configured for the job

CSV

  • Returns a ZIP file containing a CSV
  • File is compressed for efficient transfer
  • Column names may include the user-provided ID column, inputs (if requested), {job_id} outputs, and cumulative_logprobs (if requested)

JSON

  • Returns a JSON object
  • Best for smaller datasets

Structured Outputs

When using structured outputs (by providing a json_schema when creating the job), the outputs will be JSON strings that conform to your specified schema.

Standard Models

For non-reasoning models, the output will be a JSON string following your schema:

Reasoning Models

For reasoning models (like o1), the output includes both the structured content and the reasoning process:
The output structure for reasoning models:
  • content: The structured output following your JSON schema (can be a text string or JSON string containing an object matching your schema)
  • reasoning_content: The model’s step-by-step reasoning process (string)
Currently, when using structured outputs or reasoning models, one will need to run json.loads or similar on each output JSON, ie json.loads(outputs[0]) to transform from a string to a dict (or equivalent in other languages).

Code Examples

Notes

  • Results can only be retrieved for jobs that have completed successfully
  • The order of results matches the order of the original inputs
  • CSV format: outputs are in a column named after the job_id
  • Parquet format uses Snappy compression internally
  • For very large datasets, request a resumable Parquet results download URL
  • CSV files are automatically zipped to reduce download size