Created
March 1, 2024 10:01
-
-
Save himynamesdave/ef20ca4683b363fb0b6f055af298915a to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"openapi": "3.0.3", | |
"info": { | |
"title": "ATT&CK Workbench REST API", | |
"version": "1.0.0" | |
}, | |
"servers": [{ | |
"url": "{protocol}://{hostname}:{port}/", | |
"variables": { | |
"protocol": { | |
"default": "http" | |
}, | |
"hostname": { | |
"default": "localhost" | |
}, | |
"port": { | |
"default": "3000" | |
} | |
} | |
}], | |
"tags": [{ | |
"name": "ATT&CK Objects", | |
"description": "Operations on all ATT&CK objects" | |
}, | |
{ | |
"name": "Techniques", | |
"description": "Operations on techniques" | |
}, | |
{ | |
"name": "Tactics", | |
"description": "Operations on tactics" | |
}, | |
{ | |
"name": "Groups", | |
"description": "Operations on groups" | |
}, | |
{ | |
"name": "Software", | |
"description": "Operations on software (tools and malware)" | |
}, | |
{ | |
"name": "Mitigations", | |
"description": "Operations on mitigations" | |
}, | |
{ | |
"name": "Matrices", | |
"description": "Operations on matrices" | |
}, | |
{ | |
"name": "Identities", | |
"description": "Operations on identities" | |
}, | |
{ | |
"name": "Marking Definitions", | |
"description": "Operations on marking definitions" | |
}, | |
{ | |
"name": "Data Sources", | |
"description": "Operations on data sources" | |
}, | |
{ | |
"name": "Data Components", | |
"description": "Operations on data components" | |
}, | |
{ | |
"name": "Relationships", | |
"description": "Operations on relationships" | |
}, | |
{ | |
"name": "Notes", | |
"description": "Operations on notes" | |
}, | |
{ | |
"name": "References", | |
"description": "Operations on references" | |
}, | |
{ | |
"name": "Collection Indexes", | |
"description": "Operations on collection indexes" | |
}, | |
{ | |
"name": "Collections", | |
"description": "Operations on collections" | |
}, | |
{ | |
"name": "Collection Bundles", | |
"description": "Operations on collection bundles" | |
}, | |
{ | |
"name": "STIX Bundles", | |
"description": "Operations on STIX bundles" | |
}, | |
{ | |
"name": "System Configuration", | |
"description": "Operations on the system configuration" | |
} | |
], | |
"paths": { | |
"/api/attack-objects": { | |
"get": { | |
"summary": "Get a list of all ATT&CK objects", | |
"operationId": "attack-object-get-all", | |
"description": "This endpoint gets a list of all ATT&CK objects from the workspace.\nThe list of objects may include multiple versions of each ATT&CK object.\n", | |
"tags": [ | |
"ATT&CK Objects" | |
], | |
"parameters": [{ | |
"name": "attackId", | |
"in": "query", | |
"description": "The ATT&CK ID of the object to retrieve.\nReturns all objects where the last version of the object matches the requested ATT&CK ID.\n", | |
"schema": { | |
"type": "string" | |
}, | |
"example": "T9999" | |
}, | |
{ | |
"name": "limit", | |
"in": "query", | |
"description": "The number of objects to retrieve.\nThe default (0) will retrieve all objects.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "offset", | |
"in": "query", | |
"description": "The number of objects to skip.\nThe default (0) will start with the first object.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "state", | |
"in": "query", | |
"description": "State of the object in the editing workflow.\nIf this parameter is not set, objects will be retrieved regardless of state.\nThis parameter may be set multiple times to retrieve objects with any of the provided states.\n", | |
"schema": { | |
"oneOf": [{ | |
"type": "string" | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
} | |
] | |
}, | |
"example": "work-in-progress" | |
}, | |
{ | |
"name": "includeRevoked", | |
"in": "query", | |
"description": "Whether to include objects that have the `revoked` property set to true.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
{ | |
"name": "includeDeprecated", | |
"in": "query", | |
"description": "Whether to include objects that have the `x_mitre_deprecated` property set to true.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
{ | |
"name": "search", | |
"in": "query", | |
"description": "Only return ATT&CK objects where the provided search text occurs in the `name` or `description`.\nThe search is case-insensitive.\n", | |
"schema": { | |
"type": "string" | |
}, | |
"example": "windows" | |
}, | |
{ | |
"name": "includePagination", | |
"in": "query", | |
"description": "Whether to include pagination data in the returned value.\nWraps returned objects in a larger object.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of ATT&CK Objects.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"anyOf": [{ | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"imported": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"import_categories": { | |
"type": "object", | |
"properties": { | |
"additions": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"changes": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"minor_changes": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"revocations": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"deprecations": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"supersedes_user_edits": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"supersedes_collection_changes": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"duplicates": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"out_of_date": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"errors": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"object_ref": { | |
"type": "string" | |
}, | |
"object_modified": { | |
"type": "string" | |
}, | |
"error_type": { | |
"type": "string" | |
}, | |
"error_message": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"object_ref", | |
"error_type" | |
] | |
} | |
} | |
} | |
}, | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
}, | |
"release": { | |
"type": "boolean" | |
} | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Enterprise ATT&CK" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_contents": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"object_ref": { | |
"type": "string" | |
}, | |
"object_modified": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"object_ref", | |
"object_modified" | |
] | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "APT29" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is an intrusion set (group)" | |
}, | |
"aliases": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "The MITRE Corporation" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is an identity" | |
}, | |
"roles": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"identity_class": { | |
"type": "string", | |
"example": "organization" | |
}, | |
"sectors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"contact_information": { | |
"type": "string" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"pattern": "marking-definition" | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "marking-definition--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
}, | |
"definition_type": { | |
"type": "string", | |
"example": "statement" | |
}, | |
"definition": { | |
"type": "object", | |
"properties": { | |
"statement": { | |
"type": "string" | |
} | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Mobile ATT&CK" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a matrix" | |
}, | |
"tactic_refs": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Compiled HTML File Mitigation" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a course of action (mitigation)." | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"relationship_type", | |
"source_ref", | |
"target_ref" | |
], | |
"properties": { | |
"description": { | |
"type": "string", | |
"example": "This is a relationship" | |
}, | |
"relationship_type": { | |
"type": "string", | |
"example": "uses" | |
}, | |
"source_ref": { | |
"type": "string" | |
}, | |
"target_ref": { | |
"type": "string" | |
}, | |
"start_time": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"stop_time": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Net" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a software" | |
}, | |
"is_family": { | |
"type": "boolean" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_aliases": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
}, | |
"x_mitre_platforms": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Windows" | |
} | |
} | |
} | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Collection" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a tactic." | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "AppInit DLLs" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"kill_chain_phases": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"kill_chain_name": { | |
"type": "string" | |
}, | |
"phase_name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"kill_chain_name", | |
"phase_name" | |
] | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_data_sources": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_detection": { | |
"type": "string" | |
}, | |
"x_mitre_effective_permissions": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Administrator" | |
} | |
}, | |
"x_mitre_permissions_required": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Administrator" | |
} | |
}, | |
"x_mitre_platforms": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Windows" | |
} | |
}, | |
"x_mitre_impact_type": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Availability" | |
} | |
}, | |
"x_mitre_subtechnique": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_system_requirements": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/api/techniques": { | |
"get": { | |
"summary": "Get a list of techniques", | |
"operationId": "technique-get-all", | |
"description": "This endpoint retrieves a list of techniques from the workspace.\nIf there are multiple versions of a technique, only the latest version (based on the `modified` property) will be returned.\nIn addition, the `state`, `includeRevoked`, and `includeDeprecated` filters are only applied to the latest version of a technique.\n", | |
"tags": [ | |
"Techniques" | |
], | |
"parameters": [{ | |
"name": "limit", | |
"in": "query", | |
"description": "The number of techniques to retrieve.\nThe default (0) will retrieve all techniques.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "offset", | |
"in": "query", | |
"description": "The number of techniques to skip.\nThe default (0) will start with the first technique.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "state", | |
"in": "query", | |
"description": "State of the object in the editing workflow.\nIf this parameter is not set, objects will be retrieved regardless of state.\nThis parameter may be set multiple times to retrieve objects with any of the provided states.\n", | |
"schema": { | |
"oneOf": [{ | |
"type": "string" | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
} | |
] | |
}, | |
"example": "work-in-progress" | |
}, | |
{ | |
"name": "includeRevoked", | |
"in": "query", | |
"description": "Whether to include objects that have the `revoked` property set to true.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
{ | |
"name": "includeDeprecated", | |
"in": "query", | |
"description": "Whether to include objects that have the `x_mitre_deprecated` property set to true.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
{ | |
"name": "search", | |
"in": "query", | |
"description": "Only return objects where the provided search text occurs in the `name` or `description`.\nThe search is case-insensitive.\n", | |
"schema": { | |
"type": "string" | |
}, | |
"example": "windows" | |
}, | |
{ | |
"name": "includePagination", | |
"in": "query", | |
"description": "Whether to include pagination data in the returned value.\nWraps returned objects in a larger object.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of techniques.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "AppInit DLLs" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"kill_chain_phases": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"kill_chain_name": { | |
"type": "string" | |
}, | |
"phase_name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"kill_chain_name", | |
"phase_name" | |
] | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_data_sources": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_detection": { | |
"type": "string" | |
}, | |
"x_mitre_effective_permissions": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Administrator" | |
} | |
}, | |
"x_mitre_permissions_required": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Administrator" | |
} | |
}, | |
"x_mitre_platforms": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Windows" | |
} | |
}, | |
"x_mitre_impact_type": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Availability" | |
} | |
}, | |
"x_mitre_subtechnique": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_system_requirements": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"post": { | |
"summary": "Create a technique", | |
"operationId": "technique-create", | |
"description": "This endpoint creates a new technique in the workspace.\nIf the `stix.id` property is set, it creates a new version of an existing technique.\nIf the `stix.id` property is not set, it creates a new technique, generating a STIX id for it.\n", | |
"tags": [ | |
"Techniques" | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "AppInit DLLs" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"kill_chain_phases": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"kill_chain_name": { | |
"type": "string" | |
}, | |
"phase_name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"kill_chain_name", | |
"phase_name" | |
] | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_data_sources": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_detection": { | |
"type": "string" | |
}, | |
"x_mitre_effective_permissions": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Administrator" | |
} | |
}, | |
"x_mitre_permissions_required": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Administrator" | |
} | |
}, | |
"x_mitre_platforms": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Windows" | |
} | |
}, | |
"x_mitre_impact_type": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Availability" | |
} | |
}, | |
"x_mitre_subtechnique": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_system_requirements": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"201": { | |
"description": "The technique has been successfully created.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "AppInit DLLs" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"kill_chain_phases": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"kill_chain_name": { | |
"type": "string" | |
}, | |
"phase_name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"kill_chain_name", | |
"phase_name" | |
] | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_data_sources": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_detection": { | |
"type": "string" | |
}, | |
"x_mitre_effective_permissions": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Administrator" | |
} | |
}, | |
"x_mitre_permissions_required": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Administrator" | |
} | |
}, | |
"x_mitre_platforms": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Windows" | |
} | |
}, | |
"x_mitre_impact_type": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Availability" | |
} | |
}, | |
"x_mitre_subtechnique": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_system_requirements": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The technique was not created." | |
}, | |
"409": { | |
"description": "Duplicate `stix.id` and `stix.modified` properties. The technique was not created." | |
} | |
} | |
} | |
}, | |
"/api/techniques/{stixId}": { | |
"get": { | |
"summary": "Get one or more versions of a technique", | |
"operationId": "technique-get-one-id", | |
"description": "This endpoint gets a list of one or more versions of a technique from the workspace, identified by their STIX id.\n", | |
"tags": [ | |
"Techniques" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the technique to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "versions", | |
"in": "query", | |
"description": "The versions of the technique to retrieve.\n`all` gets all versions of the technique, `latest` gets only the latest version.\n", | |
"schema": { | |
"type": "string", | |
"enum": [ | |
"all", | |
"latest" | |
], | |
"default": "latest" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of techniques matching the requested STIX id.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "AppInit DLLs" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"kill_chain_phases": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"kill_chain_name": { | |
"type": "string" | |
}, | |
"phase_name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"kill_chain_name", | |
"phase_name" | |
] | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_data_sources": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_detection": { | |
"type": "string" | |
}, | |
"x_mitre_effective_permissions": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Administrator" | |
} | |
}, | |
"x_mitre_permissions_required": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Administrator" | |
} | |
}, | |
"x_mitre_platforms": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Windows" | |
} | |
}, | |
"x_mitre_impact_type": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Availability" | |
} | |
}, | |
"x_mitre_subtechnique": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_system_requirements": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "A technique with the requested STIX id was not found." | |
} | |
} | |
} | |
}, | |
"/api/techniques/{stixId}/modified/{modified}": { | |
"get": { | |
"summary": "Gets the version of a technique matching the STIX id and modified date", | |
"operationId": "technique-get-by-id-and-modified", | |
"description": "This endpoint gets a single version of a technique from the workspace, identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Techniques" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the technique to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the technique to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "The version of a technique matching the STIX id and modified date.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "AppInit DLLs" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"kill_chain_phases": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"kill_chain_name": { | |
"type": "string" | |
}, | |
"phase_name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"kill_chain_name", | |
"phase_name" | |
] | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_data_sources": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_detection": { | |
"type": "string" | |
}, | |
"x_mitre_effective_permissions": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Administrator" | |
} | |
}, | |
"x_mitre_permissions_required": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Administrator" | |
} | |
}, | |
"x_mitre_platforms": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Windows" | |
} | |
}, | |
"x_mitre_impact_type": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Availability" | |
} | |
}, | |
"x_mitre_subtechnique": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_system_requirements": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "A technique with the requested STIX id and modified date was not found." | |
} | |
} | |
}, | |
"put": { | |
"summary": "Update a technique", | |
"operationId": "technique-update", | |
"description": "This endpoint updates a single version of a technique in the workspace, identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Techniques" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the technique to update", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the technique to update", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "AppInit DLLs" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"kill_chain_phases": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"kill_chain_name": { | |
"type": "string" | |
}, | |
"phase_name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"kill_chain_name", | |
"phase_name" | |
] | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_data_sources": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_detection": { | |
"type": "string" | |
}, | |
"x_mitre_effective_permissions": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Administrator" | |
} | |
}, | |
"x_mitre_permissions_required": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Administrator" | |
} | |
}, | |
"x_mitre_platforms": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Windows" | |
} | |
}, | |
"x_mitre_impact_type": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Availability" | |
} | |
}, | |
"x_mitre_subtechnique": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_system_requirements": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"200": { | |
"description": "The technique was updated.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "AppInit DLLs" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"kill_chain_phases": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"kill_chain_name": { | |
"type": "string" | |
}, | |
"phase_name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"kill_chain_name", | |
"phase_name" | |
] | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_data_sources": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_detection": { | |
"type": "string" | |
}, | |
"x_mitre_effective_permissions": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Administrator" | |
} | |
}, | |
"x_mitre_permissions_required": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Administrator" | |
} | |
}, | |
"x_mitre_platforms": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Windows" | |
} | |
}, | |
"x_mitre_impact_type": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Availability" | |
} | |
}, | |
"x_mitre_subtechnique": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_system_requirements": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The technique was not updated." | |
}, | |
"404": { | |
"description": "A technique with the requested STIX id and modified date was not found." | |
} | |
} | |
}, | |
"delete": { | |
"summary": "Delete a technique", | |
"operationId": "technique-delete", | |
"description": "This endpoint deletes a single version of a technique from the workspace.\nThe technique is identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Techniques" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the technique to delete", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the technique to delete", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"responses": { | |
"204": { | |
"description": "The technique was successfully deleted." | |
}, | |
"404": { | |
"description": "A technique with the requested STIX id and modified date was not found." | |
} | |
} | |
} | |
}, | |
"/api/tactics": { | |
"get": { | |
"summary": "Get a list of tactics", | |
"operationId": "tactic-get-all", | |
"description": "This endpoint gets a list of tactics from the workspace.\nThe list of tactics may include multiple versions of each tactic.\n", | |
"tags": [ | |
"Tactics" | |
], | |
"parameters": [{ | |
"name": "limit", | |
"in": "query", | |
"description": "The number of tactics to retrieve.\nThe default (0) will retrieve all tactics.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "offset", | |
"in": "query", | |
"description": "The number of tactics to skip.\nThe default (0) will start with the first tactic.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "state", | |
"in": "query", | |
"description": "State of the object in the editing workflow.\nIf this parameter is not set, objects will be retrieved regardless of state.\nThis parameter may be set multiple times to retrieve objects with any of the provided states.\n", | |
"schema": { | |
"oneOf": [{ | |
"type": "string" | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
} | |
] | |
}, | |
"example": "work-in-progress" | |
}, | |
{ | |
"name": "includeRevoked", | |
"in": "query", | |
"description": "Whether to include objects that have the `revoked` property set to true.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
{ | |
"name": "includeDeprecated", | |
"in": "query", | |
"description": "Whether to include objects that have the `x_mitre_deprecated` property set to true.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
{ | |
"name": "search", | |
"in": "query", | |
"description": "Only return objects where the provided search text occurs in the `name` or `description`.\nThe search is case-insensitive.\n", | |
"schema": { | |
"type": "string" | |
}, | |
"example": "windows" | |
}, | |
{ | |
"name": "includePagination", | |
"in": "query", | |
"description": "Whether to include pagination data in the returned value.\nWraps returned objects in a larger object.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of tactics.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Collection" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a tactic." | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"post": { | |
"summary": "Create a tactic", | |
"operationId": "tactic-create", | |
"description": "This endpoint creates a new tactic in the workspace.\nIf the `stix.id` property is set, it creates a new version of an existing tactic.\nIf the `stix.id` property is not set, it creates a new tactic, generating a STIX id for it.\n", | |
"tags": [ | |
"Tactics" | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Collection" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a tactic." | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"201": { | |
"description": "The tactic has been successfully created.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Collection" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a tactic." | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The tactic was not created." | |
}, | |
"409": { | |
"description": "Duplicate `stix.id` and `stix.modified` properties. The tactic was not created." | |
} | |
} | |
} | |
}, | |
"/api/tactics/{stixId}": { | |
"get": { | |
"summary": "Get one or more versions of a tactic", | |
"operationId": "tactic-get-one-id", | |
"description": "This endpoint gets a list of one or more versions of a tactic from the workspace, identified by their STIX id.\n", | |
"tags": [ | |
"Tactics" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the tactic to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "versions", | |
"in": "query", | |
"description": "The versions of the tactic to retrieve.\n`all` gets all versions of the tactic, `latest` gets only the latest version.\n", | |
"schema": { | |
"type": "string", | |
"enum": [ | |
"all", | |
"latest" | |
], | |
"default": "latest" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of tactics matching the requested STIX id.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Collection" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a tactic." | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "A tactic with the requested STIX id was not found." | |
} | |
} | |
} | |
}, | |
"/api/tactics/{stixId}/modified/{modified}": { | |
"get": { | |
"summary": "Gets the version of a tactic matching the STIX id and modified date", | |
"operationId": "tactic-get-by-id-and-modified", | |
"description": "This endpoint gets a single version of a tactic from the workspace, identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Tactics" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the tactic to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the tactic to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "The version of a tactic matching the STIX id and modified date.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Collection" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a tactic." | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "A tactic with the requested STIX id and modified date was not found." | |
} | |
} | |
}, | |
"put": { | |
"summary": "Update a tactic", | |
"operationId": "tactic-update", | |
"description": "This endpoint updates a single version of a tactic in the workspace, identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Tactics" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the tactic to update", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the tactic to update", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Collection" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a tactic." | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"200": { | |
"description": "The tactic was updated.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Collection" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a tactic." | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The tactic was not updated." | |
}, | |
"404": { | |
"description": "A tactic with the requested STIX id and modified date was not found." | |
} | |
} | |
}, | |
"delete": { | |
"summary": "Delete a tactic", | |
"operationId": "tactic-delete", | |
"description": "This endpoint deletes a single version of a tactic from the workspace.\nThe tactic is identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Tactics" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the tactic to delete", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the tactic to delete", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"responses": { | |
"204": { | |
"description": "The tactic was successfully deleted." | |
}, | |
"404": { | |
"description": "A tactic with the requested STIX id and modified date was not found." | |
} | |
} | |
} | |
}, | |
"/api/groups": { | |
"get": { | |
"summary": "Get a list of groups", | |
"operationId": "group-get-all", | |
"description": "This endpoint gets a list of groups from the workspace.\nThe list of groups may include multiple versions of each group.\n", | |
"tags": [ | |
"Groups" | |
], | |
"parameters": [{ | |
"name": "limit", | |
"in": "query", | |
"description": "The number of groups to retrieve.\nThe default (0) will retrieve all groups.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "offset", | |
"in": "query", | |
"description": "The number of groups to skip.\nThe default (0) will start with the first group.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "state", | |
"in": "query", | |
"description": "State of the object in the editing workflow.\nIf this parameter is not set, objects will be retrieved regardless of state.\nThis parameter may be set multiple times to retrieve objects with any of the provided states.\n", | |
"schema": { | |
"oneOf": [{ | |
"type": "string" | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
} | |
] | |
}, | |
"example": "work-in-progress" | |
}, | |
{ | |
"name": "includeRevoked", | |
"in": "query", | |
"description": "Whether to include objects that have the `revoked` property set to true.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
{ | |
"name": "includeDeprecated", | |
"in": "query", | |
"description": "Whether to include objects that have the `x_mitre_deprecated` property set to true.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
{ | |
"name": "search", | |
"in": "query", | |
"description": "Only return objects where the provided search text occurs in the `name` or `description`.\nThe search is case-insensitive.\n", | |
"schema": { | |
"type": "string" | |
}, | |
"example": "windows" | |
}, | |
{ | |
"name": "includePagination", | |
"in": "query", | |
"description": "Whether to include pagination data in the returned value.\nWraps returned objects in a larger object.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of groups.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "APT29" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is an intrusion set (group)" | |
}, | |
"aliases": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"post": { | |
"summary": "Create a group", | |
"operationId": "group-create", | |
"description": "This endpoint creates a new group in the workspace.\nIf the `stix.id` property is set, it creates a new version of an existing group.\nIf the `stix.id` property is not set, it creates a new group, generating a STIX id for it.\n", | |
"tags": [ | |
"Groups" | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "APT29" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is an intrusion set (group)" | |
}, | |
"aliases": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"201": { | |
"description": "The group has been successfully created.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "APT29" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is an intrusion set (group)" | |
}, | |
"aliases": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The group was not created." | |
}, | |
"409": { | |
"description": "Duplicate `stix.id` and `stix.modified` properties. The group was not created." | |
} | |
} | |
} | |
}, | |
"/api/groups/{stixId}": { | |
"get": { | |
"summary": "Get one or more versions of a group", | |
"operationId": "group-get-one-id", | |
"description": "This endpoint gets a list of one or more versions of a group from the workspace, identified by their STIX id.\n", | |
"tags": [ | |
"Groups" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the group to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "versions", | |
"in": "query", | |
"description": "The versions of the group to retrieve.\n`all` gets all versions of the group, `latest` gets only the latest version.\n", | |
"schema": { | |
"type": "string", | |
"enum": [ | |
"all", | |
"latest" | |
], | |
"default": "latest" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of groups matching the requested STIX id.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "APT29" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is an intrusion set (group)" | |
}, | |
"aliases": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "A group with the requested STIX id was not found." | |
} | |
} | |
} | |
}, | |
"/api/groups/{stixId}/modified/{modified}": { | |
"get": { | |
"summary": "Gets the version of a group matching the STIX id and modified date", | |
"operationId": "group-get-by-id-and-modified", | |
"description": "This endpoint gets a single version of a group from the workspace, identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Groups" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the group to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the group to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "The version of a group matching the STIX id and modified date.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "APT29" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is an intrusion set (group)" | |
}, | |
"aliases": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "A group with the requested STIX id and modified date was not found." | |
} | |
} | |
}, | |
"put": { | |
"summary": "Update a group", | |
"operationId": "group-update", | |
"description": "This endpoint updates a single version of a group in the workspace, identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Groups" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the group to update", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the group to update", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "APT29" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is an intrusion set (group)" | |
}, | |
"aliases": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"200": { | |
"description": "The group was updated.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "APT29" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is an intrusion set (group)" | |
}, | |
"aliases": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The group was not updated." | |
}, | |
"404": { | |
"description": "A group with the requested STIX id and modified date was not found." | |
} | |
} | |
}, | |
"delete": { | |
"summary": "Delete a group", | |
"operationId": "group-delete", | |
"description": "This endpoint deletes a single version of a group from the workspace.\nThe group is identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Groups" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the group to delete", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the group to delete", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"responses": { | |
"204": { | |
"description": "The group was successfully deleted." | |
}, | |
"404": { | |
"description": "A group with the requested STIX id and modified date was not found." | |
} | |
} | |
} | |
}, | |
"/api/matrices": { | |
"get": { | |
"summary": "Get a list of matrices", | |
"operationId": "matrix-get-all", | |
"description": "This endpoint retrieves a list of matrices from the workspace.\nIf there are multiple versions of a matrix, only the latest version (based on the `modified` property) will be returned.\nIn addition, the `state`, `includeRevoked`, and `includeDeprecated` filters are only applied to the latest version of a matrix.\n", | |
"tags": [ | |
"Matrices" | |
], | |
"parameters": [{ | |
"name": "limit", | |
"in": "query", | |
"description": "The number of matrices to retrieve.\nThe default (0) will retrieve all matrices.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "offset", | |
"in": "query", | |
"description": "The number of matrices to skip.\nThe default (0) will start with the first matrix.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "state", | |
"in": "query", | |
"description": "State of the object in the editing workflow.\nIf this parameter is not set, objects will be retrieved regardless of state.\nThis parameter may be set multiple times to retrieve objects with any of the provided states.\n", | |
"schema": { | |
"oneOf": [{ | |
"type": "string" | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
} | |
] | |
}, | |
"example": "work-in-progress" | |
}, | |
{ | |
"name": "includeRevoked", | |
"in": "query", | |
"description": "Whether to include objects that have the `revoked` property set to true.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
{ | |
"name": "includeDeprecated", | |
"in": "query", | |
"description": "Whether to include objects that have the `x_mitre_deprecated` property set to true.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
{ | |
"name": "search", | |
"in": "query", | |
"description": "Only return ATT&CK objects where the provided search text occurs in the `name` or `description`.\nThe search is case-insensitive.\n", | |
"schema": { | |
"type": "string" | |
}, | |
"example": "windows" | |
}, | |
{ | |
"name": "includePagination", | |
"in": "query", | |
"description": "Whether to include pagination data in the returned value.\nWraps returned objects in a larger object.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of matrices.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Mobile ATT&CK" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a matrix" | |
}, | |
"tactic_refs": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"post": { | |
"summary": "Create a matrix", | |
"operationId": "matrix-create", | |
"description": "This endpoint creates a new matrix in the workspace.\nIf the `stix.id` property is set, it creates a new version of an existing matrix.\nIf the `stix.id` property is not set, it creates a new matrix, generating a STIX id for it.\n", | |
"tags": [ | |
"Matrices" | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Mobile ATT&CK" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a matrix" | |
}, | |
"tactic_refs": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"201": { | |
"description": "The matrix has been successfully created.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Mobile ATT&CK" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a matrix" | |
}, | |
"tactic_refs": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The matrix was not created." | |
}, | |
"409": { | |
"description": "Duplicate `stix.id` and `stix.modified` properties. The matrix was not created." | |
} | |
} | |
} | |
}, | |
"/api/matrices/{stixId}": { | |
"get": { | |
"summary": "Get one or more versions of a matrix", | |
"operationId": "matrix-get-one-id", | |
"description": "This endpoint gets a list of one or more versions of a matrix from the workspace, identified by their STIX id.\n", | |
"tags": [ | |
"Matrices" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the matrix to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "versions", | |
"in": "query", | |
"description": "The versions of the matrix to retrieve.\n`all` gets all versions of the matrix, `latest` gets only the latest version.\n", | |
"schema": { | |
"type": "string", | |
"enum": [ | |
"all", | |
"latest" | |
], | |
"default": "latest" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of matrices matching the requested STIX id.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Mobile ATT&CK" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a matrix" | |
}, | |
"tactic_refs": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "A matrix with the requested STIX id was not found." | |
} | |
} | |
} | |
}, | |
"/api/matrices/{stixId}/modified/{modified}": { | |
"get": { | |
"summary": "Gets the version of a matrix matching the STIX id and modified date", | |
"operationId": "matrix-get-by-id-and-modified", | |
"description": "This endpoint gets a single version of a matrix from the workspace, identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Matrices" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the matrix to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the matrix to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "The version of a matrix matching the STIX id and modified date.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Mobile ATT&CK" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a matrix" | |
}, | |
"tactic_refs": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "A matrix with the requested STIX id and modified date was not found." | |
} | |
} | |
}, | |
"put": { | |
"summary": "Update a matrix", | |
"operationId": "matrix-update", | |
"description": "This endpoint updates a single version of a matrix in the workspace, identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Matrices" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the matrix to update", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the matrix to update", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Mobile ATT&CK" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a matrix" | |
}, | |
"tactic_refs": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"200": { | |
"description": "The matrix was updated.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Mobile ATT&CK" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a matrix" | |
}, | |
"tactic_refs": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The matrix was not updated." | |
}, | |
"404": { | |
"description": "A matrix with the requested STIX id and modified date was not found." | |
} | |
} | |
}, | |
"delete": { | |
"summary": "Delete a matrix", | |
"operationId": "matrix-delete", | |
"description": "This endpoint deletes a single version of a matrix from the workspace.\nThe matrix is identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Matrices" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the matrix to delete", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the matrix to delete", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"responses": { | |
"204": { | |
"description": "The matrix was successfully deleted." | |
}, | |
"404": { | |
"description": "A matrix with the requested STIX id and modified date was not found." | |
} | |
} | |
} | |
}, | |
"/api/identities": { | |
"get": { | |
"summary": "Get a list of identities", | |
"operationId": "identity-get-all", | |
"description": "This endpoint retrieves a list of identities from the workspace.\nIf there are multiple versions of an identity, only the latest version (based on the `modified` property) will be returned.\nIn addition, the `state`, `includeRevoked`, and `includeDeprecated` filters are only applied to the latest version of an identity.\n", | |
"tags": [ | |
"Identities" | |
], | |
"parameters": [{ | |
"name": "limit", | |
"in": "query", | |
"description": "The number of identities to retrieve.\nThe default (0) will retrieve all identities.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "offset", | |
"in": "query", | |
"description": "The number of identities to skip.\nThe default (0) will start with the first identity.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "state", | |
"in": "query", | |
"description": "State of the object in the editing workflow.\nIf this parameter is not set, objects will be retrieved regardless of state.\nThis parameter may be set multiple times to retrieve objects with any of the provided states.\n", | |
"schema": { | |
"oneOf": [{ | |
"type": "string" | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
} | |
] | |
}, | |
"example": "work-in-progress" | |
}, | |
{ | |
"name": "includeRevoked", | |
"in": "query", | |
"description": "Whether to include objects that have the `revoked` property set to true.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
{ | |
"name": "includeDeprecated", | |
"in": "query", | |
"description": "Whether to include objects that have the `x_mitre_deprecated` property set to true.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
{ | |
"name": "includePagination", | |
"in": "query", | |
"description": "Whether to include pagination data in the returned value.\nWraps returned objects in a larger object.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of identities.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "The MITRE Corporation" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is an identity" | |
}, | |
"roles": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"identity_class": { | |
"type": "string", | |
"example": "organization" | |
}, | |
"sectors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"contact_information": { | |
"type": "string" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"post": { | |
"summary": "Create an identity", | |
"operationId": "identity-create", | |
"description": "This endpoint creates a new identity in the workspace.\nIf the `stix.id` property is set, it creates a new version of an existing identity.\nIf the `stix.id` property is not set, it creates a new identity, generating a STIX id for it.\n", | |
"tags": [ | |
"Identities" | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "The MITRE Corporation" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is an identity" | |
}, | |
"roles": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"identity_class": { | |
"type": "string", | |
"example": "organization" | |
}, | |
"sectors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"contact_information": { | |
"type": "string" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"201": { | |
"description": "The identity has been successfully created.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "The MITRE Corporation" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is an identity" | |
}, | |
"roles": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"identity_class": { | |
"type": "string", | |
"example": "organization" | |
}, | |
"sectors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"contact_information": { | |
"type": "string" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The identity was not created." | |
}, | |
"409": { | |
"description": "Duplicate `stix.id` and `stix.modified` properties. The identity was not created." | |
} | |
} | |
} | |
}, | |
"/api/identities/{stixId}": { | |
"get": { | |
"summary": "Get one or more versions of an identity", | |
"operationId": "identity-get-one-id", | |
"description": "This endpoint gets a list of one or more versions of an identity from the workspace, identified by their STIX id.\n", | |
"tags": [ | |
"Identities" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the identity to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "versions", | |
"in": "query", | |
"description": "The versions of the identity to retrieve.\n`all` gets all versions of the identity, `latest` gets only the latest version.\n", | |
"schema": { | |
"type": "string", | |
"enum": [ | |
"all", | |
"latest" | |
], | |
"default": "latest" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of identities matching the requested STIX id.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "The MITRE Corporation" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is an identity" | |
}, | |
"roles": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"identity_class": { | |
"type": "string", | |
"example": "organization" | |
}, | |
"sectors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"contact_information": { | |
"type": "string" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "An identity with the requested STIX id was not found." | |
} | |
} | |
} | |
}, | |
"/api/identities/{stixId}/modified/{modified}": { | |
"get": { | |
"summary": "Gets the version of a identity matching the STIX id and modified date", | |
"operationId": "identity-get-by-id-and-modified", | |
"description": "This endpoint gets a single version of a identity from the workspace, identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Identities" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the identity to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the identity to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "The version of an identity matching the STIX id and modified date.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "The MITRE Corporation" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is an identity" | |
}, | |
"roles": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"identity_class": { | |
"type": "string", | |
"example": "organization" | |
}, | |
"sectors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"contact_information": { | |
"type": "string" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "An identity with the requested STIX id and modified date was not found." | |
} | |
} | |
}, | |
"put": { | |
"summary": "Update an identity", | |
"operationId": "identity-update", | |
"description": "This endpoint updates a single version of an identity in the workspace, identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Identities" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the identity to update", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the identity to update", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "The MITRE Corporation" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is an identity" | |
}, | |
"roles": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"identity_class": { | |
"type": "string", | |
"example": "organization" | |
}, | |
"sectors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"contact_information": { | |
"type": "string" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"200": { | |
"description": "The identity was updated.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "The MITRE Corporation" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is an identity" | |
}, | |
"roles": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"identity_class": { | |
"type": "string", | |
"example": "organization" | |
}, | |
"sectors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"contact_information": { | |
"type": "string" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The identity was not updated." | |
}, | |
"404": { | |
"description": "An identity with the requested STIX id and modified date was not found." | |
} | |
} | |
}, | |
"delete": { | |
"summary": "Delete a identity", | |
"operationId": "identity-delete", | |
"description": "This endpoint deletes a single version of an identity from the workspace.\nThe identity is identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Identities" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the identity to delete", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the identity to delete", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"responses": { | |
"204": { | |
"description": "The identity was successfully deleted." | |
}, | |
"404": { | |
"description": "An identity with the requested STIX id and modified date was not found." | |
} | |
} | |
} | |
}, | |
"/api/marking-definitions": { | |
"get": { | |
"summary": "Get a list of marking definitions", | |
"operationId": "marking-definition-get-all", | |
"description": "This endpoint retrieves a list of marking definitions from the workspace.\nNote that marking definitions do not have an `modified` property and only one version of a marking definition may exist.\nIn addition, a marking definition does not have a `revoked` property.\n", | |
"tags": [ | |
"Marking Definitions" | |
], | |
"parameters": [{ | |
"name": "limit", | |
"in": "query", | |
"description": "The number of marking definitions to retrieve.\nThe default (0) will retrieve all marking definitions.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "offset", | |
"in": "query", | |
"description": "The number of marking definitions to skip.\nThe default (0) will start with the first marking definition.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "state", | |
"in": "query", | |
"description": "State of the object in the editing workflow.\nIf this parameter is not set, objects will be retrieved regardless of state.\nThis parameter may be set multiple times to retrieve objects with any of the provided states.\n", | |
"schema": { | |
"oneOf": [{ | |
"type": "string" | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
} | |
] | |
}, | |
"example": "work-in-progress" | |
}, | |
{ | |
"name": "includeDeprecated", | |
"in": "query", | |
"description": "Whether to include objects that have the `x_mitre_deprecated` property set to true.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
{ | |
"name": "includePagination", | |
"in": "query", | |
"description": "Whether to include pagination data in the returned value.\nWraps returned objects in a larger object.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of marking definitions.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"pattern": "marking-definition" | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "marking-definition--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
}, | |
"definition_type": { | |
"type": "string", | |
"example": "statement" | |
}, | |
"definition": { | |
"type": "object", | |
"properties": { | |
"statement": { | |
"type": "string" | |
} | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"post": { | |
"summary": "Create a marking definition", | |
"operationId": "marking-definition-create", | |
"description": "This endpoint creates a new marking definition in the workspace.\nThe `stix.id` property should not be set; this endpoint will create a new marking definition, generating a STIX id for it.\n", | |
"tags": [ | |
"Marking Definitions" | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"pattern": "marking-definition" | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "marking-definition--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
}, | |
"definition_type": { | |
"type": "string", | |
"example": "statement" | |
}, | |
"definition": { | |
"type": "object", | |
"properties": { | |
"statement": { | |
"type": "string" | |
} | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"201": { | |
"description": "The marking definition has been successfully created.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"pattern": "marking-definition" | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "marking-definition--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
}, | |
"definition_type": { | |
"type": "string", | |
"example": "statement" | |
}, | |
"definition": { | |
"type": "object", | |
"properties": { | |
"statement": { | |
"type": "string" | |
} | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The marking definition was not created." | |
} | |
} | |
} | |
}, | |
"/api/marking-definitions/{stixId}": { | |
"get": { | |
"summary": "Get a marking definition", | |
"operationId": "marking-definition-get-one-id", | |
"description": "This endpoint gets a list containing one marking definition from the workspace, identified by STIX id.\n(This endpoint returns a list to maintain a similar structure with other endpoints.)\n", | |
"tags": [ | |
"Marking Definitions" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the marking definition to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}], | |
"responses": { | |
"200": { | |
"description": "A list containing one marking definition matching the requested STIX id.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"pattern": "marking-definition" | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "marking-definition--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
}, | |
"definition_type": { | |
"type": "string", | |
"example": "statement" | |
}, | |
"definition": { | |
"type": "object", | |
"properties": { | |
"statement": { | |
"type": "string" | |
} | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "A marking definition with the requested STIX id was not found." | |
} | |
} | |
}, | |
"put": { | |
"summary": "Update a marking definition", | |
"operationId": "marking-definition-update", | |
"description": "This endpoint updates a marking definition in the workspace, identified by its STIX id.\n", | |
"tags": [ | |
"Marking Definitions" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the marking definition to update", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"pattern": "marking-definition" | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "marking-definition--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
}, | |
"definition_type": { | |
"type": "string", | |
"example": "statement" | |
}, | |
"definition": { | |
"type": "object", | |
"properties": { | |
"statement": { | |
"type": "string" | |
} | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"200": { | |
"description": "The marking definition was updated.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"pattern": "marking-definition" | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "marking-definition--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
}, | |
"definition_type": { | |
"type": "string", | |
"example": "statement" | |
}, | |
"definition": { | |
"type": "object", | |
"properties": { | |
"statement": { | |
"type": "string" | |
} | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The marking definition was not updated." | |
}, | |
"404": { | |
"description": "A marking definition with the requested STIX id was not found." | |
} | |
} | |
}, | |
"delete": { | |
"summary": "Delete a marking definition", | |
"operationId": "marking-definition-delete", | |
"description": "This endpoint deletes a marking definition from the workspace.\nThe marking definition is identified by its STIX id.\n", | |
"tags": [ | |
"Marking Definitions" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the marking definition to delete", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}], | |
"responses": { | |
"204": { | |
"description": "The marking definition was successfully deleted." | |
}, | |
"404": { | |
"description": "A marking definition with the requested STIX id was not found." | |
} | |
} | |
} | |
}, | |
"/api/software": { | |
"get": { | |
"summary": "Get a list of software objects", | |
"operationId": "software-get-all", | |
"description": "This endpoint gets a list of software objects from the workspace.\nThe list of software objects may include multiple versions of each object.\n", | |
"tags": [ | |
"Software" | |
], | |
"parameters": [{ | |
"name": "limit", | |
"in": "query", | |
"description": "The number of software objects to retrieve.\nThe default (0) will retrieve all software objects.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "offset", | |
"in": "query", | |
"description": "The number of software objects to skip.\nThe default (0) will start with the first software object.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "state", | |
"in": "query", | |
"description": "State of the object in the editing workflow.\nIf this parameter is not set, objects will be retrieved regardless of state.\nThis parameter may be set multiple times to retrieve objects with any of the provided states.\n", | |
"schema": { | |
"oneOf": [{ | |
"type": "string" | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
} | |
] | |
}, | |
"example": "work-in-progress" | |
}, | |
{ | |
"name": "includeRevoked", | |
"in": "query", | |
"description": "Whether to include objects that have the `revoked` property set to true.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
{ | |
"name": "includeDeprecated", | |
"in": "query", | |
"description": "Whether to include objects that have the `x_mitre_deprecated` property set to true.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
{ | |
"name": "search", | |
"in": "query", | |
"description": "Only return objects where the provided search text occurs in the `name` or `description`.\nThe search is case-insensitive.\n", | |
"schema": { | |
"type": "string" | |
}, | |
"example": "windows" | |
}, | |
{ | |
"name": "includePagination", | |
"in": "query", | |
"description": "Whether to include pagination data in the returned value.\nWraps returned objects in a larger object.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of software objects.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Net" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a software" | |
}, | |
"is_family": { | |
"type": "boolean" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_aliases": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
}, | |
"x_mitre_platforms": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Windows" | |
} | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"post": { | |
"summary": "Create a software object", | |
"operationId": "software-create", | |
"description": "This endpoint creates a new software object in the workspace.\nIf the `stix.id` property is set, it creates a new version of an existing software object.\nIf the `stix.id` property is not set, it creates a new software object, generating a STIX id for it.\n", | |
"tags": [ | |
"Software" | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Net" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a software" | |
}, | |
"is_family": { | |
"type": "boolean" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_aliases": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
}, | |
"x_mitre_platforms": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Windows" | |
} | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"201": { | |
"description": "The software object has been successfully created.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Net" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a software" | |
}, | |
"is_family": { | |
"type": "boolean" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_aliases": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
}, | |
"x_mitre_platforms": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Windows" | |
} | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The software object was not created." | |
}, | |
"409": { | |
"description": "Duplicate `stix.id` and `stix.modified` properties. The software object was not created." | |
} | |
} | |
} | |
}, | |
"/api/software/{stixId}": { | |
"get": { | |
"summary": "Get one or more versions of a software object", | |
"operationId": "software-get-one-id", | |
"description": "This endpoint gets a list of one or more versions of a software object from the workspace, identified by their STIX id.\n", | |
"tags": [ | |
"Software" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the software object to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "versions", | |
"in": "query", | |
"description": "The versions of the software object to retrieve.\n`all` gets all versions of the software, `latest` gets only the latest version.\n", | |
"schema": { | |
"type": "string", | |
"enum": [ | |
"all", | |
"latest" | |
], | |
"default": "latest" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of software objects matching the requested STIX id.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Net" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a software" | |
}, | |
"is_family": { | |
"type": "boolean" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_aliases": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
}, | |
"x_mitre_platforms": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Windows" | |
} | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "A software object with the requested STIX id was not found." | |
} | |
} | |
} | |
}, | |
"/api/software/{stixId}/modified/{modified}": { | |
"get": { | |
"summary": "Gets the version of a software object matching the STIX id and modified date", | |
"operationId": "software-get-by-id-and-modified", | |
"description": "This endpoint gets a single version of a software object from the workspace, identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Software" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the software object to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the software object to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "The version of a software object matching the STIX id and modified date.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Net" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a software" | |
}, | |
"is_family": { | |
"type": "boolean" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_aliases": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
}, | |
"x_mitre_platforms": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Windows" | |
} | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "A software object with the requested STIX id and modified date was not found." | |
} | |
} | |
}, | |
"put": { | |
"summary": "Update a software object", | |
"operationId": "software-update", | |
"description": "This endpoint updates a single version of a software object in the workspace, identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Software" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the software object to update", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the software object to update", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Net" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a software" | |
}, | |
"is_family": { | |
"type": "boolean" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_aliases": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
}, | |
"x_mitre_platforms": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Windows" | |
} | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"200": { | |
"description": "The software object was updated.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Net" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a software" | |
}, | |
"is_family": { | |
"type": "boolean" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_aliases": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
}, | |
"x_mitre_platforms": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Windows" | |
} | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The software object was not updated." | |
}, | |
"404": { | |
"description": "A software object with the requested STIX id and modified date was not found." | |
} | |
} | |
}, | |
"delete": { | |
"summary": "Delete a software object", | |
"operationId": "software-delete", | |
"description": "This endpoint deletes a single version of a software object from the workspace.\nThe software object is identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Software" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the software object to delete", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the software object to delete", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"responses": { | |
"204": { | |
"description": "The software object was successfully deleted." | |
}, | |
"404": { | |
"description": "A software object with the requested STIX id and modified date was not found." | |
} | |
} | |
} | |
}, | |
"/api/mitigations": { | |
"get": { | |
"summary": "Get a list of mitigations", | |
"operationId": "mitigation-get-all", | |
"description": "This endpoint gets a list of mitigations from the workspace.\nThe list of mitigations may include multiple versions of each mitigation.\n", | |
"tags": [ | |
"Mitigations" | |
], | |
"parameters": [{ | |
"name": "limit", | |
"in": "query", | |
"description": "The number of mitigations to retrieve.\nThe default (0) will retrieve all mitigations.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "offset", | |
"in": "query", | |
"description": "The number of mitigations to skip.\nThe default (0) will start with the first mitigation.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "state", | |
"in": "query", | |
"description": "State of the object in the editing workflow.\nIf this parameter is not set, objects will be retrieved regardless of state.\nThis parameter may be set multiple times to retrieve objects with any of the provided states.\n", | |
"schema": { | |
"oneOf": [{ | |
"type": "string" | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
} | |
] | |
}, | |
"example": "work-in-progress" | |
}, | |
{ | |
"name": "includeRevoked", | |
"in": "query", | |
"description": "Whether to include objects that have the `revoked` property set to true.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
{ | |
"name": "includeDeprecated", | |
"in": "query", | |
"description": "Whether to include objects that have the `x_mitre_deprecated` property set to true.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
{ | |
"name": "search", | |
"in": "query", | |
"description": "Only return objects where the provided search text occurs in the `name` or `description`.\nThe search is case-insensitive.\n", | |
"schema": { | |
"type": "string" | |
}, | |
"example": "windows" | |
}, | |
{ | |
"name": "includePagination", | |
"in": "query", | |
"description": "Whether to include pagination data in the returned value.\nWraps returned objects in a larger object.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of mitigations.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Compiled HTML File Mitigation" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a course of action (mitigation)." | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"post": { | |
"summary": "Create a mitigation", | |
"operationId": "mitigation-create", | |
"description": "This endpoint creates a new mitigation in the workspace.\nIf the `stix.id` property is set, it creates a new version of an existing mitigation.\nIf the `stix.id` property is not set, it creates a new mitigation, generating a STIX id for it.\n", | |
"tags": [ | |
"Mitigations" | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Compiled HTML File Mitigation" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a course of action (mitigation)." | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"201": { | |
"description": "The mitigation has been successfully created.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Compiled HTML File Mitigation" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a course of action (mitigation)." | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The mitigation was not created." | |
}, | |
"409": { | |
"description": "Duplicate `stix.id` and `stix.modified` properties. The mitigation was not created." | |
} | |
} | |
} | |
}, | |
"/api/mitigations/{stixId}": { | |
"get": { | |
"summary": "Get one or more versions of a mitigation", | |
"operationId": "mitigation-get-one-id", | |
"description": "This endpoint gets a list of one or more versions of a mitigation from the workspace, identified by their STIX id.\n", | |
"tags": [ | |
"Mitigations" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the mitigation to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "versions", | |
"in": "query", | |
"description": "The versions of the mitigation to retrieve.\n`all` gets all versions of the mitigation, `latest` gets only the latest version.\n", | |
"schema": { | |
"type": "string", | |
"enum": [ | |
"all", | |
"latest" | |
], | |
"default": "latest" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of mitigations matching the requested STIX id.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Compiled HTML File Mitigation" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a course of action (mitigation)." | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "A mitigation with the requested STIX id was not found." | |
} | |
} | |
} | |
}, | |
"/api/mitigations/{stixId}/modified/{modified}": { | |
"get": { | |
"summary": "Gets the version of a mitigation matching the STIX id and modified date", | |
"operationId": "mitigation-get-by-id-and-modified", | |
"description": "This endpoint gets a single version of a mitigation from the workspace, identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Mitigations" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the mitigation to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the mitigation to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "The version of a mitigation matching the STIX id and modified date.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Compiled HTML File Mitigation" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a course of action (mitigation)." | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "A mitigation with the requested STIX id and modified date was not found." | |
} | |
} | |
}, | |
"put": { | |
"summary": "Update a mitigation", | |
"operationId": "mitigation-update", | |
"description": "This endpoint updates a single version of a mitigation in the workspace, identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Mitigations" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the mitigation to update", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the mitigation to update", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Compiled HTML File Mitigation" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a course of action (mitigation)." | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"200": { | |
"description": "The mitigation was updated.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Compiled HTML File Mitigation" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a course of action (mitigation)." | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The mitigation was not updated." | |
}, | |
"404": { | |
"description": "A mitigation with the requested STIX id and modified date was not found." | |
} | |
} | |
}, | |
"delete": { | |
"summary": "Delete a mitigation", | |
"operationId": "mitigation-delete", | |
"description": "This endpoint deletes a single version of a mitigation from the workspace.\nThe mitigation is identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Mitigations" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the mitigation to delete", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the mitigation to delete", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"responses": { | |
"204": { | |
"description": "The mitigation was successfully deleted." | |
}, | |
"404": { | |
"description": "A mitigation with the requested STIX id and modified date was not found." | |
} | |
} | |
} | |
}, | |
"/api/data-sources": { | |
"get": { | |
"summary": "Get a list of data sources", | |
"operationId": "data-source-get-all", | |
"description": "This endpoint gets a list of data sources from the workspace.\nThe list of data sources may include multiple versions of each data source.\n", | |
"tags": [ | |
"Data Sources" | |
], | |
"parameters": [{ | |
"name": "limit", | |
"in": "query", | |
"description": "The number of data sources to retrieve.\nThe default (0) will retrieve all data sources.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "offset", | |
"in": "query", | |
"description": "The number of data sources to skip.\nThe default (0) will start with the first data source.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "state", | |
"in": "query", | |
"description": "State of the object in the editing workflow.\nIf this parameter is not set, objects will be retrieved regardless of state.\nThis parameter may be set multiple times to retrieve objects with any of the provided states.\n", | |
"schema": { | |
"oneOf": [{ | |
"type": "string" | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
} | |
] | |
}, | |
"example": "work-in-progress" | |
}, | |
{ | |
"name": "includeRevoked", | |
"in": "query", | |
"description": "Whether to include objects that have the `revoked` property set to true.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
{ | |
"name": "includeDeprecated", | |
"in": "query", | |
"description": "Whether to include objects that have the `x_mitre_deprecated` property set to true.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
{ | |
"name": "search", | |
"in": "query", | |
"description": "Only return objects where the provided search text occurs in the `name` or `description`.\nThe search is case-insensitive.\n", | |
"schema": { | |
"type": "string" | |
}, | |
"example": "windows" | |
}, | |
{ | |
"name": "includePagination", | |
"in": "query", | |
"description": "Whether to include pagination data in the returned value.\nWraps returned objects in a larger object.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of data sources.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Data Source Name" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a data source" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_platforms": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Windows" | |
} | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
}, | |
"x_mitre_collection_layers": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "host" | |
} | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"post": { | |
"summary": "Create a data source", | |
"operationId": "data-source-create", | |
"description": "This endpoint creates a new data source in the workspace.\nIf the `stix.id` property is set, it creates a new version of an existing data source.\nIf the `stix.id` property is not set, it creates a new data source, generating a STIX id for it.\n", | |
"tags": [ | |
"Data Sources" | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Data Source Name" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a data source" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_platforms": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Windows" | |
} | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
}, | |
"x_mitre_collection_layers": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "host" | |
} | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"201": { | |
"description": "The data source has been successfully created.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Data Source Name" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a data source" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_platforms": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Windows" | |
} | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
}, | |
"x_mitre_collection_layers": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "host" | |
} | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The data source was not created." | |
}, | |
"409": { | |
"description": "Duplicate `stix.id` and `stix.modified` properties. The data source was not created." | |
} | |
} | |
} | |
}, | |
"/api/data-sources/{stixId}": { | |
"get": { | |
"summary": "Get one or more versions of a data source", | |
"operationId": "data-source-get-one-id", | |
"description": "This endpoint gets a list of one or more versions of a data source from the workspace, identified by their STIX id.\n", | |
"tags": [ | |
"Data Sources" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the data source to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "versions", | |
"in": "query", | |
"description": "The versions of the data source to retrieve.\n`all` gets all versions of the data source, `latest` gets only the latest version.\n", | |
"schema": { | |
"type": "string", | |
"enum": [ | |
"all", | |
"latest" | |
], | |
"default": "latest" | |
} | |
}, | |
{ | |
"name": "retrieveDataComponents", | |
"in": "query", | |
"description": "Retrieve the data components that reference the data source.\nNote that this option always retrieves the latest version of a data component.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of data sources matching the requested STIX id.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Data Source Name" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a data source" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_platforms": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Windows" | |
} | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
}, | |
"x_mitre_collection_layers": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "host" | |
} | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "A data source with the requested STIX id was not found." | |
} | |
} | |
} | |
}, | |
"/api/data-sources/{stixId}/modified/{modified}": { | |
"get": { | |
"summary": "Gets the version of a data source matching the STIX id and modified date", | |
"operationId": "data-source-get-by-id-and-modified", | |
"description": "This endpoint gets a single version of a data source from the workspace, identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Data Sources" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the data source to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the data source to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "retrieveDataComponents", | |
"in": "query", | |
"description": "Retrieve the data components that reference the data source.\nNote that this option always retrieves the latest version of a data component.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "The version of a data source matching the STIX id and modified date.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Data Source Name" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a data source" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_platforms": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Windows" | |
} | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
}, | |
"x_mitre_collection_layers": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "host" | |
} | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "A data source with the requested STIX id and modified date was not found." | |
} | |
} | |
}, | |
"put": { | |
"summary": "Update a data source", | |
"operationId": "data-source-update", | |
"description": "This endpoint updates a single version of a data source in the workspace, identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Data Sources" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the data source to update", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the data source to update", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Data Source Name" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a data source" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_platforms": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Windows" | |
} | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
}, | |
"x_mitre_collection_layers": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "host" | |
} | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"200": { | |
"description": "The data source was updated.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Data Source Name" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a data source" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_platforms": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "Windows" | |
} | |
}, | |
"x_mitre_contributors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
}, | |
"x_mitre_collection_layers": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "host" | |
} | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The data source was not updated." | |
}, | |
"404": { | |
"description": "A data source with the requested STIX id and modified date was not found." | |
} | |
} | |
}, | |
"delete": { | |
"summary": "Delete a data source", | |
"operationId": "data-source-delete", | |
"description": "This endpoint deletes a single version of a data source from the workspace.\nThe data source is identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Data Sources" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the data source to delete", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the data source to delete", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"responses": { | |
"204": { | |
"description": "The data source was successfully deleted." | |
}, | |
"404": { | |
"description": "A data source with the requested STIX id and modified date was not found." | |
} | |
} | |
} | |
}, | |
"/api/data-components": { | |
"get": { | |
"summary": "Get a list of data components", | |
"operationId": "data-component-get-all", | |
"description": "This endpoint gets a list of data components from the workspace.\nThe list of data components may include multiple versions of each data component.\n", | |
"tags": [ | |
"Data Components" | |
], | |
"parameters": [{ | |
"name": "limit", | |
"in": "query", | |
"description": "The number of data components to retrieve.\nThe default (0) will retrieve all data components.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "offset", | |
"in": "query", | |
"description": "The number of data components to skip.\nThe default (0) will start with the first data component.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "state", | |
"in": "query", | |
"description": "State of the object in the editing workflow.\nIf this parameter is not set, objects will be retrieved regardless of state.\nThis parameter may be set multiple times to retrieve objects with any of the provided states.\n", | |
"schema": { | |
"oneOf": [{ | |
"type": "string" | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
} | |
] | |
}, | |
"example": "work-in-progress" | |
}, | |
{ | |
"name": "includeRevoked", | |
"in": "query", | |
"description": "Whether to include objects that have the `revoked` property set to true.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
{ | |
"name": "includeDeprecated", | |
"in": "query", | |
"description": "Whether to include objects that have the `x_mitre_deprecated` property set to true.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
{ | |
"name": "search", | |
"in": "query", | |
"description": "Only return objects where the provided search text occurs in the `name` or `description`.\nThe search is case-insensitive.\n", | |
"schema": { | |
"type": "string" | |
}, | |
"example": "windows" | |
}, | |
{ | |
"name": "includePagination", | |
"in": "query", | |
"description": "Whether to include pagination data in the returned value.\nWraps returned objects in a larger object.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of data components.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Data Component Name" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a data component" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_data_source_ref": { | |
"type": "string", | |
"example": "x-mitre-data-source--6da9ab38-437f-4e2f-b24c-f0da3a8ce441" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"post": { | |
"summary": "Create a data component", | |
"operationId": "data-component-create", | |
"description": "This endpoint creates a new data component in the workspace.\nIf the `stix.id` property is set, it creates a new version of an existing data component.\nIf the `stix.id` property is not set, it creates a new data component, generating a STIX id for it.\n", | |
"tags": [ | |
"Data Components" | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Data Component Name" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a data component" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_data_source_ref": { | |
"type": "string", | |
"example": "x-mitre-data-source--6da9ab38-437f-4e2f-b24c-f0da3a8ce441" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"201": { | |
"description": "The data component has been successfully created.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Data Component Name" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a data component" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_data_source_ref": { | |
"type": "string", | |
"example": "x-mitre-data-source--6da9ab38-437f-4e2f-b24c-f0da3a8ce441" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The data component was not created." | |
}, | |
"409": { | |
"description": "Duplicate `stix.id` and `stix.modified` properties. The data component was not created." | |
} | |
} | |
} | |
}, | |
"/api/data-components/{stixId}": { | |
"get": { | |
"summary": "Get one or more versions of a data component", | |
"operationId": "data-component-get-one-id", | |
"description": "This endpoint gets a list of one or more versions of a data component from the workspace, identified by their STIX id.\n", | |
"tags": [ | |
"Data Components" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the data component to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "versions", | |
"in": "query", | |
"description": "The versions of the data component to retrieve.\n`all` gets all versions of the data component, `latest` gets only the latest version.\n", | |
"schema": { | |
"type": "string", | |
"enum": [ | |
"all", | |
"latest" | |
], | |
"default": "latest" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of data components matching the requested STIX id.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Data Component Name" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a data component" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_data_source_ref": { | |
"type": "string", | |
"example": "x-mitre-data-source--6da9ab38-437f-4e2f-b24c-f0da3a8ce441" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "A data component with the requested STIX id was not found." | |
} | |
} | |
} | |
}, | |
"/api/data-components/{stixId}/modified/{modified}": { | |
"get": { | |
"summary": "Gets the version of a data component matching the STIX id and modified date", | |
"operationId": "data-component-get-by-id-and-modified", | |
"description": "This endpoint gets a single version of a data component from the workspace, identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Data Components" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the data component to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the data component to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "The version of a data component matching the STIX id and modified date.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Data Component Name" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a data component" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_data_source_ref": { | |
"type": "string", | |
"example": "x-mitre-data-source--6da9ab38-437f-4e2f-b24c-f0da3a8ce441" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "A data component with the requested STIX id and modified date was not found." | |
} | |
} | |
}, | |
"put": { | |
"summary": "Update a data component", | |
"operationId": "data-component-update", | |
"description": "This endpoint updates a single version of a data component in the workspace, identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Data Components" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the data component to update", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the data component to update", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Data Component Name" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a data component" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_data_source_ref": { | |
"type": "string", | |
"example": "x-mitre-data-source--6da9ab38-437f-4e2f-b24c-f0da3a8ce441" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"200": { | |
"description": "The data component was updated.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"name" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"example": "Data Component Name" | |
}, | |
"description": { | |
"type": "string", | |
"example": "This is a data component" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_data_source_ref": { | |
"type": "string", | |
"example": "x-mitre-data-source--6da9ab38-437f-4e2f-b24c-f0da3a8ce441" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The data component was not updated." | |
}, | |
"404": { | |
"description": "A data component with the requested STIX id and modified date was not found." | |
} | |
} | |
}, | |
"delete": { | |
"summary": "Delete a data component", | |
"operationId": "data-component-delete", | |
"description": "This endpoint deletes a single version of a data component from the workspace.\nThe data component is identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Data Components" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the data component to delete", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the data component to delete", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"responses": { | |
"204": { | |
"description": "The data component was successfully deleted." | |
}, | |
"404": { | |
"description": "A data component with the requested STIX id and modified date was not found." | |
} | |
} | |
} | |
}, | |
"/api/relationships": { | |
"get": { | |
"summary": "Get a list of relationships", | |
"operationId": "relationship-get-all", | |
"description": "This endpoint retrieves a list of relationships from the workspace.\nIf there are multiple versions of a relationship, only the latest version (based on the `modified` property) will be returned.\nIn addition, the `state`, `includeRevoked`, and `includeDeprecated` filters are only applied to the latest version of a relationship.\n", | |
"tags": [ | |
"Relationships" | |
], | |
"parameters": [{ | |
"name": "limit", | |
"in": "query", | |
"description": "The number of relationships to retrieve.\nThe default (0) will retrieve all relationships.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "offset", | |
"in": "query", | |
"description": "The number of relationships to skip.\nThe default (0) will start with the first relationship.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "state", | |
"in": "query", | |
"description": "State of the object in the editing workflow.\nIf this parameter is not set, objects will be retrieved regardless of state.\nThis parameter may be set multiple times to retrieve objects with any of the provided states.\n", | |
"schema": { | |
"oneOf": [{ | |
"type": "string" | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
} | |
] | |
}, | |
"example": "work-in-progress" | |
}, | |
{ | |
"name": "includeRevoked", | |
"in": "query", | |
"description": "Whether to include objects that have the `revoked` property set to true.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
{ | |
"name": "includeDeprecated", | |
"in": "query", | |
"description": "Whether to include objects that have the `x_mitre_deprecated` property set to true.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
{ | |
"name": "sourceRef", | |
"in": "query", | |
"description": "STIX id of referenced object. Only retrieve relationships that reference this object in the `source_ref` property.\n", | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "targetRef", | |
"in": "query", | |
"description": "STIX id of referenced object. Only retrieve relationships that reference this object in the `target_ref` property.\n", | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "sourceOrTargetRef", | |
"in": "query", | |
"description": "STIX id of referenced object.\nOnly retrieve relationships that reference this object in either the `source_ref` or `target_ref` properties.\n", | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "relationshipType", | |
"in": "query", | |
"description": "Only retrieve relationships that have a matching `relationship_type`.\n", | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "sourceType", | |
"in": "query", | |
"description": "Only retrieve relationships that have a `source_ref` to an object of the selected type.\n", | |
"schema": { | |
"type": "string", | |
"enum": [ | |
"technique", | |
"group", | |
"mitigation", | |
"software", | |
"data-component" | |
] | |
} | |
}, | |
{ | |
"name": "targetType", | |
"in": "query", | |
"description": "Only retrieve relationships that have a `target_ref` to an object of the selected type.\n", | |
"schema": { | |
"type": "string", | |
"enum": [ | |
"technique", | |
"group", | |
"mitigation", | |
"software" | |
] | |
} | |
}, | |
{ | |
"name": "versions", | |
"in": "query", | |
"description": "The versions of the relationship to retrieve.\n`all` gets all versions of the relationship, `latest` gets only the latest version.\n", | |
"schema": { | |
"type": "string", | |
"enum": [ | |
"all", | |
"latest" | |
], | |
"default": "latest" | |
} | |
}, | |
{ | |
"name": "includePagination", | |
"in": "query", | |
"description": "Whether to include pagination data in the returned value.\nWraps returned objects in a larger object.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of relationships.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"relationship_type", | |
"source_ref", | |
"target_ref" | |
], | |
"properties": { | |
"description": { | |
"type": "string", | |
"example": "This is a relationship" | |
}, | |
"relationship_type": { | |
"type": "string", | |
"example": "uses" | |
}, | |
"source_ref": { | |
"type": "string" | |
}, | |
"target_ref": { | |
"type": "string" | |
}, | |
"start_time": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"stop_time": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"post": { | |
"summary": "Create a relationship", | |
"operationId": "relationship-create", | |
"description": "This endpoint creates a new relationship in the workspace.\nIf the `stix.id` property is set, it creates a new version of an existing relationship.\nIf the `stix.id` property is not set, it creates a new relationship, generating a STIX id for it.\n", | |
"tags": [ | |
"Relationships" | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"relationship_type", | |
"source_ref", | |
"target_ref" | |
], | |
"properties": { | |
"description": { | |
"type": "string", | |
"example": "This is a relationship" | |
}, | |
"relationship_type": { | |
"type": "string", | |
"example": "uses" | |
}, | |
"source_ref": { | |
"type": "string" | |
}, | |
"target_ref": { | |
"type": "string" | |
}, | |
"start_time": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"stop_time": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"201": { | |
"description": "The relationship has been successfully created.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"relationship_type", | |
"source_ref", | |
"target_ref" | |
], | |
"properties": { | |
"description": { | |
"type": "string", | |
"example": "This is a relationship" | |
}, | |
"relationship_type": { | |
"type": "string", | |
"example": "uses" | |
}, | |
"source_ref": { | |
"type": "string" | |
}, | |
"target_ref": { | |
"type": "string" | |
}, | |
"start_time": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"stop_time": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The relationship was not created." | |
}, | |
"409": { | |
"description": "Duplicate `stix.id` and `stix.modified` properties. The relationship was not created." | |
} | |
} | |
} | |
}, | |
"/api/relationships/{stixId}": { | |
"get": { | |
"summary": "Get one or more versions of a relationship", | |
"operationId": "relationship-get-one-id", | |
"description": "This endpoint gets a list of one or more versions of a relationship from the workspace, identified by their STIX id.\n", | |
"tags": [ | |
"Relationships" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the relationship to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "versions", | |
"in": "query", | |
"description": "The versions of the relationship to retrieve.\n`all` gets all versions of the relationship, `latest` gets only the latest version.\n", | |
"schema": { | |
"type": "string", | |
"enum": [ | |
"all", | |
"latest" | |
], | |
"default": "latest" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of relationships matching the requested STIX id.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"relationship_type", | |
"source_ref", | |
"target_ref" | |
], | |
"properties": { | |
"description": { | |
"type": "string", | |
"example": "This is a relationship" | |
}, | |
"relationship_type": { | |
"type": "string", | |
"example": "uses" | |
}, | |
"source_ref": { | |
"type": "string" | |
}, | |
"target_ref": { | |
"type": "string" | |
}, | |
"start_time": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"stop_time": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "A relationship with the requested STIX id was not found." | |
} | |
} | |
} | |
}, | |
"/api/relationships/{stixId}/modified/{modified}": { | |
"get": { | |
"summary": "Gets the version of a relationship matching the STIX id and modified date", | |
"operationId": "relationship-get-by-id-and-modified", | |
"description": "This endpoint gets a single version of a relationship from the workspace, identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Relationships" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the relationship to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the relationship to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "The version of a relationship matching the STIX id and modified date.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"relationship_type", | |
"source_ref", | |
"target_ref" | |
], | |
"properties": { | |
"description": { | |
"type": "string", | |
"example": "This is a relationship" | |
}, | |
"relationship_type": { | |
"type": "string", | |
"example": "uses" | |
}, | |
"source_ref": { | |
"type": "string" | |
}, | |
"target_ref": { | |
"type": "string" | |
}, | |
"start_time": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"stop_time": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "A relationship with the requested STIX id and modified date was not found." | |
} | |
} | |
}, | |
"put": { | |
"summary": "Update a relationship", | |
"operationId": "relationship-update", | |
"description": "This endpoint updates a single version of a relationship in the workspace, identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Relationships" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the relationship to update", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the relationship to update", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"relationship_type", | |
"source_ref", | |
"target_ref" | |
], | |
"properties": { | |
"description": { | |
"type": "string", | |
"example": "This is a relationship" | |
}, | |
"relationship_type": { | |
"type": "string", | |
"example": "uses" | |
}, | |
"source_ref": { | |
"type": "string" | |
}, | |
"target_ref": { | |
"type": "string" | |
}, | |
"start_time": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"stop_time": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"200": { | |
"description": "The relationship was updated.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"relationship_type", | |
"source_ref", | |
"target_ref" | |
], | |
"properties": { | |
"description": { | |
"type": "string", | |
"example": "This is a relationship" | |
}, | |
"relationship_type": { | |
"type": "string", | |
"example": "uses" | |
}, | |
"source_ref": { | |
"type": "string" | |
}, | |
"target_ref": { | |
"type": "string" | |
}, | |
"start_time": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"stop_time": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_domains": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_version": { | |
"type": "string", | |
"example": "1.0" | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The relationship was not updated." | |
}, | |
"404": { | |
"description": "A relationship with the requested STIX id and modified date was not found." | |
} | |
} | |
}, | |
"delete": { | |
"summary": "Delete a relationship", | |
"operationId": "relationship-delete", | |
"description": "This endpoint deletes a single version of a relationship from the workspace.\nThe relationship is identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Relationships" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the relationship to delete", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the relationship to delete", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"responses": { | |
"204": { | |
"description": "The relationship was successfully deleted." | |
}, | |
"404": { | |
"description": "A relationship with the requested STIX id and modified date was not found." | |
} | |
} | |
} | |
}, | |
"/api/notes": { | |
"get": { | |
"summary": "Get a list of notes", | |
"operationId": "note-get-all", | |
"description": "This endpoint gets a list of notes from the workspace.\n", | |
"tags": [ | |
"Notes" | |
], | |
"parameters": [{ | |
"name": "limit", | |
"in": "query", | |
"description": "The number of notes to retrieve.\nThe default (0) will retrieve all notes.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "offset", | |
"in": "query", | |
"description": "The number of notes to skip.\nThe default (0) will start with the first note.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "state", | |
"in": "query", | |
"description": "State of the object in the editing workflow.\nIf this parameter is not set, objects will be retrieved regardless of state.\nThis parameter may be set multiple times to retrieve objects with any of the provided states.\n", | |
"schema": { | |
"oneOf": [{ | |
"type": "string" | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
} | |
] | |
}, | |
"example": "work-in-progress" | |
}, | |
{ | |
"name": "includeRevoked", | |
"in": "query", | |
"description": "Whether to include objects that have the `revoked` property set to true.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
{ | |
"name": "includeDeprecated", | |
"in": "query", | |
"description": "Whether to include objects that have the `x_mitre_deprecated` property set to true.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
{ | |
"name": "search", | |
"in": "query", | |
"description": "Only return ATT&CK objects where the provided search text occurs in the `name` or `description`.\nThe search is case-insensitive.\n", | |
"schema": { | |
"type": "string" | |
}, | |
"example": "windows" | |
}, | |
{ | |
"name": "includePagination", | |
"in": "query", | |
"description": "Whether to include pagination data in the returned value.\nWraps returned objects in a larger object.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of notes.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"content", | |
"object_refs" | |
], | |
"properties": { | |
"abstract": { | |
"type": "string" | |
}, | |
"content": { | |
"type": "string" | |
}, | |
"authors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"object_refs": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"post": { | |
"summary": "Create a note", | |
"operationId": "note-create", | |
"description": "This endpoint creates a new note in the workspace.\nIf the `stix.id` property is set, it creates a new version of an existing note.\nIf the `stix.id` property is not set, it creates a new note, generating a STIX id for it.\n", | |
"tags": [ | |
"Notes" | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"content", | |
"object_refs" | |
], | |
"properties": { | |
"abstract": { | |
"type": "string" | |
}, | |
"content": { | |
"type": "string" | |
}, | |
"authors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"object_refs": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"201": { | |
"description": "The note has been successfully created.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"content", | |
"object_refs" | |
], | |
"properties": { | |
"abstract": { | |
"type": "string" | |
}, | |
"content": { | |
"type": "string" | |
}, | |
"authors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"object_refs": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The note was not created." | |
}, | |
"409": { | |
"description": "Duplicate `stix.id` and `stix.modified` properties. The note was not created." | |
} | |
} | |
} | |
}, | |
"/api/notes/{stixId}": { | |
"get": { | |
"summary": "Get one or more versions of a note", | |
"operationId": "note-get-one-id", | |
"description": "This endpoint gets a list of one or more versions of a note from the workspace, identified by their STIX id.\n", | |
"tags": [ | |
"Notes" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the note to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "versions", | |
"in": "query", | |
"description": "The versions of the note to retrieve.\n`all` gets all versions of the note, `latest` gets only the latest version.\n", | |
"schema": { | |
"type": "string", | |
"enum": [ | |
"all", | |
"latest" | |
], | |
"default": "latest" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of notes matching the requested STIX id.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"content", | |
"object_refs" | |
], | |
"properties": { | |
"abstract": { | |
"type": "string" | |
}, | |
"content": { | |
"type": "string" | |
}, | |
"authors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"object_refs": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "A note with the requested STIX id was not found." | |
} | |
} | |
}, | |
"delete": { | |
"summary": "Delete a note", | |
"operationId": "note-delete", | |
"description": "This endpoint deletes all versions of a note from the workspace.\nThe note is identified by its STIX id.\n", | |
"tags": [ | |
"Notes" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the note to delete", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}], | |
"responses": { | |
"204": { | |
"description": "The note was successfully deleted." | |
}, | |
"404": { | |
"description": "A note with the requested STIX id was not found." | |
} | |
} | |
} | |
}, | |
"/api/notes/{stixId}/modified/{modified}": { | |
"get": { | |
"summary": "Gets the version of a note matching the STIX id and modified date", | |
"operationId": "note-get-by-id-and-modified", | |
"description": "This endpoint gets a single version of a note from the workspace, identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Notes" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the note to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the note to retrieve", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "The version of a note matching the STIX id and modified date.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"content", | |
"object_refs" | |
], | |
"properties": { | |
"abstract": { | |
"type": "string" | |
}, | |
"content": { | |
"type": "string" | |
}, | |
"authors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"object_refs": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "A note with the requested STIX id and modified date was not found." | |
} | |
} | |
}, | |
"put": { | |
"summary": "Update a note", | |
"operationId": "note-update-version", | |
"description": "This endpoint updates a single version of a note in the workspace, identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Notes" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the note to update", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the note to update", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"content", | |
"object_refs" | |
], | |
"properties": { | |
"abstract": { | |
"type": "string" | |
}, | |
"content": { | |
"type": "string" | |
}, | |
"authors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"object_refs": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"200": { | |
"description": "The note was updated.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"workspace", | |
"stix" | |
], | |
"properties": { | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"workflow": { | |
"type": "object", | |
"properties": { | |
"state": { | |
"type": "string" | |
} | |
} | |
}, | |
"attackId": { | |
"type": "string", | |
"example": "T9999" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"collection_ref": { | |
"type": "string" | |
}, | |
"collection_modified": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
"required": [ | |
"collection_ref", | |
"collection_modified" | |
] | |
} | |
} | |
} | |
}, | |
"stix": { | |
"allOf": [{ | |
"type": "object", | |
"required": [ | |
"type", | |
"spec_version", | |
"created", | |
"modified" | |
], | |
"properties": { | |
"type": { | |
"type": "string", | |
"enum": [ | |
"attack-pattern", | |
"x-mitre-tactic", | |
"intrusion-set", | |
"tool", | |
"malware", | |
"course-of-action", | |
"x-mitre-matrix", | |
"identity", | |
"x-mitre-data-source", | |
"x-mitre-data-component", | |
"relationship", | |
"note", | |
"x-mitre-collection" | |
] | |
}, | |
"spec_version": { | |
"type": "string", | |
"pattern": "^2.1$", | |
"example": "2.1" | |
}, | |
"id": { | |
"type": "string", | |
"example": "attack-pattern--76abfbed-a92f-4e2a-953e-dc83f90ecddc" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"created_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"revoked": { | |
"type": "boolean", | |
"example": false | |
}, | |
"external_references": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"source_name": { | |
"type": "string", | |
"example": "mitre-attack" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"external_id": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source_name" | |
] | |
} | |
}, | |
"object_marking_refs": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168" | |
} | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"required": [ | |
"content", | |
"object_refs" | |
], | |
"properties": { | |
"abstract": { | |
"type": "string" | |
}, | |
"content": { | |
"type": "string" | |
}, | |
"authors": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"object_refs": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"x_mitre_modified_by_ref": { | |
"type": "string", | |
"example": "identity--6444f546-6900-4456-b3b1-015c88d70dab" | |
}, | |
"x_mitre_deprecated": { | |
"type": "boolean", | |
"example": false | |
}, | |
"x_mitre_attack_spec_version": { | |
"type": "string", | |
"example": "2.1.0" | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The note was not updated." | |
}, | |
"404": { | |
"description": "A note with the requested STIX id and modified date was not found." | |
} | |
} | |
}, | |
"delete": { | |
"summary": "Delete a note", | |
"operationId": "note-delete-version", | |
"description": "This endpoint deletes a single version of a note from the workspace.\nThe note is identified by its STIX id and modified date.\n", | |
"tags": [ | |
"Notes" | |
], | |
"parameters": [{ | |
"name": "stixId", | |
"in": "path", | |
"description": "STIX id of the note to delete", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "modified", | |
"in": "path", | |
"description": "modified date of the note to delete", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"responses": { | |
"204": { | |
"description": "The note was successfully deleted." | |
}, | |
"404": { | |
"description": "A note with the requested STIX id and modified date was not found." | |
} | |
} | |
} | |
}, | |
"/api/references": { | |
"get": { | |
"summary": "Get a list of references", | |
"operationId": "reference-get-all", | |
"description": "This endpoint gets a list of references from the workspace.\n", | |
"tags": [ | |
"References" | |
], | |
"parameters": [{ | |
"name": "limit", | |
"in": "query", | |
"description": "The number of references to retrieve.\nThe default (0) will retrieve all references.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "offset", | |
"in": "query", | |
"description": "The number of references to skip.\nThe default (0) will start with the first reference.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "sourceName", | |
"in": "query", | |
"description": "source_name of the object to retrieve.\n", | |
"schema": { | |
"type": "string" | |
}, | |
"example": "AddMonitor" | |
}, | |
{ | |
"name": "search", | |
"in": "query", | |
"description": "Only return references where the provided search text occurs in the `description` or `url`.\nThe search is case-insensitive.\n", | |
"schema": { | |
"type": "string" | |
}, | |
"example": "windows" | |
}, | |
{ | |
"name": "includePagination", | |
"in": "query", | |
"description": "Whether to include pagination data in the returned value.\nWraps returned objects in a larger object.\n", | |
"schema": { | |
"type": "boolean", | |
"default": false | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of references.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"source_name", | |
"description" | |
], | |
"properties": { | |
"source_name": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"post": { | |
"summary": "Create a reference", | |
"operationId": "reference-create", | |
"description": "This endpoint creates a new reference in the workspace.\n", | |
"tags": [ | |
"References" | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"source_name", | |
"description" | |
], | |
"properties": { | |
"source_name": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"201": { | |
"description": "The reference has been successfully created.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"source_name", | |
"description" | |
], | |
"properties": { | |
"source_name": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The reference was not created." | |
}, | |
"409": { | |
"description": "Duplicate `source_name`. The reference was not created." | |
} | |
} | |
}, | |
"put": { | |
"summary": "Update a reference", | |
"operationId": "reference-update", | |
"description": "This endpoint updates a single version of a reference in the workspace, identified by its `source_name`.\nNote that the `source_name` is used a a key and cannot be changed.\n", | |
"tags": [ | |
"References" | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"source_name", | |
"description" | |
], | |
"properties": { | |
"source_name": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"200": { | |
"description": "The reference was updated.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"source_name", | |
"description" | |
], | |
"properties": { | |
"source_name": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The reference was not updated." | |
}, | |
"404": { | |
"description": "A reference with the requested source_name was not found." | |
} | |
} | |
} | |
}, | |
"/api/collection-indexes": { | |
"get": { | |
"summary": "Get a list of collection indexes", | |
"operationId": "collection-indexes-get-all", | |
"description": "This endpoint gets a list of collection indexes from the workspace.\nOnly the latest version of a collection index is stored.\n", | |
"tags": [ | |
"Collection Indexes" | |
], | |
"parameters": [{ | |
"name": "limit", | |
"in": "query", | |
"description": "The number of collection indexes to retrieve.\nThe default (0) will retrieve all collection indexes.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
}, | |
{ | |
"name": "offset", | |
"in": "query", | |
"description": "The number of collection indexes to skip.\n", | |
"schema": { | |
"type": "number", | |
"default": 0 | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "A list of collection indexes.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"collection_index" | |
], | |
"properties": { | |
"collection_index": { | |
"type": "object", | |
"required": [ | |
"id", | |
"name", | |
"created", | |
"modified", | |
"collections" | |
], | |
"properties": { | |
"id": { | |
"type": "string" | |
}, | |
"name": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"id", | |
"name", | |
"created", | |
"versions" | |
], | |
"properties": { | |
"id": { | |
"type": "string" | |
}, | |
"name": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"versions": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"version", | |
"modified" | |
], | |
"properties": { | |
"version": { | |
"type": "string" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"taxii_url": { | |
"type": "string" | |
}, | |
"release_notes": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"remote_url": { | |
"type": "string" | |
}, | |
"update_policy": { | |
"type": "object", | |
"properties": { | |
"automatic": { | |
"type": "boolean" | |
}, | |
"interval": { | |
"type": "number" | |
}, | |
"last_retrieval": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"subscriptions": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "x-mitre-collection--915b6504-bde8-40b5-bfda-0c3ecb46a9b9" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"post": { | |
"summary": "Create a collection index", | |
"operationId": "collection-index-create", | |
"description": "This endpoint creates a new collection index in the workspace.\n", | |
"tags": [ | |
"Collection Indexes" | |
], | |
"requestBody": { | |
"required": true, | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"collection_index" | |
], | |
"properties": { | |
"collection_index": { | |
"type": "object", | |
"required": [ | |
"id", | |
"name", | |
"created", | |
"modified", | |
"collections" | |
], | |
"properties": { | |
"id": { | |
"type": "string" | |
}, | |
"name": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"id", | |
"name", | |
"created", | |
"versions" | |
], | |
"properties": { | |
"id": { | |
"type": "string" | |
}, | |
"name": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"versions": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"version", | |
"modified" | |
], | |
"properties": { | |
"version": { | |
"type": "string" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"taxii_url": { | |
"type": "string" | |
}, | |
"release_notes": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"remote_url": { | |
"type": "string" | |
}, | |
"update_policy": { | |
"type": "object", | |
"properties": { | |
"automatic": { | |
"type": "boolean" | |
}, | |
"interval": { | |
"type": "number" | |
}, | |
"last_retrieval": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"subscriptions": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "x-mitre-collection--915b6504-bde8-40b5-bfda-0c3ecb46a9b9" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"responses": { | |
"201": { | |
"description": "The collection index has been successfully created.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"required": [ | |
"collection_index" | |
], | |
"properties": { | |
"collection_index": { | |
"type": "object", | |
"required": [ | |
"id", | |
"name", | |
"created", | |
"modified", | |
"collections" | |
], | |
"properties": { | |
"id": { | |
"type": "string" | |
}, | |
"name": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"collections": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"id", | |
"name", | |
"created", | |
"versions" | |
], | |
"properties": { | |
"id": { | |
"type": "string" | |
}, | |
"name": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"created": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"versions": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"version", | |
"modified" | |
], | |
"properties": { | |
"version": { | |
"type": "string" | |
}, | |
"modified": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"taxii_url": { | |
"type": "string" | |
}, | |
"release_notes": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"workspace": { | |
"type": "object", | |
"properties": { | |
"remote_url": { | |
"type": "string" | |
}, | |
"update_policy": { | |
"type": "object", | |
"properties": { | |
"automatic": { | |
"type": "boolean" | |
}, | |
"interval": { | |
"type": "number" | |
}, | |
"last_retrieval": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"subscriptions": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"example": "x-mitre-collection--915b6504-bde8-40b5-bfda-0c3ecb46a9b9" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"400": { | |
"description": "Missing or invalid parameters were provided. The collection index was not created." | |
} | |
} | |
} | |
}, | |
"/api/collection-indexes/{id}": { | |
"get": { | |
"summary": "Get collection index", | |
"operationId": "collection-index-get-by-id", | |
"description": "This endpoint gets collection index from the workspace, identified by its id.\n", | |
"tags": [ | |
"Collection Indexes" | |
], | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment