# Custom Strategies

## GET /app/api/v1/custom-strategies

> List all custom strategies. Use is\_protected filter to distinguish between user-created and OOTB strategies.

```json
{"openapi":"3.0.3","info":{"title":"Dropzone AI","version":"0.1.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"in":"header","name":"Authorization","type":"apiKey"}},"schemas":{"FullCustomStrategy":{"description":"A serializer for a combined strategy and one of its versions.","properties":{"alert_sources":{"items":{"type":"string"},"type":"array"},"attack_surfaces":{"items":{"type":"string"},"type":"array"},"created_at":{"format":"date-time","readOnly":true,"type":"string"},"id":{"readOnly":true,"type":"integer"},"instructions":{"items":{"$ref":"#/components/schemas/CustomInstruction"},"readOnly":true,"type":"array"},"internal_origin_uuid":{"format":"uuid","readOnly":true,"type":"string"},"is_archived":{"readOnly":true,"type":"boolean"},"is_enabled":{"readOnly":true,"type":"boolean"},"is_latest":{"readOnly":true,"type":"boolean"},"is_protected":{"readOnly":true,"type":"boolean"},"mitre_tactics":{"items":{"type":"string"},"type":"array"},"outcomes":{"items":{"$ref":"#/components/schemas/CustomOutcome"},"readOnly":true,"type":"array"},"priorities":{"items":{"$ref":"#/components/schemas/CustomPriority"},"readOnly":true,"type":"array"},"scenario":{"nullable":true,"type":"string"},"title":{"readOnly":true,"type":"string"},"total_conclusions_affected":{"readOnly":true,"type":"integer"},"total_instructions_used":{"readOnly":true,"type":"integer"},"total_priorities_affected":{"readOnly":true,"type":"integer"},"updated_at":{"format":"date-time","readOnly":true,"type":"string"},"version_id":{"readOnly":true,"type":"integer"}},"required":["created_at","id","instructions","internal_origin_uuid","is_archived","is_enabled","is_latest","is_protected","outcomes","priorities","title","total_conclusions_affected","total_instructions_used","total_priorities_affected","updated_at","version_id"],"type":"object"},"CustomInstruction":{"properties":{"content":{"type":"string"},"created_at":{"format":"date-time","readOnly":true,"type":"string"},"id":{"type":"integer"},"internal_origin_uuid":{"format":"uuid","nullable":true,"readOnly":true,"type":"string"},"strategy_versions":{"items":{"type":"integer"},"readOnly":true,"type":"array"},"usage_count":{"readOnly":true,"type":"integer"}},"required":["content","created_at","internal_origin_uuid","strategy_versions","usage_count"],"type":"object"},"CustomOutcome":{"properties":{"conclusions_affected":{"readOnly":true,"type":"integer"},"condition":{"additionalProperties":{},"type":"object"},"created_at":{"format":"date-time","readOnly":true,"type":"string"},"id":{"type":"integer"},"internal_origin_uuid":{"format":"uuid","nullable":true,"readOnly":true,"type":"string"},"outcome":{"$ref":"#/components/schemas/CustomOutcomeOutcomeEnum"},"strategy_versions":{"items":{"type":"integer"},"readOnly":true,"type":"array"}},"required":["conclusions_affected","condition","created_at","internal_origin_uuid","outcome","strategy_versions"],"type":"object"},"CustomOutcomeOutcomeEnum":{"description":"* `COMPLETED_BREACHED_CONFIRMED` - COMPLETED_BREACHED_CONFIRMED\n* `COMPLETED_BREACHED_SUSPICIOUS` - COMPLETED_BREACHED_SUSPICIOUS\n* `COMPLETED_FALSE_ALERT` - COMPLETED_FALSE_ALERT","enum":["COMPLETED_BREACHED_CONFIRMED","COMPLETED_BREACHED_SUSPICIOUS","COMPLETED_FALSE_ALERT"],"type":"string"},"CustomPriority":{"properties":{"created_at":{"format":"date-time","readOnly":true,"type":"string"},"id":{"type":"integer"},"insight_tag_rule":{"additionalProperties":{},"nullable":true,"type":"object"},"internal_origin_uuid":{"format":"uuid","nullable":true,"readOnly":true,"type":"string"},"outcomes":{"items":{"$ref":"#/components/schemas/OutcomesEnum"},"minItems":1,"type":"array"},"priorities_affected":{"readOnly":true,"type":"integer"},"priority":{"$ref":"#/components/schemas/PriorityEnum"},"ranking":{"maximum":2147483647,"minimum":1,"type":"integer"},"strategy_versions":{"items":{"type":"integer"},"readOnly":true,"type":"array"}},"required":["created_at","internal_origin_uuid","priorities_affected","priority","strategy_versions"],"type":"object"},"OutcomesEnum":{"description":"* `COMPLETED_BREACHED_CONFIRMED` - COMPLETED_BREACHED_CONFIRMED\n* `COMPLETED_BREACHED_SUSPICIOUS` - COMPLETED_BREACHED_SUSPICIOUS\n* `COMPLETED_FALSE_ALERT` - COMPLETED_FALSE_ALERT\n* `INCOMPLETE` - INCOMPLETE\n* `IGNORED` - IGNORED","enum":["COMPLETED_BREACHED_CONFIRMED","COMPLETED_BREACHED_SUSPICIOUS","COMPLETED_FALSE_ALERT","INCOMPLETE","IGNORED"],"type":"string"},"PriorityEnum":{"description":"* `informational` - Informational\n* `notable` - Notable\n* `urgent` - Urgent","enum":["informational","notable","urgent"],"type":"string"}}},"paths":{"/app/api/v1/custom-strategies":{"get":{"description":"List all custom strategies. Use is_protected filter to distinguish between user-created and OOTB strategies.","operationId":"custom_strategies_retrieve","parameters":[{"description":"Filter by alert sources","in":"query","name":"alert_sources","schema":{"items":{"type":"string"},"type":"array"}},{"description":"Filter by attack surfaces","in":"query","name":"attack_surfaces","schema":{"items":{"type":"string"},"type":"array"}},{"description":"Filter by archived status","in":"query","name":"is_archived","schema":{"type":"boolean"}},{"description":"Filter by enabled status","in":"query","name":"is_enabled","schema":{"type":"boolean"}},{"description":"Filter by protected status (true=OOTB, false=user-created)","in":"query","name":"is_protected","schema":{"type":"boolean"}},{"description":"Filter by MITRE tactics","in":"query","name":"mitre_tactics","schema":{"items":{"type":"string"},"type":"array"}},{"description":"Search in strategy title and scenario","in":"query","name":"search_query","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/FullCustomStrategy"},"type":"array"}}},"description":"List of custom strategies"},"401":{"content":{"application/json":{"schema":{"properties":{"error_msg":{"type":"string"}},"type":"object"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"properties":{"detail":{"type":"string"}},"type":"object"}}},"description":"Access denied"},"500":{"content":{"application/json":{"schema":{"properties":{"error_msg":{"type":"string"}},"type":"object"}}},"description":"System error"},"503":{"content":{"application/json":{"schema":{"properties":{"error_msg":{"type":"string"}},"type":"object"}}},"description":"System not ready for requests"}},"tags":["custom-strategies"]}}}}
```

## POST /app/api/v1/custom-strategies

> Create a new custom strategy

```json
{"openapi":"3.0.3","info":{"title":"Dropzone AI","version":"0.1.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"in":"header","name":"Authorization","type":"apiKey"}},"schemas":{"FullCustomStrategy":{"description":"A serializer for a combined strategy and one of its versions.","properties":{"alert_sources":{"items":{"type":"string"},"type":"array"},"attack_surfaces":{"items":{"type":"string"},"type":"array"},"created_at":{"format":"date-time","readOnly":true,"type":"string"},"id":{"readOnly":true,"type":"integer"},"instructions":{"items":{"$ref":"#/components/schemas/CustomInstruction"},"readOnly":true,"type":"array"},"internal_origin_uuid":{"format":"uuid","readOnly":true,"type":"string"},"is_archived":{"readOnly":true,"type":"boolean"},"is_enabled":{"readOnly":true,"type":"boolean"},"is_latest":{"readOnly":true,"type":"boolean"},"is_protected":{"readOnly":true,"type":"boolean"},"mitre_tactics":{"items":{"type":"string"},"type":"array"},"outcomes":{"items":{"$ref":"#/components/schemas/CustomOutcome"},"readOnly":true,"type":"array"},"priorities":{"items":{"$ref":"#/components/schemas/CustomPriority"},"readOnly":true,"type":"array"},"scenario":{"nullable":true,"type":"string"},"title":{"readOnly":true,"type":"string"},"total_conclusions_affected":{"readOnly":true,"type":"integer"},"total_instructions_used":{"readOnly":true,"type":"integer"},"total_priorities_affected":{"readOnly":true,"type":"integer"},"updated_at":{"format":"date-time","readOnly":true,"type":"string"},"version_id":{"readOnly":true,"type":"integer"}},"required":["created_at","id","instructions","internal_origin_uuid","is_archived","is_enabled","is_latest","is_protected","outcomes","priorities","title","total_conclusions_affected","total_instructions_used","total_priorities_affected","updated_at","version_id"],"type":"object"},"CustomInstruction":{"properties":{"content":{"type":"string"},"created_at":{"format":"date-time","readOnly":true,"type":"string"},"id":{"type":"integer"},"internal_origin_uuid":{"format":"uuid","nullable":true,"readOnly":true,"type":"string"},"strategy_versions":{"items":{"type":"integer"},"readOnly":true,"type":"array"},"usage_count":{"readOnly":true,"type":"integer"}},"required":["content","created_at","internal_origin_uuid","strategy_versions","usage_count"],"type":"object"},"CustomOutcome":{"properties":{"conclusions_affected":{"readOnly":true,"type":"integer"},"condition":{"additionalProperties":{},"type":"object"},"created_at":{"format":"date-time","readOnly":true,"type":"string"},"id":{"type":"integer"},"internal_origin_uuid":{"format":"uuid","nullable":true,"readOnly":true,"type":"string"},"outcome":{"$ref":"#/components/schemas/CustomOutcomeOutcomeEnum"},"strategy_versions":{"items":{"type":"integer"},"readOnly":true,"type":"array"}},"required":["conclusions_affected","condition","created_at","internal_origin_uuid","outcome","strategy_versions"],"type":"object"},"CustomOutcomeOutcomeEnum":{"description":"* `COMPLETED_BREACHED_CONFIRMED` - COMPLETED_BREACHED_CONFIRMED\n* `COMPLETED_BREACHED_SUSPICIOUS` - COMPLETED_BREACHED_SUSPICIOUS\n* `COMPLETED_FALSE_ALERT` - COMPLETED_FALSE_ALERT","enum":["COMPLETED_BREACHED_CONFIRMED","COMPLETED_BREACHED_SUSPICIOUS","COMPLETED_FALSE_ALERT"],"type":"string"},"CustomPriority":{"properties":{"created_at":{"format":"date-time","readOnly":true,"type":"string"},"id":{"type":"integer"},"insight_tag_rule":{"additionalProperties":{},"nullable":true,"type":"object"},"internal_origin_uuid":{"format":"uuid","nullable":true,"readOnly":true,"type":"string"},"outcomes":{"items":{"$ref":"#/components/schemas/OutcomesEnum"},"minItems":1,"type":"array"},"priorities_affected":{"readOnly":true,"type":"integer"},"priority":{"$ref":"#/components/schemas/PriorityEnum"},"ranking":{"maximum":2147483647,"minimum":1,"type":"integer"},"strategy_versions":{"items":{"type":"integer"},"readOnly":true,"type":"array"}},"required":["created_at","internal_origin_uuid","priorities_affected","priority","strategy_versions"],"type":"object"},"OutcomesEnum":{"description":"* `COMPLETED_BREACHED_CONFIRMED` - COMPLETED_BREACHED_CONFIRMED\n* `COMPLETED_BREACHED_SUSPICIOUS` - COMPLETED_BREACHED_SUSPICIOUS\n* `COMPLETED_FALSE_ALERT` - COMPLETED_FALSE_ALERT\n* `INCOMPLETE` - INCOMPLETE\n* `IGNORED` - IGNORED","enum":["COMPLETED_BREACHED_CONFIRMED","COMPLETED_BREACHED_SUSPICIOUS","COMPLETED_FALSE_ALERT","INCOMPLETE","IGNORED"],"type":"string"},"PriorityEnum":{"description":"* `informational` - Informational\n* `notable` - Notable\n* `urgent` - Urgent","enum":["informational","notable","urgent"],"type":"string"}}},"paths":{"/app/api/v1/custom-strategies":{"post":{"description":"Create a new custom strategy","operationId":"custom_strategies_create","requestBody":{"content":{"application/json":{"schema":{"properties":{"alert_sources":{"items":{"type":"string"},"type":"array"},"attack_surfaces":{"items":{"type":"string"},"type":"array"},"instructions":{"items":{"type":"object"},"type":"array"},"is_enabled":{"default":false,"type":"boolean"},"mitre_tactics":{"items":{"type":"string"},"type":"array"},"outcomes":{"items":{"type":"object"},"type":"array"},"priorities":{"items":{"type":"object"},"type":"array"},"scenario":{"type":"string"},"title":{"type":"string"}},"required":["title"],"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FullCustomStrategy"}}},"description":"Custom strategy created successfully"},"400":{"content":{"application/json":{"schema":{"properties":{"error_msg":{"type":"string"}},"type":"object"}}},"description":"Bad request - invalid input"},"401":{"content":{"application/json":{"schema":{"properties":{"error_msg":{"type":"string"}},"type":"object"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"properties":{"detail":{"type":"string"}},"type":"object"}}},"description":"Access denied"},"500":{"content":{"application/json":{"schema":{"properties":{"error_msg":{"type":"string"}},"type":"object"}}},"description":"System error"},"503":{"content":{"application/json":{"schema":{"properties":{"error_msg":{"type":"string"}},"type":"object"}}},"description":"System not ready for requests"}},"tags":["custom-strategies"]}}}}
```

## GET /app/api/v1/custom-strategies/{strategy\_id}

> Get a specific custom strategy by ID. Includes both user-created and OOTB (protected) strategies.

```json
{"openapi":"3.0.3","info":{"title":"Dropzone AI","version":"0.1.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"in":"header","name":"Authorization","type":"apiKey"}},"schemas":{"FullCustomStrategy":{"description":"A serializer for a combined strategy and one of its versions.","properties":{"alert_sources":{"items":{"type":"string"},"type":"array"},"attack_surfaces":{"items":{"type":"string"},"type":"array"},"created_at":{"format":"date-time","readOnly":true,"type":"string"},"id":{"readOnly":true,"type":"integer"},"instructions":{"items":{"$ref":"#/components/schemas/CustomInstruction"},"readOnly":true,"type":"array"},"internal_origin_uuid":{"format":"uuid","readOnly":true,"type":"string"},"is_archived":{"readOnly":true,"type":"boolean"},"is_enabled":{"readOnly":true,"type":"boolean"},"is_latest":{"readOnly":true,"type":"boolean"},"is_protected":{"readOnly":true,"type":"boolean"},"mitre_tactics":{"items":{"type":"string"},"type":"array"},"outcomes":{"items":{"$ref":"#/components/schemas/CustomOutcome"},"readOnly":true,"type":"array"},"priorities":{"items":{"$ref":"#/components/schemas/CustomPriority"},"readOnly":true,"type":"array"},"scenario":{"nullable":true,"type":"string"},"title":{"readOnly":true,"type":"string"},"total_conclusions_affected":{"readOnly":true,"type":"integer"},"total_instructions_used":{"readOnly":true,"type":"integer"},"total_priorities_affected":{"readOnly":true,"type":"integer"},"updated_at":{"format":"date-time","readOnly":true,"type":"string"},"version_id":{"readOnly":true,"type":"integer"}},"required":["created_at","id","instructions","internal_origin_uuid","is_archived","is_enabled","is_latest","is_protected","outcomes","priorities","title","total_conclusions_affected","total_instructions_used","total_priorities_affected","updated_at","version_id"],"type":"object"},"CustomInstruction":{"properties":{"content":{"type":"string"},"created_at":{"format":"date-time","readOnly":true,"type":"string"},"id":{"type":"integer"},"internal_origin_uuid":{"format":"uuid","nullable":true,"readOnly":true,"type":"string"},"strategy_versions":{"items":{"type":"integer"},"readOnly":true,"type":"array"},"usage_count":{"readOnly":true,"type":"integer"}},"required":["content","created_at","internal_origin_uuid","strategy_versions","usage_count"],"type":"object"},"CustomOutcome":{"properties":{"conclusions_affected":{"readOnly":true,"type":"integer"},"condition":{"additionalProperties":{},"type":"object"},"created_at":{"format":"date-time","readOnly":true,"type":"string"},"id":{"type":"integer"},"internal_origin_uuid":{"format":"uuid","nullable":true,"readOnly":true,"type":"string"},"outcome":{"$ref":"#/components/schemas/CustomOutcomeOutcomeEnum"},"strategy_versions":{"items":{"type":"integer"},"readOnly":true,"type":"array"}},"required":["conclusions_affected","condition","created_at","internal_origin_uuid","outcome","strategy_versions"],"type":"object"},"CustomOutcomeOutcomeEnum":{"description":"* `COMPLETED_BREACHED_CONFIRMED` - COMPLETED_BREACHED_CONFIRMED\n* `COMPLETED_BREACHED_SUSPICIOUS` - COMPLETED_BREACHED_SUSPICIOUS\n* `COMPLETED_FALSE_ALERT` - COMPLETED_FALSE_ALERT","enum":["COMPLETED_BREACHED_CONFIRMED","COMPLETED_BREACHED_SUSPICIOUS","COMPLETED_FALSE_ALERT"],"type":"string"},"CustomPriority":{"properties":{"created_at":{"format":"date-time","readOnly":true,"type":"string"},"id":{"type":"integer"},"insight_tag_rule":{"additionalProperties":{},"nullable":true,"type":"object"},"internal_origin_uuid":{"format":"uuid","nullable":true,"readOnly":true,"type":"string"},"outcomes":{"items":{"$ref":"#/components/schemas/OutcomesEnum"},"minItems":1,"type":"array"},"priorities_affected":{"readOnly":true,"type":"integer"},"priority":{"$ref":"#/components/schemas/PriorityEnum"},"ranking":{"maximum":2147483647,"minimum":1,"type":"integer"},"strategy_versions":{"items":{"type":"integer"},"readOnly":true,"type":"array"}},"required":["created_at","internal_origin_uuid","priorities_affected","priority","strategy_versions"],"type":"object"},"OutcomesEnum":{"description":"* `COMPLETED_BREACHED_CONFIRMED` - COMPLETED_BREACHED_CONFIRMED\n* `COMPLETED_BREACHED_SUSPICIOUS` - COMPLETED_BREACHED_SUSPICIOUS\n* `COMPLETED_FALSE_ALERT` - COMPLETED_FALSE_ALERT\n* `INCOMPLETE` - INCOMPLETE\n* `IGNORED` - IGNORED","enum":["COMPLETED_BREACHED_CONFIRMED","COMPLETED_BREACHED_SUSPICIOUS","COMPLETED_FALSE_ALERT","INCOMPLETE","IGNORED"],"type":"string"},"PriorityEnum":{"description":"* `informational` - Informational\n* `notable` - Notable\n* `urgent` - Urgent","enum":["informational","notable","urgent"],"type":"string"}}},"paths":{"/app/api/v1/custom-strategies/{strategy_id}":{"get":{"description":"Get a specific custom strategy by ID. Includes both user-created and OOTB (protected) strategies.","operationId":"custom_strategies_retrieve_2","parameters":[{"in":"path","name":"strategy_id","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FullCustomStrategy"}}},"description":"Custom strategy details"},"401":{"content":{"application/json":{"schema":{"properties":{"error_msg":{"type":"string"}},"type":"object"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"properties":{"detail":{"type":"string"}},"type":"object"}}},"description":"Access denied"},"404":{"content":{"application/json":{"schema":{"properties":{"error_msg":{"type":"string"}},"type":"object"}}},"description":"Resource not found"},"500":{"content":{"application/json":{"schema":{"properties":{"error_msg":{"type":"string"}},"type":"object"}}},"description":"System error"},"503":{"content":{"application/json":{"schema":{"properties":{"error_msg":{"type":"string"}},"type":"object"}}},"description":"System not ready for requests"}},"tags":["custom-strategies"]}}}}
```

## PUT /app/api/v1/custom-strategies/{strategy\_id}

> Update a custom strategy (full replacement - creates new version)

```json
{"openapi":"3.0.3","info":{"title":"Dropzone AI","version":"0.1.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"in":"header","name":"Authorization","type":"apiKey"}},"schemas":{"FullCustomStrategy":{"description":"A serializer for a combined strategy and one of its versions.","properties":{"alert_sources":{"items":{"type":"string"},"type":"array"},"attack_surfaces":{"items":{"type":"string"},"type":"array"},"created_at":{"format":"date-time","readOnly":true,"type":"string"},"id":{"readOnly":true,"type":"integer"},"instructions":{"items":{"$ref":"#/components/schemas/CustomInstruction"},"readOnly":true,"type":"array"},"internal_origin_uuid":{"format":"uuid","readOnly":true,"type":"string"},"is_archived":{"readOnly":true,"type":"boolean"},"is_enabled":{"readOnly":true,"type":"boolean"},"is_latest":{"readOnly":true,"type":"boolean"},"is_protected":{"readOnly":true,"type":"boolean"},"mitre_tactics":{"items":{"type":"string"},"type":"array"},"outcomes":{"items":{"$ref":"#/components/schemas/CustomOutcome"},"readOnly":true,"type":"array"},"priorities":{"items":{"$ref":"#/components/schemas/CustomPriority"},"readOnly":true,"type":"array"},"scenario":{"nullable":true,"type":"string"},"title":{"readOnly":true,"type":"string"},"total_conclusions_affected":{"readOnly":true,"type":"integer"},"total_instructions_used":{"readOnly":true,"type":"integer"},"total_priorities_affected":{"readOnly":true,"type":"integer"},"updated_at":{"format":"date-time","readOnly":true,"type":"string"},"version_id":{"readOnly":true,"type":"integer"}},"required":["created_at","id","instructions","internal_origin_uuid","is_archived","is_enabled","is_latest","is_protected","outcomes","priorities","title","total_conclusions_affected","total_instructions_used","total_priorities_affected","updated_at","version_id"],"type":"object"},"CustomInstruction":{"properties":{"content":{"type":"string"},"created_at":{"format":"date-time","readOnly":true,"type":"string"},"id":{"type":"integer"},"internal_origin_uuid":{"format":"uuid","nullable":true,"readOnly":true,"type":"string"},"strategy_versions":{"items":{"type":"integer"},"readOnly":true,"type":"array"},"usage_count":{"readOnly":true,"type":"integer"}},"required":["content","created_at","internal_origin_uuid","strategy_versions","usage_count"],"type":"object"},"CustomOutcome":{"properties":{"conclusions_affected":{"readOnly":true,"type":"integer"},"condition":{"additionalProperties":{},"type":"object"},"created_at":{"format":"date-time","readOnly":true,"type":"string"},"id":{"type":"integer"},"internal_origin_uuid":{"format":"uuid","nullable":true,"readOnly":true,"type":"string"},"outcome":{"$ref":"#/components/schemas/CustomOutcomeOutcomeEnum"},"strategy_versions":{"items":{"type":"integer"},"readOnly":true,"type":"array"}},"required":["conclusions_affected","condition","created_at","internal_origin_uuid","outcome","strategy_versions"],"type":"object"},"CustomOutcomeOutcomeEnum":{"description":"* `COMPLETED_BREACHED_CONFIRMED` - COMPLETED_BREACHED_CONFIRMED\n* `COMPLETED_BREACHED_SUSPICIOUS` - COMPLETED_BREACHED_SUSPICIOUS\n* `COMPLETED_FALSE_ALERT` - COMPLETED_FALSE_ALERT","enum":["COMPLETED_BREACHED_CONFIRMED","COMPLETED_BREACHED_SUSPICIOUS","COMPLETED_FALSE_ALERT"],"type":"string"},"CustomPriority":{"properties":{"created_at":{"format":"date-time","readOnly":true,"type":"string"},"id":{"type":"integer"},"insight_tag_rule":{"additionalProperties":{},"nullable":true,"type":"object"},"internal_origin_uuid":{"format":"uuid","nullable":true,"readOnly":true,"type":"string"},"outcomes":{"items":{"$ref":"#/components/schemas/OutcomesEnum"},"minItems":1,"type":"array"},"priorities_affected":{"readOnly":true,"type":"integer"},"priority":{"$ref":"#/components/schemas/PriorityEnum"},"ranking":{"maximum":2147483647,"minimum":1,"type":"integer"},"strategy_versions":{"items":{"type":"integer"},"readOnly":true,"type":"array"}},"required":["created_at","internal_origin_uuid","priorities_affected","priority","strategy_versions"],"type":"object"},"OutcomesEnum":{"description":"* `COMPLETED_BREACHED_CONFIRMED` - COMPLETED_BREACHED_CONFIRMED\n* `COMPLETED_BREACHED_SUSPICIOUS` - COMPLETED_BREACHED_SUSPICIOUS\n* `COMPLETED_FALSE_ALERT` - COMPLETED_FALSE_ALERT\n* `INCOMPLETE` - INCOMPLETE\n* `IGNORED` - IGNORED","enum":["COMPLETED_BREACHED_CONFIRMED","COMPLETED_BREACHED_SUSPICIOUS","COMPLETED_FALSE_ALERT","INCOMPLETE","IGNORED"],"type":"string"},"PriorityEnum":{"description":"* `informational` - Informational\n* `notable` - Notable\n* `urgent` - Urgent","enum":["informational","notable","urgent"],"type":"string"}}},"paths":{"/app/api/v1/custom-strategies/{strategy_id}":{"put":{"description":"Update a custom strategy (full replacement - creates new version)","operationId":"custom_strategies_update","parameters":[{"in":"path","name":"strategy_id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"alert_sources":{"items":{"type":"string"},"type":"array"},"attack_surfaces":{"items":{"type":"string"},"type":"array"},"instructions":{"items":{"type":"object"},"type":"array"},"is_enabled":{"type":"boolean"},"mitre_tactics":{"items":{"type":"string"},"type":"array"},"outcomes":{"items":{"type":"object"},"type":"array"},"priorities":{"items":{"type":"object"},"type":"array"},"scenario":{"type":"string"},"title":{"type":"string"}},"required":["title"],"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FullCustomStrategy"}}},"description":"Strategy updated successfully"},"400":{"content":{"application/json":{"schema":{"properties":{"error_msg":{"type":"string"}},"type":"object"}}},"description":"Bad request - invalid input"},"401":{"content":{"application/json":{"schema":{"properties":{"error_msg":{"type":"string"}},"type":"object"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"properties":{"detail":{"type":"string"}},"type":"object"}}},"description":"Access denied"},"500":{"content":{"application/json":{"schema":{"properties":{"error_msg":{"type":"string"}},"type":"object"}}},"description":"System error"},"503":{"content":{"application/json":{"schema":{"properties":{"error_msg":{"type":"string"}},"type":"object"}}},"description":"System not ready for requests"}},"tags":["custom-strategies"]}}}}
```

## DELETE /app/api/v1/custom-strategies/{strategy\_id}

> Delete or archive a custom strategy (archives if referenced by investigations)

```json
{"openapi":"3.0.3","info":{"title":"Dropzone AI","version":"0.1.0"},"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"in":"header","name":"Authorization","type":"apiKey"}}},"paths":{"/app/api/v1/custom-strategies/{strategy_id}":{"delete":{"description":"Delete or archive a custom strategy (archives if referenced by investigations)","operationId":"custom_strategies_destroy","parameters":[{"in":"path","name":"strategy_id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Strategy deleted or archived successfully"},"400":{"content":{"application/json":{"schema":{"properties":{"error_msg":{"type":"string"}},"type":"object"}}},"description":"Cannot delete already archived strategy"},"401":{"content":{"application/json":{"schema":{"properties":{"error_msg":{"type":"string"}},"type":"object"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"properties":{"detail":{"type":"string"}},"type":"object"}}},"description":"Access denied"},"404":{"content":{"application/json":{"schema":{"properties":{"error_msg":{"type":"string"}},"type":"object"}}},"description":"Resource not found"},"500":{"content":{"application/json":{"schema":{"properties":{"error_msg":{"type":"string"}},"type":"object"}}},"description":"System error"},"503":{"content":{"application/json":{"schema":{"properties":{"error_msg":{"type":"string"}},"type":"object"}}},"description":"System not ready for requests"}},"tags":["custom-strategies"]}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dropzone.ai/api/custom-strategies.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
