Update Source
PUT/api/v1/sources/:name
Update a source from a flat revision body.
Before the first deploy, edits update the working version in place. After deploy, a new
major version is created only when current equals deployed_version and a
table-shaping field changes: schema pins (meta_schema, meta_schema_version,
derived_schema, additional_fields), ttl_days, engine, common-header
type/version, views, or transform. Draft versions (current not deployed)
update in place.
Origin (receiver vs fetcher) cannot change, and a pinned meta_schema cannot be
cleared: once a source owns its own table it cannot move back onto main.
A field the body omits keeps its stored value (header, schema, views,
transform, transport, archive, aliases, compat_profiles), and
null, [] or false clears it. compat_profiles: null returns the source
to the deployment's profiles.
A schema pin naming nothing is accepted here so a source can be written before
its schema, while /sources/import refuses one because an exported bundle
brings every schema it pins.
Request
Responses
- 200
- 401
- 403
- 409
- 422
- default
Successful Response
No valid session: the credentials are missing, invalid or expired, or the account behind them is disabled or blocked
Refused: the session lacks the action this route checks, or its account must replace an issued password first. A SCIM route answers a refused action in the RFC 7644 error envelope
Receiver match duplicates another enabled source (code match_conflict), an alias is another source's under the same profile (code alias_conflict), or the source is engine-owned and no write path may change it (code conflict)
Refused, nothing written. The body failed validation (code validation_error), or the receiver would refuse the source's rule (code invalid_rule): rule_errors names each field at fault and, for when, the span the check stopped at
Problem details (RFC 9457)