Appearance
Create a new requirement in a component
POST
/components/{componentId}/rules
Creates a requirement in one call, shaped by the component's document_type — a STIG rule (seeded from the source SRG's CCI-000366 baseline row; severity and weight are inherited from it) or an authored SRG requirement. Content fields apply at creation: provided values win over seeded defaults, and provided nested attributes replace the built defaults. Duplicate mode copies an existing requirement of THIS component. Requirement numbers are server-owned and assigned from the component's sequence. Blank/content creation requires project admin; duplication requires author. Returns 422 when a STIG component's source SRG has no CCI-000366 baseline row, or when provided content fails the kind's validations.
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 "rule": { "duplicate": false }
{
}
Responses
Rule created
application/json
JSON "toast": { "title": "Control created.", "message": [ "Successfully created control." ], "variant": "success" }, "data": { "id": 5000, "rule_id": "000204", "title": "New container security requirement", "status": "Not Yet Determined", "locked": false, "satisfies": [ ], "satisfied_by": [ ] }
{
}