Skip to main content
POST
`POST /orgs/{org_id}/connectors/{connector_id}/jobs`

Authorizations

Authorization
string
header
required

Timbal API key. Obtain your API key from the Timbal platform settings. See Authentication for more information.

Path Parameters

org_id
string
required
connector_id
string
required

Body

application/json
dest_table
string
required

Destination table inside the KB.

kb_id
integer<int64>
required

Target KB (numeric id, same as the /k2 routes).

source
object
required

The source half of a dispatch, tagged by kind. Each variant maps to a SourceSpec and gates on the connector advertising the matching source:<kind> capability. Request shape: "source": { "kind": "sql_server", "connection_ref": "...", "table": "...", "cursor_column": "..." }.

batch_rows
integer<int32> | null

Target rows per batch. Defaults to 5000.

Required range: x >= 0
cursor
object | null

Resume checkpoint; omit for a full initial extract.

key_columns
string[] | null

Ordered destination PRIMARY KEY columns. Omit for a keyless table. Honored when the run builds the table (create/replace). Key columns are auto-added to a source.columns subset, so they only need to exist on the source table. Source these from the browse columns' pk_position for a faithful copy of the source key.

mode
string | null

create | append | replace | upsert. Defaults to create. upsert merges each batch on key_columns (rows with an existing key are overwritten, new keys inserted); requires non-empty key_columns. If the destination table doesn't exist yet, the first upsert builds it keyed.

pacing
null | object

Optional load-shaping for gentle extraction against busy source systems. Omit for no throttle.

placement
string | null

Where the KB's data lives: hosted (control-plane KB, the default) or local (a KB runtime inside the connector's environment — requires the connector to advertise the kb:local capability).

Response

Job accepted and dispatched

job_id
string
required