Skip to content

Generate Declarative

POST
/api/v1/codegen/declarative
curl --request POST \
--url https://example.com/api/v1/codegen/declarative \
--header 'Content-Type: application/json' \
--data '{ "flow_name": "example", "target_layer": "silver", "source_table": "example", "source_tables": [ "example" ], "target_name": "example", "trigger_type": "scheduled", "schedule": { "cron": "example", "timezone": "UTC" }, "sequence_column": "example", "target_schema": { "description": "example", "columns": [ { "name": "example", "type": "example", "description": "", "pk": false, "not_null": false, "pii": false, "glossary_terms": [ "example" ] } ], "foreign_keys": [ { "column": "example", "parent_table": "example", "parent_column": "example" } ] }, "sql": "example", "rename_columns": { "additionalProperty": "example" }, "transform_columns": { "additionalProperty": { "cast": "example" } }, "filters": [ { "column": "example", "operator": "=", "value": [ "example" ] } ], "load_options": { "truncate": false, "merge": false, "dedup_columns": [ "example" ], "dedup_order_by": "example" }, "audit_columns": { "additionalProperty": "example" }, "cluster_by": [ "example" ], "table_properties": { "additionalProperty": "example" }, "warehouse": "example", "requested_by": "example" }'

Generate declarative ETL artifacts for Silver or Gold layer.

The target_layer field determines which layer templates are used:

  • “silver”: For silver layer transformations
  • “gold”: For gold layer with optional MERGE support

Load modes (via load_options):

  • Default: INSERT (append)
  • truncate=True: TRUNCATE + INSERT
  • merge=True: MERGE/upsert (requires primary_keys)

Execution modes:

  • scheduled: Creates Task SQL with schedule_cron
  • streaming: Creates Dynamic Table
X-Environment-Id
Any of:
string
Media typeapplication/json
DeclarativeFlowInput

Unified input model for declarative ETL code generation. Supports both Silver and Gold layers with the same input structure as CuratedFlowInput.

Example payload: { “flow_name”: “silver_customer”, “target_layer”: “silver”, “source_table”: “dev.raw.customer”, “target_name”: “dev.silver.customer”, “trigger_type”: “scheduled”, “schedule”: {“cron”: “USING CRON 0 * * * * UTC”, “timezone”: “UTC”}, “target_schema”: { “description”: “Customer dimension”, “columns”: [ {“name”: “customer_id”, “type”: “STRING”, “pk”: true}, {“name”: “email”, “type”: “STRING”, “pii”: true} ] }, “warehouse”: “COMPUTE_WH”, “requested_by”: “user” }

object
flow_name
required
Flow Name
string
target_layer
required
Target Layer
string
Allowed values: silver gold
source_table
Any of:
string
source_tables
Any of:
Array<string>
target_name
required
Target Name
string
trigger_type
required
Trigger Type
string
Allowed values: scheduled continuous streaming
schedule
Any of:
ScheduleConfig

Schedule configuration for tasks.

object
cron
required
Cron
string
timezone
Timezone
string
default: UTC
sequence_column
Any of:
string
target_schema
required
TableSchema

Table schema definition.

object
description
required
Description
string
columns
required
Columns
Array<object>
ColumnSchema

Column definition for table schemas.

object
name
required
Name
string
type
required
Type
string
description
Any of:
string
pk
Pk
boolean
not_null
Not Null
boolean
pii
Pii
boolean
glossary_terms
Glossary Terms
Array<string>
foreign_keys
Foreign Keys
Array<object>
ForeignKey

Foreign key definition.

object
column
required
Column
string
parent_table
required
Parent Table
string
parent_column
required
Parent Column
string
sql
Any of:
string
rename_columns
Any of:
object
key
additional properties
string
transform_columns
Any of:
object
key
additional properties
Any of:
string
filters
Any of:
Array<object>
FilterCondition

Filter condition for WHERE clause.

object
column
required
Column
string
operator
required
Operator
string
Allowed values: = != <> > < >= <= IN NOT IN LIKE NOT LIKE IS NULL IS NOT NULL
value
Any of:
string
load_options
Any of:
LoadOptions

Load options for declarative ETL.

object
truncate
Truncate
boolean
merge
Merge
boolean
dedup_columns
Any of:
Array<string>
dedup_order_by
Any of:
string
audit_columns
Any of:
object
key
additional properties
string
cluster_by
Any of:
Array<string>
table_properties
Any of:
object
key
additional properties
string
warehouse
Any of:
string
requested_by
required
Requested By
string

Successful Response

Media typeapplication/json
CodegenResponse

Standard response for all codegen endpoints.

object
status
Status
string
default: success
Allowed values: success error
artifacts
required
Artifacts
Array<object>
ArtifactOutput

Standard artifact output format.

object
path
required
Path
string
content
required
Content
string
file_type
Any of:
string
is_base64
Is Base64
boolean
metadata
Any of:
object
key
additional properties
any
errors
Errors
Array<string>
Example
{
"status": "success",
"artifacts": [
{
"is_base64": false
}
]
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
Examplegenerated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
]
}