Create Source
POST/api/v1/sources
Create a new source from a flat source definition (initial version 1.0.0).
header is optional: when omitted, no common-header profile is stored on the
version (DDL compose uses meta/derived columns only until a header is set).
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.
201 when the apps follow the new source, 202 when the source is stored and the
reconcile that brings the apps into step with it did not complete, or when
production+team sent it to review (review_required).
Request
Responses
- 201
- 202
- 401
- 403
- 409
- 422
- default
Successful Response
The source was stored and the apps were not brought into step with it: apps_sync_error says why, and POST /sources/reconcile-apps retries it. Or, with review_required, the source awaits review on a branch and main does not carry it yet
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
Source name already exists (code conflict), the name is the core landing the engine owns and reconciles itself (code conflict), receiver match duplicates another enabled source (code match_conflict), or an alias is another source's under the same profile (code alias_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)