Skip to main content
POST
Python
Async operation: This endpoint returns immediately with a spec ID. Poll GET /api/dataframer/specs/{id}/ until status is SUCCEEDED or FAILED.
Supports both seeded specs (provide dataset_id to analyze a seed dataset) and seedless specs (provide generation_objectives to describe what data to generate).

Authorizations

Authorization
string
header
required

API Key authentication. Format: "Bearer YOUR_API_KEY"

Body

application/json
name
string
required

Name for the new spec (must be unique)

generation_objectives
string

Custom objectives or instructions for data generation that directly influence contents of the generated spec. Required for seedless specs (when dataset_id is omitted).

dataset_id
string<uuid>

ID of the seed dataset to generate spec from. Omit for seedless spec creation.

spec_generation_model_name
enum<string>
default:anthropic/claude-opus-5-5-thinking

AI model to use for spec generation

Available options:
anthropic/claude-fable-5-1-thinking,
anthropic/claude-opus-5-5-thinking,
anthropic/claude-sonnet-5-5-thinking,
gemini/gemini-3.1-pro-preview-thinking,
openai/gpt-6-astra-thinking,
openai/gpt-6.1-sol-thinking,
openai/gpt-5.6-terra-thinking,
databricks/system.ai.claude-sonnet-5-thinking,
databricks/system.ai.claude-opus-5-thinking,
databricks/system.ai.gpt-6-astra-thinking,
databricks/system.ai.gpt-6-1-sol-thinking,
databricks/system.ai.gpt-5-6-terra-thinking
generate_distributions
boolean
default:true

When true, the spec will include generated probability distributions for each property value; when false, each property will have a uniform distribution.

generate_conditional_distributions
boolean
default:true

Generate conditional distributions showing how property values vary based on other properties. Requires generate_distributions to be true.

extrapolate_values
boolean
default:true

Extrapolate new values beyond existing data ranges. Not applicable for seedless specs.

extrapolate_axes
boolean
default:false

Extrapolate to new axes/dimensions not present in seed data. Not applicable for seedless specs.

description
string

Description of the spec's purpose (optional, for data organization purposes only)

Response

Spec creation started. Returns the full Spec object with status=PROCESSING, content_yaml=null, and versions=[]. Poll GET /api/dataframer/specs/{id}/ until status is SUCCEEDED or FAILED.

id
string<uuid>

Unique identifier for the spec

name
string

Spec name

description
string | null

Description of the spec's purpose (optional, for data organization purposes only)

status
enum<string>

Current status of the spec

Available options:
PROCESSING,
SUCCEEDED,
FAILED
created_at
string<date-time>

Timestamp when the spec was created

updated_at
string<date-time>

Timestamp when the spec was last modified

dataset_id
string<uuid> | null

ID of the seed dataset. Null for seedless specs.

dataset_name
string | null

Name of the seed dataset. Null for seedless specs.

dataset_type
enum<string>

Type of dataset. MULTI_FILE for seedless specs.

Available options:
SINGLE_FILE,
MULTI_FILE,
MULTI_FOLDER
created_by_email
string

Email of the user who created this spec

runtime_params
object

Parameters used during spec generation (model name, distribution settings, etc.)

versions
object[]

All versions of this spec. Only included when include_versions=true. Empty when status is PROCESSING or FAILED.

content_yaml
string | null

The YAML content from the latest version of this spec. Null when status is PROCESSING or FAILED. Also null when content_unavailable_reason is set.

error
string | null

Error message when status is FAILED. Null otherwise.

content_location
object | null

Where the latest version's YAML is stored in your own cloud (null unless your deployment is customer-hosted)

content_unavailable_reason
enum<string> | null

Set when content_yaml is null because the YAML is stored in your own cloud. The spec is ready. A current Python SDK reads the YAML from your data plane and returns it in content_yaml, so it does not set this; the DataFramer app shows it too. Absent otherwise

Available options:
spec_content_in_data_plane