Skip to content

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

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": [
  
  
]
  
}
}

Playground

Server
Authorization
Body

Samples

Powered by VitePress OpenAPI

Part of the MITRE Security Automation Framework (SAF)