Skip to content

Commit a new ingest sync config and dispatch a re-process

POST
/v1/datasets/{dataset_id}/sync-config
curl --request POST \
--url https://example.com/v1/datasets/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/sync-config \
--header 'Content-Type: application/json' \
--data '{ "ingest_toml": "example" }'

Corrective re-ingest (ADR 0012): commits meta/ingest.toml and re-runs MCAP ingest on the unchanged bags server-side, publishing the source’s next generation.

Returns once the work is ADMITTED — the config is validated here, so a receipt means the request was well-formed, but the ingest itself is minutes and is polled through /datasets/sync-status/{operation_id}.

dataset_id
required
string format: uuid
account_id

Act on this account (active)

string | null format: uuid

Act on this account (active)

x-api-key
string | null
Media type application/json
SyncConfigBody
object
ingest_toml
required
string
>= 1 characters <= 65536 characters
Example generated
{
"ingest_toml": "example"
}

Accepted (or a terminal no-op) — poll /sync-status

Media type application/json
SyncConfigAcceptedResponse

Receipt for a dispatched re-ingest.

ACCEPTED, not finished. The ingest re-encodes every camera clip whose episode boundary moved — minutes per episode — so it runs server-side and is polled through the sync-status route. no_op is the one terminal answer given here: an unchanged config has nothing to dispatch.

object
operation_id
required

Poll this through /sync-status

string
repo_id
required

Repository the re-ingest publishes to

string
no_op
required

Config was byte-identical to the published one; nothing ran

boolean
dataset_version_id

Current version — set only when no_op is true

string
""
generation

Set only when no_op is true

integer
0
Example
{
"dataset_version_id": "",
"generation": 0
}

Meta/ingest.toml is invalid

Unknown source, or outside the caller’s account

Validation Error

Media type application/json
HTTPValidationError
object
detail
Array<object>
ValidationError
object
loc
required
Location
Array<string | integer>
msg
required
Message
string
type
required
Error Type
string
input
ctx
Context
object
Example generated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}