Create Sources From Catalogue
POST/api/v1/sources/from-catalogue
Create a source for each catalogue entry, on the intake it arrives by.
Each entry's file is the write body for its default intake, and another intake swaps in the match rule that intake derives. A variant the deployed transform's contract does not list is refused for that entry, and one whose contract is not mounted is allowed. The source records the catalogue entry and the intake that was selected, and a later edit leaves both in place.
At most 50 entries. A longer or empty selection is refused before anything is
stored, as {code, message}. Entries are stored in the order given. One
entry's refusal is recorded in failed and the rest continue. The response
is 200 when any entry was refused for a reason other than a conflict, including
when nothing was stored. Nothing stored is 409 when every refusal is a conflict
or a missing variant. The apps are reconciled once, after the entries that
could be stored.
Request
Responses
- 200
- 201
- 202
- 401
- 403
- 409
- 422
- default
The request was accepted. created is what was stored and failed names each entry that was not, including when every entry was refused
Successful Response
The entries in created were stored, and the apps were not brought into step with them: apps_sync_error says why, and POST /sources/reconcile-apps retries it
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
Nothing was stored. Every entry was refused because it conflicts with a source that already exists, with the core landing, with another source's match, or with another source's alias under the same profile, or because the deployed transform does not ship its variant (code missing_variant)
The request failed before any source could be written. The body is {code, message}: the selection is longer than 50, empty, or not a valid request
Problem details (RFC 9457)