Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 77 additions & 0 deletions app/api/definitions/components/release-tracks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,12 @@ components:
nullable: true
description: 'Semantic version (e.g., "1.0", "2.1") if tagged, null for draft snapshots'
example: '1.0'
graph_manifest_id:
type: string
readOnly: true
description: |
Server-controlled identifier for the frozen bundle graph associated
with this snapshot. Clients should treat this value as opaque.
name:
type: string
description: 'Human-readable track name'
Expand Down Expand Up @@ -676,3 +682,74 @@ components:
type: string
format: date-time
description: 'UTC occurrence timestamp; also serves as the idempotency key'

object-revision-reference:
type: object
required:
- object_ref
- object_modified
properties:
object_ref:
type: string
description: 'STIX object ID'
object_modified:
type: string
format: date-time
description: 'Exact STIX revision timestamp'

object-revision-error:
type: object
required:
- message
- missing_references
properties:
message:
type: string
description: 'Whether request input or persisted primary content failed validation'
missing_references:
type: array
minItems: 1
items:
$ref: '#/components/schemas/object-revision-reference'

release-track-reconciliation-error:
type: object
required:
- message
- track_id
- reconciliation_id
properties:
message:
type: string
enum:
- 'Release-track membership protection could not be reconciled'
details:
type: string
description: 'Operator guidance; the track mutation may already be persisted'
track_id:
type: string
description: 'Release track whose object backrefs require repair'
reconciliation_id:
type: string
format: uuid
description: 'Durable reconciliation record to inspect or repair'

release-track-audit-error:
type: object
required:
- message
- track_id
- audit_event_id
properties:
message:
type: string
enum:
- 'Release-track audit recording could not be finalized'
details:
type: string
description: 'Operator guidance; the destructive operation may already be persisted'
track_id:
type: string
audit_event_id:
type: string
format: uuid
9 changes: 0 additions & 9 deletions app/api/definitions/openapi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -352,9 +352,6 @@ paths:
/api/release-tracks/{id}/meta:
$ref: 'paths/release-tracks-paths.yml#/paths/~1api~1release-tracks~1{id}~1meta'

/api/release-tracks/{id}/contents:
$ref: 'paths/release-tracks-paths.yml#/paths/~1api~1release-tracks~1{id}~1contents'

/api/release-tracks/{id}/clone:
$ref: 'paths/release-tracks-paths.yml#/paths/~1api~1release-tracks~1{id}~1clone'

Expand Down Expand Up @@ -409,12 +406,6 @@ paths:
/api/release-tracks/{id}/snapshots/{modified}:
$ref: 'paths/release-tracks-paths.yml#/paths/~1api~1release-tracks~1{id}~1snapshots~1{modified}'

/api/release-tracks/{id}/snapshots/{modified}/meta:
$ref: 'paths/release-tracks-paths.yml#/paths/~1api~1release-tracks~1{id}~1snapshots~1{modified}~1meta'

/api/release-tracks/{id}/snapshots/{modified}/contents:
$ref: 'paths/release-tracks-paths.yml#/paths/~1api~1release-tracks~1{id}~1snapshots~1{modified}~1contents'

/api/release-tracks/{id}/snapshots/{modified}/clone:
$ref: 'paths/release-tracks-paths.yml#/paths/~1api~1release-tracks~1{id}~1snapshots~1{modified}~1clone'

Expand Down
6 changes: 3 additions & 3 deletions app/api/definitions/paths/analytics-paths.yml
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ paths:
'404':
description: 'A analytic with the requested STIX id was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'

/api/analytics/{stixId}/modified/{modified}:
get:
Expand Down Expand Up @@ -278,7 +278,7 @@ paths:
'404':
description: 'A analytic with the requested STIX id and modified date was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'
delete:
summary: 'Delete a analytic'
operationId: 'analytic-delete'
Expand Down Expand Up @@ -306,4 +306,4 @@ paths:
'404':
description: 'A analytic with the requested STIX id and modified date was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'
4 changes: 2 additions & 2 deletions app/api/definitions/paths/assets-paths.yml
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ paths:
'404':
description: 'An asset with the requested STIX id and modified date was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'
delete:
summary: 'Delete an asset'
operationId: 'asset-delete'
Expand Down Expand Up @@ -298,7 +298,7 @@ paths:
'404':
description: 'An asset with the requested STIX id and modified date was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'

/api/assets/{stixId}/revoke:
post:
Expand Down
6 changes: 3 additions & 3 deletions app/api/definitions/paths/campaigns-paths.yml
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ paths:
'404':
description: 'A campaign with the requested STIX id was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'

/api/campaigns/{stixId}/modified/{modified}:
get:
Expand Down Expand Up @@ -250,7 +250,7 @@ paths:
'404':
description: 'A campaign with the requested STIX id and modified date was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'
delete:
summary: 'Delete a campaign'
operationId: 'campaign-delete'
Expand Down Expand Up @@ -278,7 +278,7 @@ paths:
'404':
description: 'A campaign with the requested STIX id and modified date was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'

/api/campaigns/{stixId}/revoke:
post:
Expand Down
4 changes: 4 additions & 0 deletions app/api/definitions/paths/collections-paths.yml
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,8 @@ paths:
description: 'The collections were successfully deleted.'
'404':
description: 'A collection with the requested STIX id was not found.'
'409':
description: 'The collection revision or a requested cascade-delete target is pinned by release-track membership or a snapshot graph manifest and cannot be deleted.'

/api/collections/{stixId}/modified/{modified}:
get:
Expand Down Expand Up @@ -277,3 +279,5 @@ paths:
description: 'The collection was successfully deleted.'
'404':
description: 'A collection with the requested STIX id was not found.'
'409':
description: 'The collection revision or a requested cascade-delete target is pinned by release-track membership or a snapshot graph manifest and cannot be deleted.'
6 changes: 3 additions & 3 deletions app/api/definitions/paths/data-components-paths.yml
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ paths:
'404':
description: 'A data component with the requested STIX id was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'

/api/data-components/{stixId}/channels:
get:
Expand Down Expand Up @@ -316,7 +316,7 @@ paths:
'404':
description: 'A data component with the requested STIX id and modified date was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'
delete:
summary: 'Delete a data component'
operationId: 'data-component-delete'
Expand Down Expand Up @@ -344,7 +344,7 @@ paths:
'404':
description: 'A data component with the requested STIX id and modified date was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'

/api/data-components/{stixId}/revoke:
post:
Expand Down
4 changes: 2 additions & 2 deletions app/api/definitions/paths/data-sources-paths.yml
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,7 @@ paths:
'404':
description: 'A data source with the requested STIX id and modified date was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'
delete:
summary: 'Delete a data source'
operationId: 'data-source-delete'
Expand Down Expand Up @@ -314,7 +314,7 @@ paths:
'404':
description: 'A data source with the requested STIX id and modified date was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'

/api/data-sources/{stixId}/revoke:
post:
Expand Down
6 changes: 3 additions & 3 deletions app/api/definitions/paths/detection-strategies-paths.yml
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ paths:
'404':
description: 'A detection strategy with the requested STIX id was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'

/api/detection-strategies/{stixId}/modified/{modified}:
get:
Expand Down Expand Up @@ -262,7 +262,7 @@ paths:
'404':
description: 'A detection strategy with the requested STIX id and modified date was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'
delete:
summary: 'Delete a detection strategy'
operationId: 'detection-strategy-delete'
Expand Down Expand Up @@ -290,4 +290,4 @@ paths:
'404':
description: 'A detection strategy with the requested STIX id and modified date was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'
6 changes: 3 additions & 3 deletions app/api/definitions/paths/groups-paths.yml
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ paths:
'404':
description: 'A group with the requested STIX id was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'

/api/groups/{stixId}/modified/{modified}:
get:
Expand Down Expand Up @@ -250,7 +250,7 @@ paths:
'404':
description: 'A group with the requested STIX id and modified date was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'
delete:
summary: 'Delete a group'
operationId: 'group-delete'
Expand Down Expand Up @@ -278,7 +278,7 @@ paths:
'404':
description: 'A group with the requested STIX id and modified date was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'

/api/groups/{stixId}/revoke:
post:
Expand Down
4 changes: 2 additions & 2 deletions app/api/definitions/paths/identities-paths.yml
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ paths:
'404':
description: 'An identity with the requested STIX id and modified date was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'
delete:
summary: 'Delete a identity'
operationId: 'identity-delete'
Expand Down Expand Up @@ -255,4 +255,4 @@ paths:
'404':
description: 'An identity with the requested STIX id and modified date was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'
6 changes: 3 additions & 3 deletions app/api/definitions/paths/matrices-paths.yml
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ paths:
'404':
description: 'A matrix with the requested STIX id was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'

/api/matrices/{stixId}/modified/{modified}:
get:
Expand Down Expand Up @@ -250,7 +250,7 @@ paths:
'404':
description: 'A matrix with the requested STIX id and modified date was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'
delete:
summary: 'Delete a matrix'
operationId: 'matrix-delete'
Expand Down Expand Up @@ -278,7 +278,7 @@ paths:
'404':
description: 'A matrix with the requested STIX id and modified date was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'

/api/matrices/{stixId}/modified/{modified}/techniques:
get:
Expand Down
6 changes: 3 additions & 3 deletions app/api/definitions/paths/mitigations-paths.yml
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ paths:
'404':
description: 'A mitigation with the requested STIX id was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'

/api/mitigations/{stixId}/modified/{modified}:
get:
Expand Down Expand Up @@ -262,7 +262,7 @@ paths:
'404':
description: 'A mitigation with the requested STIX id and modified date was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'
delete:
summary: 'Delete a mitigation'
operationId: 'mitigation-delete'
Expand Down Expand Up @@ -290,7 +290,7 @@ paths:
'404':
description: 'A mitigation with the requested STIX id and modified date was not found.'
'409':
description: 'The version is pinned in the members tier of a release track (released content) and cannot be modified or deleted in place. Create a new revision instead.'
description: 'The version is pinned by release-track membership or a snapshot graph manifest and cannot be modified or deleted in place. Create a new revision instead.'

/api/mitigations/{stixId}/revoke:
post:
Expand Down
Loading
Loading