API Reference
Frank exposes a FastAPI API under /api/v1. The interactive OpenAPI UI is available at /docs when the API is running.
Local default:
text
http://localhost:8002/docsHealth and platform status
http
GET /health
GET /api/v1/status
GET /api/v1/services/health
GET /api/v1/metricsUse these for readiness checks, service health, and metrics.
Sources
http
POST /api/v1/sources/discover
GET /api/v1/sources/discover/status/{workflow_id}
GET /api/v1/sources
POST /api/v1/sources
GET /api/v1/sources/{source_id}
PATCH /api/v1/sources/{source_id}
DELETE /api/v1/sources/{source_id}
POST /api/v1/sources/{source_id}/sync
GET /api/v1/sources/{source_id}/sync/status
GET /api/v1/sources/{source_id}/streams
POST /api/v1/sources/{source_id}/streams
PATCH /api/v1/sources/{source_id}/streams/{stream_id}
DELETE /api/v1/sources/{source_id}/streams/{stream_id}
POST /api/v1/sources/{source_id}/streams/bulk
POST /api/v1/sources/{source_id}/streams/refresh-schema
GET /api/v1/sources/{source_id}/sync-history
GET /api/v1/sources/{source_id}/sync-history/stats
GET /api/v1/sources/{source_id}/runs/{run_id}/logs
GET /api/v1/sources/{source_id}/runs/{run_id}/logs/download
GET /api/v1/sources/sync-runs/{sync_run_id}/streams
GET /api/v1/sources/sync-runs/{workflow_id}/detailsSource schedules
http
GET /api/v1/sources/{source_id}/schedule
PUT /api/v1/sources/{source_id}/schedule
POST /api/v1/sources/{source_id}/schedule/pause
POST /api/v1/sources/{source_id}/schedule/resume
POST /api/v1/sources/{source_id}/schedule/trigger
DELETE /api/v1/sources/{source_id}/schedule
GET /api/v1/schedulesSource patterns
http
GET /api/v1/patterns/discover
GET /api/v1/patterns/{pattern_id}External pattern lifecycle:
http
POST /api/v1/patterns/register
POST /api/v1/patterns/reconcileTransforms
http
GET /api/v1/transforms
GET /api/v1/transforms/{transform_id}
GET /api/v1/transforms/{transform_id}/detail
PATCH /api/v1/transforms/{transform_id}
DELETE /api/v1/transforms/{transform_id}
POST /api/v1/transforms/{transform_id}/hydrate
POST /api/v1/transforms/{transform_id}/execute
POST /api/v1/transforms/{transform_id}/materialize
GET /api/v1/transforms/{transform_id}/runs
GET /api/v1/transforms/{transform_id}/runs/{run_id}/execute is the low-level execution callback path. Product and CLI execution use the Dagster-backed materialization or schedule trigger paths.
Transform schedules
http
GET /api/v1/transforms/{transform_id}/schedule
PUT /api/v1/transforms/{transform_id}/schedule
POST /api/v1/transforms/{transform_id}/schedule/pause
POST /api/v1/transforms/{transform_id}/schedule/resume
POST /api/v1/transforms/{transform_id}/schedule/trigger
DELETE /api/v1/transforms/{transform_id}/schedule
GET /api/v1/transform-schedulesTransform patterns and SQL transforms
http
GET /api/v1/transform-patterns
GET /api/v1/transform-patterns/categories
GET /api/v1/transform-patterns/{pattern_id}
POST /api/v1/transform-patterns/{pattern_id}/validate
POST /api/v1/transform-patterns/{pattern_id}/preview
POST /api/v1/transform-patterns/synchttp
GET /api/v1/sql-transforms
GET /api/v1/sql-transforms/categories
GET /api/v1/sql-transforms/for-type/{sql_type}
GET /api/v1/sql-transforms/{transform_id}
POST /api/v1/sql-transforms/{transform_id}/apply
POST /api/v1/sql-transforms/syncArtifacts, runs, and logs
http
GET /api/v1/artifacts
GET /api/v1/artifacts/{artifact_id}
GET /api/v1/artifacts/{artifact_id}/content
GET /api/v1/artifacts/{artifact_id}/downloadhttp
POST /api/v1/runs
POST /api/v1/runs/{id}/start
POST /api/v1/runs/{id}/complete
POST /api/v1/runs/{id}/fail
POST /api/v1/runs/{id}/cancel
GET /api/v1/runs/{id}
GET /api/v1/runshttp
GET /api/v1/transform-runs
GET /api/v1/transform-runs/{run_id}
GET /api/v1/transform-runs/{run_id}/logs
POST /api/v1/transform-runs/{run_id}/cancelPipelines
http
POST /api/v1/pipelines
GET /api/v1/pipelines
GET /api/v1/pipelines/{pipeline_id}
PUT /api/v1/pipelines/{pipeline_id}
PATCH /api/v1/pipelines/{pipeline_id}/steps/{step_id}
DELETE /api/v1/pipelines/{pipeline_id}
POST /api/v1/pipelines/validate-dag
POST /api/v1/pipelines/{pipeline_id}/versions
POST /api/v1/pipelines/{pipeline_id}/activate
POST /api/v1/pipelines/{pipeline_id}/pause
POST /api/v1/pipelines/{pipeline_id}/sandbox
GET /api/v1/pipelines/{pipeline_id}/sandbox/{workflow_id}/status
GET /api/v1/pipelines/{pipeline_id}/runs
GET /api/v1/pipelines/available-transformsDatasets
http
GET /api/v1/datasets
GET /api/v1/datasets/{dataset_id}/preview
GET /api/v1/datasets/{dataset_id}/snapshots
GET /api/v1/datasets/{dataset_id}dataset_id is the dotted table identifier accepted by the route, for example silver.tenant_x.table_name.
AI
http
POST /api/v1/ai/suggest-target-schema
POST /api/v1/ai/suggest-field-mappings
POST /api/v1/ai/suggest-pattern-params
POST /api/v1/ai/review-sql
POST /api/v1/ai/generate-transform
POST /api/v1/ai/fix-ci-failure
POST /api/v1/ai/publish-transform
POST /api/v1/ai/compose-pipeline
GET /api/v1/ai/compose-pipeline/{execution_id}/statusSchema libraries and SDM registry
http
GET /api/v1/schema-libraries
GET /api/v1/schema-libraries/{library_id}/domains
GET /api/v1/schema-libraries/{library_id}/domains/{domain}/schemas
GET /api/v1/schema-libraries/{library_id}/schemas/{schema_id}
GET /api/v1/schema-libraries/schema/{full_id}
GET /api/v1/schema-libraries/search
POST /api/v1/schema-libraries/validate/{full_id}http
GET /api/v1/sdm
GET /api/v1/schemas/registry
POST /api/v1/schemas/registry/register
POST /api/v1/schemas/registry/bulk-register
POST /api/v1/schemas/registry/discover-and-register
POST /api/v1/schemas/registry/sync-catalog
POST /api/v1/schemas/registry/search
POST /api/v1/schemas/registry/validateOntology and backing datasets
http
GET /api/v1/ontology/status
GET /api/v1/ontology/entity-types
GET /api/v1/ontology/entity-types/domains
GET /api/v1/ontology/entity-types/{code}
POST /api/v1/ontology/entity-types
POST /api/v1/ontology/entity-types/{code}/versions
PATCH /api/v1/ontology/entity-types/{code}
DELETE /api/v1/ontology/entity-types/{code}
GET /api/v1/ontology/entity-types/{code}/versionshttp
POST /api/v1/backing-datasets/suggest-mappings
GET /api/v1/backing-datasets/pending-syncs
POST /api/v1/backing-datasets
GET /api/v1/backing-datasets
GET /api/v1/backing-datasets/{backing_dataset_id}
PATCH /api/v1/backing-datasets/{backing_dataset_id}
DELETE /api/v1/backing-datasets/{backing_dataset_id}
POST /api/v1/backing-datasets/{backing_dataset_id}/sync
GET /api/v1/backing-datasets/{backing_dataset_id}/sync-history
GET /api/v1/backing-datasets/{backing_dataset_id}/sync-history/{run_id}/logs
GET /api/v1/backing-datasets/{backing_dataset_id}/healthIdentity policies and users
http
GET /api/v1/identity-policies
GET /api/v1/identity-policies/{policy_id}
GET /api/v1/identity-policies/{policy_id}/versions
GET /api/v1/identity-policies/{policy_id}/versions/{version}
POST /api/v1/identity-policies
POST /api/v1/identity-policies/{policy_id}/clone
PUT /api/v1/identity-policies/{policy_id}
DELETE /api/v1/identity-policies/{policy_id}
POST /api/v1/identity-policies/{policy_id}/dry-runhttp
GET /api/v1/users
GET /api/v1/users/{sub}Temporal
http
GET /api/v1/temporal/health
GET /api/v1/temporal/health/detailed
GET /api/v1/temporal/config
GET /api/v1/temporal/metrics
GET /api/v1/temporal/workers
GET /api/v1/temporal/task-queues
POST /api/v1/temporal/workflows/schema-match
POST /api/v1/temporal/workflows/transform
POST /api/v1/temporal/workflows/pipeline
GET /api/v1/temporal/workflows/{workflow_id}
POST /api/v1/temporal/workflows/{workflow_id}/cancel
POST /api/v1/temporal/workflows/{workflow_id}/wait