Appearance
Concur with a relocation proposal — land the requirement
POST
/requirement_relocations/{id}/accept
Receiver-side adjudication (displayed as Concur): acceptance and landing are ONE transaction — creates the requirement in the destination component with content and core lineage carried over, tombstones the source row, and stamps the record executed with the accepting actor — atomically, or not at all. Requires author role on the DESTINATION component only; the proposal itself carries source consent. Audited. Adjudicated proposals (declined or executed) answer 404 like a record that never existed.
Authorizations
cookieAuth
Type
API Key (cookie: _vulcan_session)
or
tokenAuth
Personal access token authentication. Send via Authorization header: Authorization: Token vulcan_xxx. Tokens are SHA-256 hashed server-side (never stored in plaintext). Scopes: read (GET), write (mutations), admin (everything). Create tokens via Settings → API Tokens in the web UI.
Type
HTTP (token)
Request Body
application/json
JSON "target_component_id": 42
{
}
Responses
Proposal concurred with and requirement landed
application/json
JSON "toast": { "title": "Concurred.", "message": [ "Moved to Container Platform SRG — the source requirement is now history." ], "variant": "success" }, "landed_rule_id": 5137
{
}