# 1stLine API - **OpenAPI Version:** `3.1.1` - **API Version:** `1.0.0` API documentation ## Operations ### POST /api/schemas/new - **Method:** `POST` - **Path:** `/api/schemas/new` - **Tags:** Schemas Create new schema from alert payload using schema creation token Authorization: requires a valid schema creation token for the target organization. #### Request Body ##### Content-Type: application/json **Example:** ``` { "propertyName*": "anything" } ``` #### Responses ##### Status: 200 Schema created successfully ###### Content-Type: application/json - **`data`** `object` - **`fields`** `array` **Items:** - **`name`** `string` - **`schemaToken`** `string` - **`uid`** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "name": "", "fields": [ {} ], "schemaToken": "" } } ``` ##### Status: 400 Invalid payload format ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 401 Invalid or missing schema creation token ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/schemas/library/global - **Method:** `GET` - **Path:** `/api/schemas/library/global` - **Tags:** Schemas List global library schemas. Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Library schemas retrieved successfully ###### Content-Type: application/json - **`count` (required)** `number` - **`data` (required)** `array` **Items:** - **`createdAt` (required)** `string` - **`name` (required)** `string` - **`schema` (required)** `object` - **`fields` (required)** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `string` - **`defaultValue`** `object` - **`description`** `string` - **`ack_mapping`** `object` - **`ack_link`** `string` - **`description`** `string` - **`fallback_title`** `string` - **`overrides`** `object` - **`status`** `string` - **`title`** `string` - **`unack_link`** `string` - **`ai_escalation_mapping`** `object` - **`ai_override_forward_to`** `object` - **`allow_guest_ack`** `boolean` - **`default_forward_to`** `object` - **`fingerprint_fields`** `array` **Items:** `string` - **`incident_lifecycle_mapping`** `object` - **`patterns`** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`proxy_recurrent_alerts`** `object` - **`resolution_mapping`** `object` - **`resolution_patterns`** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`resolution_proxy_config`** `object`, possible values: `"all", "initial", "1stLine", "none"` - **`sample`** `object` - **`transformation_template`** `object` - **`scope` (required)** `object` - **`uid` (required)** `string` - **`updatedAt` (required)** `string` - **`description`** `string` - **`orgUid`** `string` - **`source`** `object` - **`packagePath`** `string` - **`sourceRepoRef`** `object` - **`visibility`** `string` - **`tags`** `array` **Items:** `string` - **`success` (required)** `boolean` - **`cursor`** `object` **Example:** ``` { "success": true, "data": [ { "uid": "", "name": "", "description": "", "tags": [ "" ], "scope": "global", "orgUid": "", "source": { "packagePath": "", "sourceRepoRef": "", "visibility": "" }, "schema": { "fields": [ { "name": "", "type": "", "description": "", "defaultValue": null } ], "transformation_template": { "propertyName*": "" }, "sample": null, "patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "...": "[Additional Properties Truncated]" } ], "ack_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "ack_link": "", "unack_link": "", "overrides": { "propertyName*": "" } }, "allow_guest_ack": true, "resolution_patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "...": "[Additional Properties Truncated]" } ], "resolution_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "resolve_link": "", "overrides": { "propertyName*": "" } }, "incident_lifecycle_mapping": { "created": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "reopened": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "resolved": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "closed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "priority_changed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } } }, "ai_escalation_mapping": { "enabled": true, "title": "", "fallback_title": "", "message": "", "assignment_link": "", "overrides": { "propertyName*": "" } }, "default_forward_to": "", "ai_override_forward_to": "", "resolution_proxy_config": "all", "proxy_recurrent_alerts": true, "fingerprint_fields": [ "" ] }, "createdAt": "", "updatedAt": "" } ], "cursor": "", "count": 1 } ``` ##### Status: 500 Failed to list library schemas ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/schemas/library/global/{librarySchemaUid} - **Method:** `GET` - **Path:** `/api/schemas/library/global/{librarySchemaUid}` - **Tags:** Schemas Get a single global library schema. Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Library schema retrieved successfully ###### Content-Type: application/json - **`data`** `object` - **`createdAt` (required)** `string` - **`name` (required)** `string` - **`schema` (required)** `object` - **`fields` (required)** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `string` - **`defaultValue`** `object` - **`description`** `string` - **`ack_mapping`** `object` - **`ack_link`** `string` - **`description`** `string` - **`fallback_title`** `string` - **`overrides`** `object` - **`status`** `string` - **`title`** `string` - **`unack_link`** `string` - **`ai_escalation_mapping`** `object` - **`ai_override_forward_to`** `object` - **`allow_guest_ack`** `boolean` - **`default_forward_to`** `object` - **`fingerprint_fields`** `array` **Items:** `string` - **`incident_lifecycle_mapping`** `object` - **`patterns`** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`proxy_recurrent_alerts`** `object` - **`resolution_mapping`** `object` - **`resolution_patterns`** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`resolution_proxy_config`** `object`, possible values: `"all", "initial", "1stLine", "none"` - **`sample`** `object` - **`transformation_template`** `object` - **`scope` (required)** `object` - **`uid` (required)** `string` - **`updatedAt` (required)** `string` - **`description`** `string` - **`orgUid`** `string` - **`source`** `object` - **`packagePath`** `string` - **`sourceRepoRef`** `object` - **`visibility`** `string` - **`tags`** `array` **Items:** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "name": "", "description": "", "tags": [ "" ], "scope": "global", "orgUid": "", "source": { "packagePath": "", "sourceRepoRef": "", "visibility": "" }, "schema": { "fields": [ { "name": "", "type": "", "description": "", "defaultValue": null } ], "transformation_template": { "propertyName*": "" }, "sample": null, "patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "...": "[Additional Properties Truncated]" } ], "ack_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "ack_link": "", "unack_link": "", "overrides": { "propertyName*": "" } }, "allow_guest_ack": true, "resolution_patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "...": "[Additional Properties Truncated]" } ], "resolution_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "resolve_link": "", "overrides": { "propertyName*": "" } }, "incident_lifecycle_mapping": { "created": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "reopened": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "resolved": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "closed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "priority_changed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } } }, "ai_escalation_mapping": { "enabled": true, "title": "", "fallback_title": "", "message": "", "assignment_link": "", "overrides": { "propertyName*": "" } }, "default_forward_to": "", "ai_override_forward_to": "", "resolution_proxy_config": "all", "proxy_recurrent_alerts": true, "fingerprint_fields": [ "" ] }, "createdAt": "", "updatedAt": "" } } ``` ##### Status: 404 Library schema not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/schemas/library/org - **Method:** `GET` - **Path:** `/api/schemas/library/org` - **Tags:** Schemas List organization library schemas. Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Library schemas retrieved successfully ###### Content-Type: application/json - **`count` (required)** `number` - **`data` (required)** `array` **Items:** - **`createdAt` (required)** `string` - **`name` (required)** `string` - **`schema` (required)** `object` - **`fields` (required)** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `string` - **`defaultValue`** `object` - **`description`** `string` - **`ack_mapping`** `object` - **`ack_link`** `string` - **`description`** `string` - **`fallback_title`** `string` - **`overrides`** `object` - **`status`** `string` - **`title`** `string` - **`unack_link`** `string` - **`ai_escalation_mapping`** `object` - **`ai_override_forward_to`** `object` - **`allow_guest_ack`** `boolean` - **`default_forward_to`** `object` - **`fingerprint_fields`** `array` **Items:** `string` - **`incident_lifecycle_mapping`** `object` - **`patterns`** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`proxy_recurrent_alerts`** `object` - **`resolution_mapping`** `object` - **`resolution_patterns`** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`resolution_proxy_config`** `object`, possible values: `"all", "initial", "1stLine", "none"` - **`sample`** `object` - **`transformation_template`** `object` - **`scope` (required)** `object` - **`uid` (required)** `string` - **`updatedAt` (required)** `string` - **`description`** `string` - **`orgUid`** `string` - **`source`** `object` - **`packagePath`** `string` - **`sourceRepoRef`** `object` - **`visibility`** `string` - **`tags`** `array` **Items:** `string` - **`success` (required)** `boolean` - **`cursor`** `object` **Example:** ``` { "success": true, "data": [ { "uid": "", "name": "", "description": "", "tags": [ "" ], "scope": "global", "orgUid": "", "source": { "packagePath": "", "sourceRepoRef": "", "visibility": "" }, "schema": { "fields": [ { "name": "", "type": "", "description": "", "defaultValue": null } ], "transformation_template": { "propertyName*": "" }, "sample": null, "patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "...": "[Additional Properties Truncated]" } ], "ack_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "ack_link": "", "unack_link": "", "overrides": { "propertyName*": "" } }, "allow_guest_ack": true, "resolution_patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "...": "[Additional Properties Truncated]" } ], "resolution_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "resolve_link": "", "overrides": { "propertyName*": "" } }, "incident_lifecycle_mapping": { "created": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "reopened": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "resolved": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "closed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "priority_changed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } } }, "ai_escalation_mapping": { "enabled": true, "title": "", "fallback_title": "", "message": "", "assignment_link": "", "overrides": { "propertyName*": "" } }, "default_forward_to": "", "ai_override_forward_to": "", "resolution_proxy_config": "all", "proxy_recurrent_alerts": true, "fingerprint_fields": [ "" ] }, "createdAt": "", "updatedAt": "" } ], "cursor": "", "count": 1 } ``` ##### Status: 500 Failed to list library schemas ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/schemas/library/org - **Method:** `POST` - **Path:** `/api/schemas/library/org` - **Tags:** Schemas Create a new organization-scoped library schema. Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Request Body ##### Content-Type: application/json - **`name` (required)** `string` - **`schema` (required)** `object` - **`fields` (required)** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `string` - **`defaultValue`** `object` - **`description`** `string` - **`ack_mapping`** `object` - **`ack_link`** `string` - **`description`** `string` - **`fallback_title`** `string` - **`overrides`** `object` - **`status`** `string` - **`title`** `string` - **`unack_link`** `string` - **`ai_escalation_mapping`** `object` - **`ai_override_forward_to`** `object` - **`allow_guest_ack`** `boolean` - **`default_forward_to`** `object` - **`fingerprint_fields`** `array` **Items:** `string` - **`incident_lifecycle_mapping`** `object` - **`patterns`** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`proxy_recurrent_alerts`** `object` - **`resolution_mapping`** `object` - **`resolution_patterns`** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`resolution_proxy_config`** `object`, possible values: `"all", "initial", "1stLine", "none"` - **`sample`** `object` - **`transformation_template`** `object` - **`description`** `string` - **`tags`** `array` **Items:** `string` **Example:** ``` { "name": "", "description": "", "tags": [ "" ], "schema": { "fields": [ { "name": "", "type": "", "description": "", "defaultValue": null } ], "transformation_template": { "propertyName*": "" }, "sample": null, "patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "fallbacks": [ { "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "" } ] } ], "ack_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "ack_link": "", "unack_link": "", "overrides": { "propertyName*": "" } }, "allow_guest_ack": true, "resolution_patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "fallbacks": [ { "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "" } ] } ], "resolution_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "resolve_link": "", "overrides": { "propertyName*": "" } }, "incident_lifecycle_mapping": { "created": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "reopened": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "resolved": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "closed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "priority_changed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } } }, "ai_escalation_mapping": { "enabled": true, "title": "", "fallback_title": "", "message": "", "assignment_link": "", "overrides": { "propertyName*": "" } }, "default_forward_to": "", "ai_override_forward_to": "", "resolution_proxy_config": "all", "proxy_recurrent_alerts": true, "fingerprint_fields": [ "" ] } } ``` #### Responses ##### Status: 200 Library schema created successfully ###### Content-Type: application/json - **`data`** `object` - **`createdAt` (required)** `string` - **`name` (required)** `string` - **`schema` (required)** `object` - **`fields` (required)** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `string` - **`defaultValue`** `object` - **`description`** `string` - **`ack_mapping`** `object` - **`ack_link`** `string` - **`description`** `string` - **`fallback_title`** `string` - **`overrides`** `object` - **`status`** `string` - **`title`** `string` - **`unack_link`** `string` - **`ai_escalation_mapping`** `object` - **`ai_override_forward_to`** `object` - **`allow_guest_ack`** `boolean` - **`default_forward_to`** `object` - **`fingerprint_fields`** `array` **Items:** `string` - **`incident_lifecycle_mapping`** `object` - **`patterns`** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`proxy_recurrent_alerts`** `object` - **`resolution_mapping`** `object` - **`resolution_patterns`** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`resolution_proxy_config`** `object`, possible values: `"all", "initial", "1stLine", "none"` - **`sample`** `object` - **`transformation_template`** `object` - **`scope` (required)** `object` - **`uid` (required)** `string` - **`updatedAt` (required)** `string` - **`description`** `string` - **`orgUid`** `string` - **`source`** `object` - **`packagePath`** `string` - **`sourceRepoRef`** `object` - **`visibility`** `string` - **`tags`** `array` **Items:** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "name": "", "description": "", "tags": [ "" ], "scope": "global", "orgUid": "", "source": { "packagePath": "", "sourceRepoRef": "", "visibility": "" }, "schema": { "fields": [ { "name": "", "type": "", "description": "", "defaultValue": null } ], "transformation_template": { "propertyName*": "" }, "sample": null, "patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "...": "[Additional Properties Truncated]" } ], "ack_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "ack_link": "", "unack_link": "", "overrides": { "propertyName*": "" } }, "allow_guest_ack": true, "resolution_patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "...": "[Additional Properties Truncated]" } ], "resolution_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "resolve_link": "", "overrides": { "propertyName*": "" } }, "incident_lifecycle_mapping": { "created": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "reopened": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "resolved": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "closed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "priority_changed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } } }, "ai_escalation_mapping": { "enabled": true, "title": "", "fallback_title": "", "message": "", "assignment_link": "", "overrides": { "propertyName*": "" } }, "default_forward_to": "", "ai_override_forward_to": "", "resolution_proxy_config": "all", "proxy_recurrent_alerts": true, "fingerprint_fields": [ "" ] }, "createdAt": "", "updatedAt": "" } } ``` ### GET /api/schemas/library/org/{librarySchemaUid} - **Method:** `GET` - **Path:** `/api/schemas/library/org/{librarySchemaUid}` - **Tags:** Schemas Get an organization library schema. Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Library schema retrieved successfully ###### Content-Type: application/json - **`data`** `object` - **`createdAt` (required)** `string` - **`name` (required)** `string` - **`schema` (required)** `object` - **`fields` (required)** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `string` - **`defaultValue`** `object` - **`description`** `string` - **`ack_mapping`** `object` - **`ack_link`** `string` - **`description`** `string` - **`fallback_title`** `string` - **`overrides`** `object` - **`status`** `string` - **`title`** `string` - **`unack_link`** `string` - **`ai_escalation_mapping`** `object` - **`ai_override_forward_to`** `object` - **`allow_guest_ack`** `boolean` - **`default_forward_to`** `object` - **`fingerprint_fields`** `array` **Items:** `string` - **`incident_lifecycle_mapping`** `object` - **`patterns`** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`proxy_recurrent_alerts`** `object` - **`resolution_mapping`** `object` - **`resolution_patterns`** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`resolution_proxy_config`** `object`, possible values: `"all", "initial", "1stLine", "none"` - **`sample`** `object` - **`transformation_template`** `object` - **`scope` (required)** `object` - **`uid` (required)** `string` - **`updatedAt` (required)** `string` - **`description`** `string` - **`orgUid`** `string` - **`source`** `object` - **`packagePath`** `string` - **`sourceRepoRef`** `object` - **`visibility`** `string` - **`tags`** `array` **Items:** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "name": "", "description": "", "tags": [ "" ], "scope": "global", "orgUid": "", "source": { "packagePath": "", "sourceRepoRef": "", "visibility": "" }, "schema": { "fields": [ { "name": "", "type": "", "description": "", "defaultValue": null } ], "transformation_template": { "propertyName*": "" }, "sample": null, "patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "...": "[Additional Properties Truncated]" } ], "ack_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "ack_link": "", "unack_link": "", "overrides": { "propertyName*": "" } }, "allow_guest_ack": true, "resolution_patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "...": "[Additional Properties Truncated]" } ], "resolution_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "resolve_link": "", "overrides": { "propertyName*": "" } }, "incident_lifecycle_mapping": { "created": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "reopened": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "resolved": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "closed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "priority_changed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } } }, "ai_escalation_mapping": { "enabled": true, "title": "", "fallback_title": "", "message": "", "assignment_link": "", "overrides": { "propertyName*": "" } }, "default_forward_to": "", "ai_override_forward_to": "", "resolution_proxy_config": "all", "proxy_recurrent_alerts": true, "fingerprint_fields": [ "" ] }, "createdAt": "", "updatedAt": "" } } ``` ##### Status: 404 Library schema not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### PUT /api/schemas/library/org/{librarySchemaUid} - **Method:** `PUT` - **Path:** `/api/schemas/library/org/{librarySchemaUid}` - **Tags:** Schemas Update an organization library schema. Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Request Body ##### Content-Type: application/json - **`description` (required)** `object` - **`name` (required)** `string` - **`schema` (required)** `object` - **`ack_mapping` (required)** `object` - **`ai_escalation_mapping` (required)** `object` - **`ai_override_forward_to` (required)** `object` - **`allow_guest_ack` (required)** `boolean` - **`default_forward_to` (required)** `object` - **`fields` (required)** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `string` - **`defaultValue`** `object` - **`description`** `string` - **`fingerprint_fields` (required)** `array` **Items:** `string` - **`incident_lifecycle_mapping` (required)** `object` - **`patterns` (required)** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`resolution_mapping` (required)** `object` - **`resolution_patterns` (required)** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`resolution_proxy_config` (required)** `object`, possible values: `"all", "initial", "1stLine", "none"` - **`sample` (required)** `object` - **`proxy_recurrent_alerts`** `object` - **`transformation_template`** `object` - **`tags` (required)** `array` **Items:** `string` **Example:** ``` { "name": "", "description": "", "tags": [ "" ], "schema": { "fields": [ { "name": "", "type": "", "description": "", "defaultValue": null } ], "transformation_template": { "propertyName*": "" }, "sample": null, "patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "fallbacks": [ { "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "" } ] } ], "ack_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "ack_link": "", "unack_link": "", "overrides": { "propertyName*": "" } }, "allow_guest_ack": true, "resolution_patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "fallbacks": [ { "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "" } ] } ], "resolution_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "resolve_link": "", "overrides": { "propertyName*": "" } }, "incident_lifecycle_mapping": { "created": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "reopened": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "resolved": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "closed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "priority_changed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } } }, "ai_escalation_mapping": { "enabled": true, "title": "", "fallback_title": "", "message": "", "assignment_link": "", "overrides": { "propertyName*": "" } }, "default_forward_to": "", "ai_override_forward_to": "", "resolution_proxy_config": "all", "proxy_recurrent_alerts": true, "fingerprint_fields": [ "" ] } } ``` #### Responses ##### Status: 200 Library schema updated successfully ###### Content-Type: application/json - **`data`** `object` - **`createdAt` (required)** `string` - **`name` (required)** `string` - **`schema` (required)** `object` - **`fields` (required)** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `string` - **`defaultValue`** `object` - **`description`** `string` - **`ack_mapping`** `object` - **`ack_link`** `string` - **`description`** `string` - **`fallback_title`** `string` - **`overrides`** `object` - **`status`** `string` - **`title`** `string` - **`unack_link`** `string` - **`ai_escalation_mapping`** `object` - **`ai_override_forward_to`** `object` - **`allow_guest_ack`** `boolean` - **`default_forward_to`** `object` - **`fingerprint_fields`** `array` **Items:** `string` - **`incident_lifecycle_mapping`** `object` - **`patterns`** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`proxy_recurrent_alerts`** `object` - **`resolution_mapping`** `object` - **`resolution_patterns`** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`resolution_proxy_config`** `object`, possible values: `"all", "initial", "1stLine", "none"` - **`sample`** `object` - **`transformation_template`** `object` - **`scope` (required)** `object` - **`uid` (required)** `string` - **`updatedAt` (required)** `string` - **`description`** `string` - **`orgUid`** `string` - **`source`** `object` - **`packagePath`** `string` - **`sourceRepoRef`** `object` - **`visibility`** `string` - **`tags`** `array` **Items:** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "name": "", "description": "", "tags": [ "" ], "scope": "global", "orgUid": "", "source": { "packagePath": "", "sourceRepoRef": "", "visibility": "" }, "schema": { "fields": [ { "name": "", "type": "", "description": "", "defaultValue": null } ], "transformation_template": { "propertyName*": "" }, "sample": null, "patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "...": "[Additional Properties Truncated]" } ], "ack_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "ack_link": "", "unack_link": "", "overrides": { "propertyName*": "" } }, "allow_guest_ack": true, "resolution_patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "...": "[Additional Properties Truncated]" } ], "resolution_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "resolve_link": "", "overrides": { "propertyName*": "" } }, "incident_lifecycle_mapping": { "created": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "reopened": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "resolved": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "closed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "priority_changed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } } }, "ai_escalation_mapping": { "enabled": true, "title": "", "fallback_title": "", "message": "", "assignment_link": "", "overrides": { "propertyName*": "" } }, "default_forward_to": "", "ai_override_forward_to": "", "resolution_proxy_config": "all", "proxy_recurrent_alerts": true, "fingerprint_fields": [ "" ] }, "createdAt": "", "updatedAt": "" } } ``` ### DELETE /api/schemas/library/org/{librarySchemaUid} - **Method:** `DELETE` - **Path:** `/api/schemas/library/org/{librarySchemaUid}` - **Tags:** Schemas Delete an organization library schema. Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Responses ##### Status: 200 Library schema deleted successfully ###### Content-Type: application/json - **`message` (required)** `string` - **`success` (required)** `object` **Example:** ``` { "success": true, "message": "" } ``` ### POST /api/schemas/library/{librarySchemaUid} - **Method:** `POST` - **Path:** `/api/schemas/library/{librarySchemaUid}` - **Tags:** Schemas Create a schema from a library entry without requiring a creation token. Uses a temporary name; users can rename/edit afterward. Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Responses ##### Status: 200 Schema created successfully from library definition ###### Content-Type: application/json **All of:** - **`created_at` (required)** `string`, format: `date-time` - **`enabled` (required)** `boolean` - **`fields` (required)** `object` - **`fingerprint_fields` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`patterns` (required)** `object` - **`resolution_patterns` (required)** `object` - **`resolution_proxy_config` (required)** `object` - **`sample` (required)** `object` - **`schema_token` (required)** `string` - **`uid` (required)** `string` - **`ack_mapping`** `object` - **`ack_link`** `string` - **`description`** `string` - **`fallback_title`** `string` - **`overrides`** `object` - **`status`** `string` - **`title`** `string` - **`unack_link`** `string` - **`ai_escalation_mapping`** `object` - **`allow_guest_ack`** `boolean` - **`incident_lifecycle_mapping`** `object` - **`last_used_at`** `string`, format: `date-time` - **`proxy_recurrent_alerts`** `boolean` - **`resolution_mapping`** `object` - **`description`** `string` - **`fallback_title`** `string` - **`overrides`** `object` - **`resolve_link`** `string` - **`status`** `string` - **`title`** `string` - **`transformation_template`** `object` * **`ai_override_forward_to`** `null` * **`ai_override_forward_to_configured`** `boolean` * **`default_forward_to`** `null` * **`default_forward_to_configured`** `boolean` **Example:** ``` { "org_uid": "", "schema_token": "", "uid": "", "name": "", "fields": "", "transformation_template": { "propertyName*": "" }, "sample": "", "patterns": "", "resolution_patterns": "", "resolution_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "resolve_link": "", "overrides": { "propertyName*": "" } }, "incident_lifecycle_mapping": { "created": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "reopened": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "resolved": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "closed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "priority_changed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } } }, "ai_escalation_mapping": { "enabled": true, "title": "", "fallback_title": "", "message": "", "assignment_link": "", "overrides": { "propertyName*": "" } }, "fingerprint_fields": "", "created_at": "", "last_used_at": "", "enabled": true, "resolution_proxy_config": "", "proxy_recurrent_alerts": true, "ack_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "ack_link": "", "unack_link": "", "overrides": { "propertyName*": "" } }, "allow_guest_ack": true, "default_forward_to": null, "default_forward_to_configured": true, "ai_override_forward_to": null, "ai_override_forward_to_configured": true } ``` ### GET /api/schemas/creation-status - **Method:** `GET` - **Path:** `/api/schemas/creation-status` - **Tags:** Schemas WebSocket endpoint for real-time tracking of schema creation status. Requires WebSocket upgrade header. Polls status every second and sends updates when status changes. Connection closes automatically when terminal state is reached (schema\_created, aborted, or expired). Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 101 WebSocket connection established. Server will send JSON messages with status updates. ##### Status: 400 Bad request - missing token, missing org context, or WebSocket upgrade not requested ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 401 Unauthorized - invalid or expired schema creation token ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/schemas/creation-token - **Method:** `POST` - **Path:** `/api/schemas/creation-token` - **Tags:** Schemas Create a new schema creation token for schema creation process Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Responses ##### Status: 200 Schema creation token created successfully ###### Content-Type: application/json - **`data`** `object` - **`expires_at`** `number` - **`token`** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "token": "", "expires_at": 1 } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### DELETE /api/schemas/creation-token - **Method:** `DELETE` - **Path:** `/api/schemas/creation-token` - **Tags:** Schemas Abort schema creation by invalidating schema creation token Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Responses ##### Status: 200 Schema creation aborted successfully ###### Content-Type: application/json - **`data`** `object` - **`expires_at`** `number` - **`token`** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "token": "", "expires_at": 1 } } ``` ##### Status: 400 Missing token parameter ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/schemas - **Method:** `GET` - **Path:** `/api/schemas` - **Tags:** Schemas List all schemas for the organization Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Schemas retrieved successfully ###### Content-Type: application/json - **`count`** `number` - **`data`** `array` **Items:** **All of:** - **`created_at` (required)** `string`, format: `date-time` - **`enabled` (required)** `boolean` - **`fields` (required)** `object` - **`fingerprint_fields` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`patterns` (required)** `object` - **`resolution_patterns` (required)** `object` - **`resolution_proxy_config` (required)** `object` - **`sample` (required)** `object` - **`schema_token` (required)** `string` - **`uid` (required)** `string` - **`ack_mapping`** `object` - **`ack_link`** `string` - **`description`** `string` - **`fallback_title`** `string` - **`overrides`** `object` - **`status`** `string` - **`title`** `string` - **`unack_link`** `string` - **`ai_escalation_mapping`** `object` - **`allow_guest_ack`** `boolean` - **`incident_lifecycle_mapping`** `object` - **`last_used_at`** `string`, format: `date-time` - **`proxy_recurrent_alerts`** `boolean` - **`resolution_mapping`** `object` - **`description`** `string` - **`fallback_title`** `string` - **`overrides`** `object` - **`resolve_link`** `string` - **`status`** `string` - **`title`** `string` - **`transformation_template`** `object` * **`ai_override_forward_to`** `null` * **`ai_override_forward_to_configured`** `boolean` * **`default_forward_to`** `null` * **`default_forward_to_configured`** `boolean` - **`success`** `boolean` **Example:** ``` { "success": true, "data": [ { "org_uid": "", "schema_token": "", "uid": "", "name": "", "fields": "", "transformation_template": { "propertyName*": "" }, "sample": "", "patterns": "", "resolution_patterns": "", "resolution_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "resolve_link": "", "overrides": { "propertyName*": "" } }, "incident_lifecycle_mapping": { "created": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "reopened": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "resolved": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "closed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "priority_changed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } } }, "ai_escalation_mapping": { "enabled": true, "title": "", "fallback_title": "", "message": "", "assignment_link": "", "overrides": { "propertyName*": "" } }, "fingerprint_fields": "", "created_at": "", "last_used_at": "", "enabled": true, "resolution_proxy_config": "", "proxy_recurrent_alerts": true, "ack_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "ack_link": "", "unack_link": "", "overrides": { "propertyName*": "" } }, "allow_guest_ack": true, "default_forward_to": null, "default_forward_to_configured": true, "ai_override_forward_to": null, "ai_override_forward_to_configured": true } ], "count": 1 } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/schemas/{schemaUid} - **Method:** `GET` - **Path:** `/api/schemas/{schemaUid}` - **Tags:** Schemas Get a single schema by UID Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Schema retrieved successfully ###### Content-Type: application/json - **`data`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "org_uid": "", "schema_token": "", "uid": "", "name": "", "fields": "", "transformation_template": { "propertyName*": "" }, "sample": "", "patterns": "", "resolution_patterns": "", "resolution_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "resolve_link": "", "overrides": { "propertyName*": "" } }, "incident_lifecycle_mapping": { "created": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "reopened": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "resolved": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "closed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "priority_changed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } } }, "ai_escalation_mapping": { "enabled": true, "title": "", "fallback_title": "", "message": "", "assignment_link": "", "overrides": { "propertyName*": "" } }, "fingerprint_fields": "", "created_at": "", "last_used_at": "", "enabled": true, "resolution_proxy_config": "", "proxy_recurrent_alerts": true, "ack_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "ack_link": "", "unack_link": "", "overrides": { "propertyName*": "" } }, "allow_guest_ack": true, "default_forward_to": null, "default_forward_to_configured": true, "ai_override_forward_to": null, "ai_override_forward_to_configured": true } } ``` ##### Status: 404 Schema not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### PUT /api/schemas/{schemaUid} - **Method:** `PUT` - **Path:** `/api/schemas/{schemaUid}` - **Tags:** Schemas Update an existing schema Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Request Body ##### Content-Type: application/json **All of:** - **`enabled` (required)** `boolean` - **`name` (required)** `string` * **`ack_mapping` (required)** `object` * **`ai_escalation_mapping` (required)** `object` * **`allow_guest_ack` (required)** `boolean` * **`fields` (required)** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `string` - **`defaultValue`** `object` - **`description`** `string` * **`fingerprint_fields` (required)** `array` **Items:** `string` * **`incident_lifecycle_mapping` (required)** `object` * **`patterns` (required)** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` * **`resolution_mapping` (required)** `object` * **`resolution_patterns` (required)** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` * **`resolution_proxy_config` (required)** `object`, possible values: `"all", "initial", "1stLine", "none"` * **`sample` (required)** `object` * **`ai_override_forward_to`** `object` * **`default_forward_to`** `object` * **`proxy_recurrent_alerts`** `object` * **`transformation_template`** `object` **Example:** ``` { "name": "", "enabled": true, "fields": [ { "name": "", "type": "", "description": "", "defaultValue": null } ], "transformation_template": { "propertyName*": "" }, "sample": null, "patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "...": "[Additional Properties Truncated]" } ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "fallbacks": [ { "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "...": "[Additional Properties Truncated]" } ], "dictionary": null, "saveIntermediate": true, "sourceField": "" } ] } ], "ack_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "ack_link": "", "unack_link": "", "overrides": { "propertyName*": "" } }, "allow_guest_ack": true, "resolution_patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "fallbacks": [ { "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "" } ] } ], "resolution_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "resolve_link": "", "overrides": { "propertyName*": "" } }, "incident_lifecycle_mapping": { "created": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "reopened": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "resolved": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "closed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "priority_changed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } } }, "ai_escalation_mapping": { "enabled": true, "title": "", "fallback_title": "", "message": "", "assignment_link": "", "overrides": { "propertyName*": "" } }, "default_forward_to": "", "ai_override_forward_to": "", "resolution_proxy_config": "all", "proxy_recurrent_alerts": true, "fingerprint_fields": [ "" ] } ``` #### Responses ##### Status: 200 Schema updated successfully ###### Content-Type: application/json - **`data`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "org_uid": "", "schema_token": "", "uid": "", "name": "", "fields": "", "transformation_template": { "propertyName*": "" }, "sample": "", "patterns": "", "resolution_patterns": "", "resolution_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "resolve_link": "", "overrides": { "propertyName*": "" } }, "incident_lifecycle_mapping": { "created": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "reopened": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "resolved": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "closed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "priority_changed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } } }, "ai_escalation_mapping": { "enabled": true, "title": "", "fallback_title": "", "message": "", "assignment_link": "", "overrides": { "propertyName*": "" } }, "fingerprint_fields": "", "created_at": "", "last_used_at": "", "enabled": true, "resolution_proxy_config": "", "proxy_recurrent_alerts": true, "ack_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "ack_link": "", "unack_link": "", "overrides": { "propertyName*": "" } }, "allow_guest_ack": true, "default_forward_to": null, "default_forward_to_configured": true, "ai_override_forward_to": null, "ai_override_forward_to_configured": true } } ``` ##### Status: 400 Invalid request body or pattern configurations ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 404 Schema not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### DELETE /api/schemas/{schemaUid} - **Method:** `DELETE` - **Path:** `/api/schemas/{schemaUid}` - **Tags:** Schemas Delete a schema by UID Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Responses ##### Status: 200 Schema deleted successfully ###### Content-Type: application/json - **`message` (required)** `string` - **`success` (required)** `object` **Example:** ``` { "success": true, "message": "" } ``` ##### Status: 404 Schema not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/schemas/test-patterns - **Method:** `POST` - **Path:** `/api/schemas/test-patterns` - **Tags:** Schemas Test field extraction patterns with step-by-step extraction details Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Request Body ##### Content-Type: application/json - **`patterns` (required)** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`testPayload` (required)** `object` **Example:** ``` { "patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "fallbacks": [ { "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "" } ] } ], "testPayload": null } ``` #### Responses ##### Status: 200 Patterns tested successfully ###### Content-Type: application/json - **`data`** `object` - **`expectedSchemaFields`** `array` **Items:** - **`extractionSteps`** `array` **Items:** - **`finalExtractedData`** `object` - **`processedPatternCount`** `number` - **`successfulExtractions`** `number` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "finalExtractedData": {}, "extractionSteps": [ {} ], "expectedSchemaFields": [ {} ], "processedPatternCount": 1, "successfulExtractions": 1 } } ``` ##### Status: 400 Invalid patterns or test payload ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/schemas/test-transformation-template - **Method:** `POST` - **Path:** `/api/schemas/test-transformation-template` - **Tags:** Schemas Test transformation template rendering with payload extraction patterns Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Request Body ##### Content-Type: application/json - **`patterns` (required)** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`testPayload` (required)** `object` - **`transformation_template` (required)** `object` - **`ack_mapping`** `object` - **`resolution_mapping`** `object` **Example:** ``` { "transformation_template": { "propertyName*": "" }, "patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "fallbacks": [ { "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "" } ] } ], "testPayload": { "propertyName*": "anything" }, "ack_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "ack_link": "", "unack_link": "", "overrides": { "propertyName*": "" } }, "resolution_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "resolve_link": "", "overrides": { "propertyName*": "" } } } ``` #### Responses ##### Status: 200 Transformation template tested successfully ###### Content-Type: application/json - **`data`** `object` - **`extractionSteps` (required)** `array` **Items:** - **`extractedContent` (required)** `object` - **`fieldName` (required)** `string` - **`patternType` (required)** `string` - **`sourceContent` (required)** `string` - **`stepNumber` (required)** `number` - **`success` (required)** `boolean` - **`errors`** `array` **Items:** `string` - **`finalPayload` (required)** `object` - **`processedPatternCount` (required)** `number` - **`simulationStages` (required)** `object` - **`extractedContext` (required)** `object` - **`finalPayload` (required)** `object` - **`linkInjection` (required)** `object` - **`ackLink` (required)** `string` - **`resolveLink` (required)** `string` - **`unackLink` (required)** `string` - **`transformedPayload` (required)** `object` - **`successfulExtractions` (required)** `number` - **`transformationContext` (required)** `object` - **`transformedPayload` (required)** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "transformationContext": { "propertyName*": "anything" }, "transformedPayload": { "propertyName*": "" }, "finalPayload": { "propertyName*": "" }, "simulationStages": { "extractedContext": { "propertyName*": "anything" }, "transformedPayload": { "propertyName*": "" }, "finalPayload": { "propertyName*": "" }, "linkInjection": { "ackLink": "", "unackLink": "", "resolveLink": "" } }, "extractionSteps": [ { "stepNumber": 1, "fieldName": "", "patternType": "", "success": true, "sourceContent": "", "extractedContent": null, "errors": [ "" ] } ], "processedPatternCount": 1, "successfulExtractions": 1 } } ``` ##### Status: 400 Invalid transformation template, patterns, or payload ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/routing-rules - **Method:** `GET` - **Path:** `/api/routing-rules` - **Tags:** Routing-rules Retrieves all routing rules for the organization with their conditions Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Routing rules retrieved successfully ###### Content-Type: application/json - **`count`** `number` - **`data`** `array` **Items:** **All of:** - **`created_at` (required)** `string`, format: `date-time` - **`escalation_chain_uid` (required)** `string` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`respect_conditions` (required)** `object` - **`uid` (required)** `string` * **`conditions` (required)** `array` **Items:** - **`field` (required)** `string` - **`is_not` (required)** `object` - **`is_priority` (required)** `object` - **`operator` (required)** `string` - **`routing_rule_uid` (required)** `object` - **`schema_uid` (required)** `object` - **`uid` (required)** `string` - **`value` (required)** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": [ { "uid": "", "org_uid": "", "escalation_chain_uid": "", "name": "", "respect_conditions": "", "created_at": "", "conditions": [ { "uid": "", "routing_rule_uid": "", "schema_uid": "", "field": "", "operator": "", "value": "", "is_not": true, "is_priority": true } ] } ], "count": 1 } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/routing-rules - **Method:** `POST` - **Path:** `/api/routing-rules` - **Tags:** Routing-rules Creates a new routing rule with conditions and updates schema\_routing\_rules junction table Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Request Body ##### Content-Type: application/json **All of:** - **`escalation_chain_uid` (required)** `string` - **`name` (required)** `string` - **`respect_conditions` (required)** `object` * **`conditions` (required)** `array` **Items:** - **`field` (required)** `string` - **`is_not` (required)** `boolean` - **`is_priority` (required)** `boolean` - **`operator` (required)** `object` - **`schema_uid` (required)** `string` - **`value` (required)** `string` **Example:** ``` { "escalation_chain_uid": "", "name": "", "respect_conditions": "", "conditions": [ { "schema_uid": "", "field": "", "operator": "equals", "value": "", "is_not": true, "is_priority": true } ] } ``` #### Responses ##### Status: 200 Routing rule created successfully ###### Content-Type: application/json - **`data`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "escalation_chain_uid": "", "name": "", "respect_conditions": "", "created_at": "", "conditions": [ { "uid": "", "routing_rule_uid": "", "schema_uid": "", "field": "", "operator": "", "value": "", "is_not": true, "is_priority": true } ] } } ``` ##### Status: 400 Invalid request body ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/routing-rules/{ruleUid} - **Method:** `GET` - **Path:** `/api/routing-rules/{ruleUid}` - **Tags:** Routing-rules Retrieves a single routing rule by UID with its conditions Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Routing rule retrieved successfully ###### Content-Type: application/json - **`data`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "escalation_chain_uid": "", "name": "", "respect_conditions": "", "created_at": "", "conditions": [ { "uid": "", "routing_rule_uid": "", "schema_uid": "", "field": "", "operator": "", "value": "", "is_not": true, "is_priority": true } ] } } ``` ##### Status: 404 Routing rule not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### PUT /api/routing-rules/{ruleUid} - **Method:** `PUT` - **Path:** `/api/routing-rules/{ruleUid}` - **Tags:** Routing-rules Updates a routing rule and its conditions Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Request Body ##### Content-Type: application/json **All of:** - **`escalation_chain_uid` (required)** `string` - **`name` (required)** `string` - **`respect_conditions` (required)** `object` * **`conditions` (required)** `array` **Items:** - **`field` (required)** `string` - **`is_not` (required)** `boolean` - **`is_priority` (required)** `boolean` - **`operator` (required)** `object` - **`schema_uid` (required)** `string` - **`value` (required)** `string` **Example:** ``` { "name": "", "escalation_chain_uid": "", "respect_conditions": "", "conditions": [ { "schema_uid": "", "field": "", "operator": "equals", "value": "", "is_not": true, "is_priority": true } ] } ``` #### Responses ##### Status: 200 Routing rule updated successfully ###### Content-Type: application/json - **`data`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "escalation_chain_uid": "", "name": "", "respect_conditions": "", "created_at": "", "conditions": [ { "uid": "", "routing_rule_uid": "", "schema_uid": "", "field": "", "operator": "", "value": "", "is_not": true, "is_priority": true } ] } } ``` ##### Status: 404 Routing rule not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### DELETE /api/routing-rules/{ruleUid} - **Method:** `DELETE` - **Path:** `/api/routing-rules/{ruleUid}` - **Tags:** Routing-rules Deletes a routing rule and its conditions Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Responses ##### Status: 200 Routing rule deleted successfully ###### Content-Type: application/json - **`message` (required)** `string` - **`success` (required)** `object` **Example:** ``` { "success": true, "message": "" } ``` ##### Status: 404 Routing rule not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/routing-rules/schemas/{schemaUid}/fields - **Method:** `GET` - **Path:** `/api/routing-rules/schemas/{schemaUid}/fields` - **Tags:** Routing-rules Gets available fields for a schema for dynamic field discovery Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Schema fields retrieved successfully ###### Content-Type: application/json - **`data`** `array` **Items:** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": [ "" ] } ``` ##### Status: 404 Schema not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/ai-escalation/connections - **Method:** `GET` - **Path:** `/api/ai-escalation/connections` - **Tags:** Ai-escalation List AI escalation controller connections for the current organization Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Successful response ###### Content-Type: application/json - **`count`** `number` - **`data`** `array` **Items:** - **`created_at` (required)** `string` - **`enabled` (required)** `boolean` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`status` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string` - **`last_connected_at`** `object` - **`last_disconnected_at`** `object` - **`last_heartbeat_at`** `object` - **`last_seen_at`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": [ { "uid": "", "org_uid": "", "name": "", "enabled": true, "status": "connected", "last_heartbeat_at": "", "last_seen_at": "", "last_connected_at": "", "last_disconnected_at": "", "created_at": "", "updated_at": "" } ], "count": 1 } ``` ### POST /api/ai-escalation/connections - **Method:** `POST` - **Path:** `/api/ai-escalation/connections` - **Tags:** Ai-escalation Create an AI escalation controller connection and return its one-time secret Authorization: requires permission `ai-escalation-connections:manage` (allowed roles: admin). #### Request Body ##### Content-Type: application/json - **`name` (required)** `string` - **`enabled`** `boolean` **Example:** ``` { "name": "", "enabled": true } ``` #### Responses ##### Status: 201 Connection created ###### Content-Type: application/json - **`data`** `object` - **`connection` (required)** `object` - **`created_at` (required)** `string` - **`enabled` (required)** `boolean` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`status` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string` - **`last_connected_at`** `object` - **`last_disconnected_at`** `object` - **`last_heartbeat_at`** `object` - **`last_seen_at`** `object` - **`secret` (required)** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "connection": { "uid": "", "org_uid": "", "name": "", "enabled": true, "status": "connected", "last_heartbeat_at": "", "last_seen_at": "", "last_connected_at": "", "last_disconnected_at": "", "created_at": "", "updated_at": "" }, "secret": "" } } ``` ### GET /api/ai-escalation/connections/{connectionUid} - **Method:** `GET` - **Path:** `/api/ai-escalation/connections/{connectionUid}` - **Tags:** Ai-escalation Get one AI escalation controller connection Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Successful response ###### Content-Type: application/json - **`data`** `object` - **`created_at` (required)** `string` - **`enabled` (required)** `boolean` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`status` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string` - **`last_connected_at`** `object` - **`last_disconnected_at`** `object` - **`last_heartbeat_at`** `object` - **`last_seen_at`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "name": "", "enabled": true, "status": "connected", "last_heartbeat_at": "", "last_seen_at": "", "last_connected_at": "", "last_disconnected_at": "", "created_at": "", "updated_at": "" } } ``` ##### Status: 404 Connection not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### PUT /api/ai-escalation/connections/{connectionUid} - **Method:** `PUT` - **Path:** `/api/ai-escalation/connections/{connectionUid}` - **Tags:** Ai-escalation Replace AI escalation controller connection metadata Authorization: requires permission `ai-escalation-connections:manage` (allowed roles: admin). #### Request Body ##### Content-Type: application/json - **`enabled` (required)** `boolean` - **`name` (required)** `string` **Example:** ``` { "name": "", "enabled": true } ``` #### Responses ##### Status: 200 Connection updated ###### Content-Type: application/json - **`data`** `object` - **`created_at` (required)** `string` - **`enabled` (required)** `boolean` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`status` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string` - **`last_connected_at`** `object` - **`last_disconnected_at`** `object` - **`last_heartbeat_at`** `object` - **`last_seen_at`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "name": "", "enabled": true, "status": "connected", "last_heartbeat_at": "", "last_seen_at": "", "last_connected_at": "", "last_disconnected_at": "", "created_at": "", "updated_at": "" } } ``` ### DELETE /api/ai-escalation/connections/{connectionUid} - **Method:** `DELETE` - **Path:** `/api/ai-escalation/connections/{connectionUid}` - **Tags:** Ai-escalation Delete an AI escalation controller connection Authorization: requires permission `ai-escalation-connections:manage` (allowed roles: admin). #### Responses ##### Status: 200 Connection deleted ###### Content-Type: application/json - **`message` (required)** `string` - **`success` (required)** `object` **Example:** ``` { "success": true, "message": "" } ``` ##### Status: 404 Connection not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/ai-escalation/connections/{connectionUid}/revoke - **Method:** `POST` - **Path:** `/api/ai-escalation/connections/{connectionUid}/revoke` - **Tags:** Ai-escalation Revoke an AI escalation controller connection Authorization: requires permission `ai-escalation-connections:manage` (allowed roles: admin). #### Responses ##### Status: 200 Connection revoked ###### Content-Type: application/json - **`data`** `object` - **`created_at` (required)** `string` - **`enabled` (required)** `boolean` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`status` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string` - **`last_connected_at`** `object` - **`last_disconnected_at`** `object` - **`last_heartbeat_at`** `object` - **`last_seen_at`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "name": "", "enabled": true, "status": "connected", "last_heartbeat_at": "", "last_seen_at": "", "last_connected_at": "", "last_disconnected_at": "", "created_at": "", "updated_at": "" } } ``` ##### Status: 404 Connection not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/ai-escalation/connections/{connectionUid}/rotate-secret - **Method:** `POST` - **Path:** `/api/ai-escalation/connections/{connectionUid}/rotate-secret` - **Tags:** Ai-escalation Rotate an AI escalation controller connection secret and return the one-time replacement secret Authorization: requires permission `ai-escalation-connections:manage` (allowed roles: admin). #### Responses ##### Status: 200 Connection secret rotated ###### Content-Type: application/json - **`data`** `object` - **`connection` (required)** `object` - **`created_at` (required)** `string` - **`enabled` (required)** `boolean` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`status` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string` - **`last_connected_at`** `object` - **`last_disconnected_at`** `object` - **`last_heartbeat_at`** `object` - **`last_seen_at`** `object` - **`secret` (required)** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "connection": { "uid": "", "org_uid": "", "name": "", "enabled": true, "status": "connected", "last_heartbeat_at": "", "last_seen_at": "", "last_connected_at": "", "last_disconnected_at": "", "created_at": "", "updated_at": "" }, "secret": "" } } ``` ##### Status: 404 Connection not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/ai-escalation/rules - **Method:** `GET` - **Path:** `/api/ai-escalation/rules` - **Tags:** Ai-escalation List AI escalation assignment rules Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Successful response ###### Content-Type: application/json - **`count`** `number` - **`data`** `array` **Items:** - **`allowed_suggested_actions` (required)** `array` **Items:** `string`, possible values: `"resolve", "escalate_further", "escalate_to", "start_incident", "join_incident"` - **`conditions` (required)** `array` **Items:** - **`field` (required)** `string` - **`operator` (required)** `object` - **`value` (required)** `string` - **`is_not`** `boolean` - **`is_priority`** `boolean` - **`schema_uid`** `object` - **`connection_uid` (required)** `string` - **`created_at` (required)** `string` - **`enabled` (required)** `boolean` - **`enrichments` (required)** `array` **Items:** **One of:** **Any of:** **Any of:** **Any of:** - **`key` (required)** `string` - **`name` (required)** `string` - **`type` (required)** `string` - **`arguments`** `object` - **`command`** `object` - **`command` (required)** `string` - **`args`** `array` **Items:** `string` - **`env`** `array` **Items:** `string` - **`timeout_seconds`** `integer` - **`working_directory`** `string` - **`json_payload`** `object` - **`label`** `string` - **`mode`** `string`, possible values: `"command", "json"` - **`required_env`** `array` **Items:** `string` - **`server`** `string` - **`source`** `string` - **`tool`** `string` - **`tools`** `array` **Items:** `string` * **`key` (required)** `string` * **`name` (required)** `string` * **`type` (required)** `string` * **`args`** `array` **Items:** `string` * **`auth_hint`** `string` * **`command`** `string` * **`label`** `string` * **`required_env`** `array` **Items:** `string` * **`source`** `string` * **`timeout_seconds`** `integer` * **`working_directory`** `string` **Any of:** - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`response_character_limit` (required)** `integer` - **`scope` (required)** `string`, possible values: `"global", "schema", "chain"` - **`timeout_seconds` (required)** `integer` - **`uid` (required)** `string` - **`updated_at` (required)** `string` - **`scope_uid`** `string | null` - **`success`** `boolean` **Example:** ``` { "success": true, "data": [ { "uid": "", "org_uid": "", "connection_uid": "", "name": "", "enabled": true, "scope": "global", "scope_uid": null, "response_character_limit": 1, "timeout_seconds": 30, "allowed_suggested_actions": [ "resolve" ], "conditions": [ { "field": "", "operator": "equals", "value": "", "is_not": true, "is_priority": true, "schema_uid": "" } ], "enrichments": [ { "type": "", "key": "", "label": "", "source": "", "link": "", "file_path": "", "recommended_authorization": "", "fallback_authorization": [ "" ], "auth_hint": "", "content": "" } ], "created_at": "", "updated_at": "" } ], "count": 1 } ``` ### POST /api/ai-escalation/rules - **Method:** `POST` - **Path:** `/api/ai-escalation/rules` - **Tags:** Ai-escalation Create an AI escalation assignment rule Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Request Body ##### Content-Type: application/json - **`allowed_suggested_actions` (required)** `array` **Items:** `string`, possible values: `"resolve", "escalate_further", "escalate_to", "start_incident", "join_incident"` - **`conditions` (required)** `array` **Items:** - **`field` (required)** `string` - **`operator` (required)** `object` - **`value` (required)** `string` - **`is_not`** `boolean` - **`is_priority`** `boolean` - **`schema_uid`** `object` - **`connection_uid` (required)** `string` - **`enrichments` (required)** `array` **Items:** **One of:** **Any of:** **Any of:** **Any of:** - **`key` (required)** `string` - **`name` (required)** `string` - **`type` (required)** `string` - **`arguments`** `object` - **`command`** `object` - **`command` (required)** `string` - **`args`** `array` **Items:** `string` - **`env`** `array` **Items:** `string` - **`timeout_seconds`** `integer` - **`working_directory`** `string` - **`json_payload`** `object` - **`label`** `string` - **`mode`** `string`, possible values: `"command", "json"` - **`required_env`** `array` **Items:** `string` - **`server`** `string` - **`source`** `string` - **`tool`** `string` - **`tools`** `array` **Items:** `string` * **`key` (required)** `string` * **`name` (required)** `string` * **`type` (required)** `string` * **`args`** `array` **Items:** `string` * **`auth_hint`** `string` * **`command`** `string` * **`label`** `string` * **`required_env`** `array` **Items:** `string` * **`source`** `string` * **`timeout_seconds`** `integer` * **`working_directory`** `string` **Any of:** - **`name` (required)** `string` - **`response_character_limit` (required)** `integer` - **`scope` (required)** `string`, possible values: `"global", "schema", "chain"` - **`enabled`** `boolean` - **`scope_uid`** `string | null` - **`timeout_seconds`** `integer` **Example:** ``` { "connection_uid": "", "name": "", "enabled": true, "scope": "global", "scope_uid": null, "response_character_limit": 1, "timeout_seconds": 30, "allowed_suggested_actions": [ "resolve" ], "conditions": [ { "field": "", "operator": "equals", "value": "", "is_not": true, "is_priority": true, "schema_uid": "" } ], "enrichments": [ { "type": "", "key": "", "label": "", "source": "", "link": "", "file_path": "", "recommended_authorization": "", "fallback_authorization": [ "" ], "auth_hint": "", "content": "" } ] } ``` #### Responses ##### Status: 201 Rule created ###### Content-Type: application/json - **`data`** `object` - **`allowed_suggested_actions` (required)** `array` **Items:** `string`, possible values: `"resolve", "escalate_further", "escalate_to", "start_incident", "join_incident"` - **`conditions` (required)** `array` **Items:** - **`field` (required)** `string` - **`operator` (required)** `object` - **`value` (required)** `string` - **`is_not`** `boolean` - **`is_priority`** `boolean` - **`schema_uid`** `object` - **`connection_uid` (required)** `string` - **`created_at` (required)** `string` - **`enabled` (required)** `boolean` - **`enrichments` (required)** `array` **Items:** **One of:** **Any of:** **Any of:** **Any of:** - **`key` (required)** `string` - **`name` (required)** `string` - **`type` (required)** `string` - **`arguments`** `object` - **`command`** `object` - **`command` (required)** `string` - **`args`** `array` **Items:** `string` - **`env`** `array` **Items:** `string` - **`timeout_seconds`** `integer` - **`working_directory`** `string` - **`json_payload`** `object` - **`label`** `string` - **`mode`** `string`, possible values: `"command", "json"` - **`required_env`** `array` **Items:** `string` - **`server`** `string` - **`source`** `string` - **`tool`** `string` - **`tools`** `array` **Items:** `string` * **`key` (required)** `string` * **`name` (required)** `string` * **`type` (required)** `string` * **`args`** `array` **Items:** `string` * **`auth_hint`** `string` * **`command`** `string` * **`label`** `string` * **`required_env`** `array` **Items:** `string` * **`source`** `string` * **`timeout_seconds`** `integer` * **`working_directory`** `string` **Any of:** - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`response_character_limit` (required)** `integer` - **`scope` (required)** `string`, possible values: `"global", "schema", "chain"` - **`timeout_seconds` (required)** `integer` - **`uid` (required)** `string` - **`updated_at` (required)** `string` - **`scope_uid`** `string | null` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "connection_uid": "", "name": "", "enabled": true, "scope": "global", "scope_uid": null, "response_character_limit": 1, "timeout_seconds": 30, "allowed_suggested_actions": [ "resolve" ], "conditions": [ { "field": "", "operator": "equals", "value": "", "is_not": true, "is_priority": true, "schema_uid": "" } ], "enrichments": [ { "type": "", "key": "", "label": "", "source": "", "link": "", "file_path": "", "recommended_authorization": "", "fallback_authorization": [ "" ], "auth_hint": "", "content": "" } ], "created_at": "", "updated_at": "" } } ``` ### GET /api/ai-escalation/rules/{ruleUid} - **Method:** `GET` - **Path:** `/api/ai-escalation/rules/{ruleUid}` - **Tags:** Ai-escalation Get one AI escalation assignment rule Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Successful response ###### Content-Type: application/json - **`data`** `object` - **`allowed_suggested_actions` (required)** `array` **Items:** `string`, possible values: `"resolve", "escalate_further", "escalate_to", "start_incident", "join_incident"` - **`conditions` (required)** `array` **Items:** - **`field` (required)** `string` - **`operator` (required)** `object` - **`value` (required)** `string` - **`is_not`** `boolean` - **`is_priority`** `boolean` - **`schema_uid`** `object` - **`connection_uid` (required)** `string` - **`created_at` (required)** `string` - **`enabled` (required)** `boolean` - **`enrichments` (required)** `array` **Items:** **One of:** **Any of:** **Any of:** **Any of:** - **`key` (required)** `string` - **`name` (required)** `string` - **`type` (required)** `string` - **`arguments`** `object` - **`command`** `object` - **`command` (required)** `string` - **`args`** `array` **Items:** `string` - **`env`** `array` **Items:** `string` - **`timeout_seconds`** `integer` - **`working_directory`** `string` - **`json_payload`** `object` - **`label`** `string` - **`mode`** `string`, possible values: `"command", "json"` - **`required_env`** `array` **Items:** `string` - **`server`** `string` - **`source`** `string` - **`tool`** `string` - **`tools`** `array` **Items:** `string` * **`key` (required)** `string` * **`name` (required)** `string` * **`type` (required)** `string` * **`args`** `array` **Items:** `string` * **`auth_hint`** `string` * **`command`** `string` * **`label`** `string` * **`required_env`** `array` **Items:** `string` * **`source`** `string` * **`timeout_seconds`** `integer` * **`working_directory`** `string` **Any of:** - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`response_character_limit` (required)** `integer` - **`scope` (required)** `string`, possible values: `"global", "schema", "chain"` - **`timeout_seconds` (required)** `integer` - **`uid` (required)** `string` - **`updated_at` (required)** `string` - **`scope_uid`** `string | null` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "connection_uid": "", "name": "", "enabled": true, "scope": "global", "scope_uid": null, "response_character_limit": 1, "timeout_seconds": 30, "allowed_suggested_actions": [ "resolve" ], "conditions": [ { "field": "", "operator": "equals", "value": "", "is_not": true, "is_priority": true, "schema_uid": "" } ], "enrichments": [ { "type": "", "key": "", "label": "", "source": "", "link": "", "file_path": "", "recommended_authorization": "", "fallback_authorization": [ "" ], "auth_hint": "", "content": "" } ], "created_at": "", "updated_at": "" } } ``` ##### Status: 404 Rule not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### PUT /api/ai-escalation/rules/{ruleUid} - **Method:** `PUT` - **Path:** `/api/ai-escalation/rules/{ruleUid}` - **Tags:** Ai-escalation Replace an AI escalation assignment rule Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Request Body ##### Content-Type: application/json - **`allowed_suggested_actions` (required)** `array` **Items:** `string`, possible values: `"resolve", "escalate_further", "escalate_to", "start_incident", "join_incident"` - **`conditions` (required)** `array` **Items:** - **`field` (required)** `string` - **`operator` (required)** `object` - **`value` (required)** `string` - **`is_not`** `boolean` - **`is_priority`** `boolean` - **`schema_uid`** `object` - **`connection_uid` (required)** `string` - **`enabled` (required)** `boolean` - **`enrichments` (required)** `array` **Items:** **One of:** **Any of:** **Any of:** **Any of:** - **`key` (required)** `string` - **`name` (required)** `string` - **`type` (required)** `string` - **`arguments`** `object` - **`command`** `object` - **`command` (required)** `string` - **`args`** `array` **Items:** `string` - **`env`** `array` **Items:** `string` - **`timeout_seconds`** `integer` - **`working_directory`** `string` - **`json_payload`** `object` - **`label`** `string` - **`mode`** `string`, possible values: `"command", "json"` - **`required_env`** `array` **Items:** `string` - **`server`** `string` - **`source`** `string` - **`tool`** `string` - **`tools`** `array` **Items:** `string` * **`key` (required)** `string` * **`name` (required)** `string` * **`type` (required)** `string` * **`args`** `array` **Items:** `string` * **`auth_hint`** `string` * **`command`** `string` * **`label`** `string` * **`required_env`** `array` **Items:** `string` * **`source`** `string` * **`timeout_seconds`** `integer` * **`working_directory`** `string` **Any of:** - **`name` (required)** `string` - **`response_character_limit` (required)** `integer` - **`scope` (required)** `string`, possible values: `"global", "schema", "chain"` - **`scope_uid`** `string | null` - **`timeout_seconds`** `integer` **Example:** ``` { "connection_uid": "", "name": "", "enabled": true, "scope": "global", "scope_uid": null, "response_character_limit": 1, "timeout_seconds": 30, "allowed_suggested_actions": [ "resolve" ], "conditions": [ { "field": "", "operator": "equals", "value": "", "is_not": true, "is_priority": true, "schema_uid": "" } ], "enrichments": [ { "type": "", "key": "", "label": "", "source": "", "link": "", "file_path": "", "recommended_authorization": "", "fallback_authorization": [ "" ], "auth_hint": "", "content": "" } ] } ``` #### Responses ##### Status: 200 Rule updated ###### Content-Type: application/json - **`data`** `object` - **`allowed_suggested_actions` (required)** `array` **Items:** `string`, possible values: `"resolve", "escalate_further", "escalate_to", "start_incident", "join_incident"` - **`conditions` (required)** `array` **Items:** - **`field` (required)** `string` - **`operator` (required)** `object` - **`value` (required)** `string` - **`is_not`** `boolean` - **`is_priority`** `boolean` - **`schema_uid`** `object` - **`connection_uid` (required)** `string` - **`created_at` (required)** `string` - **`enabled` (required)** `boolean` - **`enrichments` (required)** `array` **Items:** **One of:** **Any of:** **Any of:** **Any of:** - **`key` (required)** `string` - **`name` (required)** `string` - **`type` (required)** `string` - **`arguments`** `object` - **`command`** `object` - **`command` (required)** `string` - **`args`** `array` **Items:** `string` - **`env`** `array` **Items:** `string` - **`timeout_seconds`** `integer` - **`working_directory`** `string` - **`json_payload`** `object` - **`label`** `string` - **`mode`** `string`, possible values: `"command", "json"` - **`required_env`** `array` **Items:** `string` - **`server`** `string` - **`source`** `string` - **`tool`** `string` - **`tools`** `array` **Items:** `string` * **`key` (required)** `string` * **`name` (required)** `string` * **`type` (required)** `string` * **`args`** `array` **Items:** `string` * **`auth_hint`** `string` * **`command`** `string` * **`label`** `string` * **`required_env`** `array` **Items:** `string` * **`source`** `string` * **`timeout_seconds`** `integer` * **`working_directory`** `string` **Any of:** - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`response_character_limit` (required)** `integer` - **`scope` (required)** `string`, possible values: `"global", "schema", "chain"` - **`timeout_seconds` (required)** `integer` - **`uid` (required)** `string` - **`updated_at` (required)** `string` - **`scope_uid`** `string | null` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "connection_uid": "", "name": "", "enabled": true, "scope": "global", "scope_uid": null, "response_character_limit": 1, "timeout_seconds": 30, "allowed_suggested_actions": [ "resolve" ], "conditions": [ { "field": "", "operator": "equals", "value": "", "is_not": true, "is_priority": true, "schema_uid": "" } ], "enrichments": [ { "type": "", "key": "", "label": "", "source": "", "link": "", "file_path": "", "recommended_authorization": "", "fallback_authorization": [ "" ], "auth_hint": "", "content": "" } ], "created_at": "", "updated_at": "" } } ``` ##### Status: 404 Rule not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### DELETE /api/ai-escalation/rules/{ruleUid} - **Method:** `DELETE` - **Path:** `/api/ai-escalation/rules/{ruleUid}` - **Tags:** Ai-escalation Delete an AI escalation assignment rule Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Responses ##### Status: 200 Rule deleted ###### Content-Type: application/json - **`message` (required)** `string` - **`success` (required)** `object` **Example:** ``` { "success": true, "message": "" } ``` ##### Status: 404 Rule not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/ai-escalation/assignments - **Method:** `GET` - **Path:** `/api/ai-escalation/assignments` - **Tags:** Ai-escalation List AI escalation assignments for the current organization Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Successful response ###### Content-Type: application/json - **`count`** `number` - **`data`** `array` **Items:** - **`alert_instance_uid` (required)** `string` - **`connection_uid` (required)** `string` - **`created_at` (required)** `string` - **`org_uid` (required)** `string` - **`payload` (required)** `object` - **`status` (required)** `string` - **`uid` (required)** `string` - **`updated_at` (required)** `string` - **`alert`** `object` - **`uid` (required)** `string` - **`created_at`** `string`, format: `date-time` - **`description`** `object` - **`fingerprint`** `object` - **`parsed_fields`** `object` - **`raw_body`** `object` - **`schema_uid`** `object` - **`status`** `object` - **`title`** `object` - **`alert_title`** `object` - **`error_message`** `object` - **`fetched_at`** `object` - **`responded_at`** `object` - **`response_status`** `object` - **`response_text`** `object` - **`rule_names`** `array` **Items:** `string` - **`rule_uids`** `array` **Items:** `string` - **`same_pattern_alerts`** `array` **Items:** - **`uid` (required)** `string` - **`created_at`** `string`, format: `date-time` - **`description`** `object` - **`fingerprint`** `object` - **`parsed_fields`** `object` - **`raw_body`** `object` - **`schema_uid`** `object` - **`status`** `object` - **`title`** `object` - **`suggested_actions`** `object` - **`triggering_actor`** `object` - **`email`** `string` - **`kind`** `string` - **`name`** `string` - **`sub`** `string` - **`token_uid`** `string` - **`user_uid`** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": [ { "uid": "", "org_uid": "", "connection_uid": "", "alert_instance_uid": "", "status": "", "payload": null, "response_status": "", "response_text": "", "suggested_actions": [], "alert_title": "", "alert": { "uid": "", "schema_uid": "", "fingerprint": "", "title": "", "description": "", "status": "", "created_at": "", "parsed_fields": { "propertyName*": "anything" }, "raw_body": { "propertyName*": "anything" } }, "same_pattern_alerts": [ { "uid": "", "schema_uid": "", "fingerprint": "", "title": "", "description": "", "status": "", "created_at": "", "parsed_fields": { "propertyName*": "anything" }, "raw_body": { "propertyName*": "anything" } } ], "rule_uids": [ "" ], "rule_names": [ "" ], "triggering_actor": { "kind": "", "user_uid": "", "token_uid": "", "email": "", "sub": "", "name": "" }, "error_message": "", "fetched_at": "", "responded_at": "", "created_at": "", "updated_at": "" } ], "count": 1 } ``` ### GET /api/ai-escalation/assignments/{assignmentUid} - **Method:** `GET` - **Path:** `/api/ai-escalation/assignments/{assignmentUid}` - **Tags:** Ai-escalation Get one AI escalation assignment with rendered response details Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Successful response ###### Content-Type: application/json - **`data`** `object` - **`alert_instance_uid` (required)** `string` - **`connection_uid` (required)** `string` - **`created_at` (required)** `string` - **`org_uid` (required)** `string` - **`payload` (required)** `object` - **`status` (required)** `string` - **`uid` (required)** `string` - **`updated_at` (required)** `string` - **`alert`** `object` - **`uid` (required)** `string` - **`created_at`** `string`, format: `date-time` - **`description`** `object` - **`fingerprint`** `object` - **`parsed_fields`** `object` - **`raw_body`** `object` - **`schema_uid`** `object` - **`status`** `object` - **`title`** `object` - **`alert_title`** `object` - **`error_message`** `object` - **`fetched_at`** `object` - **`responded_at`** `object` - **`response_status`** `object` - **`response_text`** `object` - **`rule_names`** `array` **Items:** `string` - **`rule_uids`** `array` **Items:** `string` - **`same_pattern_alerts`** `array` **Items:** - **`uid` (required)** `string` - **`created_at`** `string`, format: `date-time` - **`description`** `object` - **`fingerprint`** `object` - **`parsed_fields`** `object` - **`raw_body`** `object` - **`schema_uid`** `object` - **`status`** `object` - **`title`** `object` - **`suggested_actions`** `object` - **`triggering_actor`** `object` - **`email`** `string` - **`kind`** `string` - **`name`** `string` - **`sub`** `string` - **`token_uid`** `string` - **`user_uid`** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "connection_uid": "", "alert_instance_uid": "", "status": "", "payload": null, "response_status": "", "response_text": "", "suggested_actions": [], "alert_title": "", "alert": { "uid": "", "schema_uid": "", "fingerprint": "", "title": "", "description": "", "status": "", "created_at": "", "parsed_fields": { "propertyName*": "anything" }, "raw_body": { "propertyName*": "anything" } }, "same_pattern_alerts": [ { "uid": "", "schema_uid": "", "fingerprint": "", "title": "", "description": "", "status": "", "created_at": "", "parsed_fields": { "propertyName*": "anything" }, "raw_body": { "propertyName*": "anything" } } ], "rule_uids": [ "" ], "rule_names": [ "" ], "triggering_actor": { "kind": "", "user_uid": "", "token_uid": "", "email": "", "sub": "", "name": "" }, "error_message": "", "fetched_at": "", "responded_at": "", "created_at": "", "updated_at": "" } } ``` ##### Status: 404 Assignment not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### DELETE /api/ai-escalation/assignments/{assignmentUid} - **Method:** `DELETE` - **Path:** `/api/ai-escalation/assignments/{assignmentUid}` - **Tags:** Ai-escalation Delete one AI escalation assignment and its generated content for the current organization Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Responses ##### Status: 200 Assignment deleted ###### Content-Type: application/json - **`message` (required)** `string` - **`success` (required)** `object` **Example:** ``` { "success": true, "message": "" } ``` ##### Status: 404 Assignment not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/ai-escalation/assignments/{assignmentUid}/abort - **Method:** `POST` - **Path:** `/api/ai-escalation/assignments/{assignmentUid}/abort` - **Tags:** Ai-escalation Abort one active AI escalation assignment for the current organization Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Responses ##### Status: 200 Assignment aborted or already terminal ###### Content-Type: application/json - **`data`** `object` - **`alert_instance_uid` (required)** `string` - **`connection_uid` (required)** `string` - **`created_at` (required)** `string` - **`org_uid` (required)** `string` - **`payload` (required)** `object` - **`status` (required)** `string` - **`uid` (required)** `string` - **`updated_at` (required)** `string` - **`alert`** `object` - **`uid` (required)** `string` - **`created_at`** `string`, format: `date-time` - **`description`** `object` - **`fingerprint`** `object` - **`parsed_fields`** `object` - **`raw_body`** `object` - **`schema_uid`** `object` - **`status`** `object` - **`title`** `object` - **`alert_title`** `object` - **`error_message`** `object` - **`fetched_at`** `object` - **`responded_at`** `object` - **`response_status`** `object` - **`response_text`** `object` - **`rule_names`** `array` **Items:** `string` - **`rule_uids`** `array` **Items:** `string` - **`same_pattern_alerts`** `array` **Items:** - **`uid` (required)** `string` - **`created_at`** `string`, format: `date-time` - **`description`** `object` - **`fingerprint`** `object` - **`parsed_fields`** `object` - **`raw_body`** `object` - **`schema_uid`** `object` - **`status`** `object` - **`title`** `object` - **`suggested_actions`** `object` - **`triggering_actor`** `object` - **`email`** `string` - **`kind`** `string` - **`name`** `string` - **`sub`** `string` - **`token_uid`** `string` - **`user_uid`** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "connection_uid": "", "alert_instance_uid": "", "status": "", "payload": null, "response_status": "", "response_text": "", "suggested_actions": [], "alert_title": "", "alert": { "uid": "", "schema_uid": "", "fingerprint": "", "title": "", "description": "", "status": "", "created_at": "", "parsed_fields": { "propertyName*": "anything" }, "raw_body": { "propertyName*": "anything" } }, "same_pattern_alerts": [ { "uid": "", "schema_uid": "", "fingerprint": "", "title": "", "description": "", "status": "", "created_at": "", "parsed_fields": { "propertyName*": "anything" }, "raw_body": { "propertyName*": "anything" } } ], "rule_uids": [ "" ], "rule_names": [ "" ], "triggering_actor": { "kind": "", "user_uid": "", "token_uid": "", "email": "", "sub": "", "name": "" }, "error_message": "", "fetched_at": "", "responded_at": "", "created_at": "", "updated_at": "" } } ``` ##### Status: 404 Assignment not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/ai-escalation/assignments/abort-all - **Method:** `POST` - **Path:** `/api/ai-escalation/assignments/abort-all` - **Tags:** Ai-escalation Abort all active AI escalation assignments for the current organization Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Responses ##### Status: 200 Active assignments aborted ###### Content-Type: application/json - **`count`** `number` - **`data`** `array` **Items:** - **`alert_instance_uid` (required)** `string` - **`connection_uid` (required)** `string` - **`created_at` (required)** `string` - **`org_uid` (required)** `string` - **`payload` (required)** `object` - **`status` (required)** `string` - **`uid` (required)** `string` - **`updated_at` (required)** `string` - **`alert`** `object` - **`uid` (required)** `string` - **`created_at`** `string`, format: `date-time` - **`description`** `object` - **`fingerprint`** `object` - **`parsed_fields`** `object` - **`raw_body`** `object` - **`schema_uid`** `object` - **`status`** `object` - **`title`** `object` - **`alert_title`** `object` - **`error_message`** `object` - **`fetched_at`** `object` - **`responded_at`** `object` - **`response_status`** `object` - **`response_text`** `object` - **`rule_names`** `array` **Items:** `string` - **`rule_uids`** `array` **Items:** `string` - **`same_pattern_alerts`** `array` **Items:** - **`uid` (required)** `string` - **`created_at`** `string`, format: `date-time` - **`description`** `object` - **`fingerprint`** `object` - **`parsed_fields`** `object` - **`raw_body`** `object` - **`schema_uid`** `object` - **`status`** `object` - **`title`** `object` - **`suggested_actions`** `object` - **`triggering_actor`** `object` - **`email`** `string` - **`kind`** `string` - **`name`** `string` - **`sub`** `string` - **`token_uid`** `string` - **`user_uid`** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": [ { "uid": "", "org_uid": "", "connection_uid": "", "alert_instance_uid": "", "status": "", "payload": null, "response_status": "", "response_text": "", "suggested_actions": [], "alert_title": "", "alert": { "uid": "", "schema_uid": "", "fingerprint": "", "title": "", "description": "", "status": "", "created_at": "", "parsed_fields": { "propertyName*": "anything" }, "raw_body": { "propertyName*": "anything" } }, "same_pattern_alerts": [ { "uid": "", "schema_uid": "", "fingerprint": "", "title": "", "description": "", "status": "", "created_at": "", "parsed_fields": { "propertyName*": "anything" }, "raw_body": { "propertyName*": "anything" } } ], "rule_uids": [ "" ], "rule_names": [ "" ], "triggering_actor": { "kind": "", "user_uid": "", "token_uid": "", "email": "", "sub": "", "name": "" }, "error_message": "", "fetched_at": "", "responded_at": "", "created_at": "", "updated_at": "" } ], "count": 1 } ``` ### GET /api/escalation/chains - **Method:** `GET` - **Path:** `/api/escalation/chains` - **Tags:** Escalation List escalation chains for the current organization Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Successful response ###### Content-Type: application/json - **`count`** `number` - **`data`** `array` **Items:** - **`created_at` (required)** `string`, format: `date-time` - **`description` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`respect_conditions` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`success`** `boolean` **Example:** ``` { "success": true, "data": [ { "uid": "", "org_uid": "", "name": "", "description": "", "respect_conditions": "", "created_at": "", "updated_at": "" } ], "count": 1 } ``` ### POST /api/escalation/chains - **Method:** `POST` - **Path:** `/api/escalation/chains` - **Tags:** Escalation Create a new escalation chain Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Request Body ##### Content-Type: application/json **All of:** - **`description` (required)** `object` - **`name` (required)** `string` - **`respect_conditions` (required)** `object` * **`conditions`** `array` **Items:** - **`field` (required)** `string` - **`operator` (required)** `object` - **`value` (required)** `object` - **`actions`** `array` **Items:** - **`type` (required)** `object` - **`line_uid`** `string` - **`new_order`** `object` - **`is_not`** `boolean` - **`is_priority`** `boolean` - **`is_time`** `boolean` **Example:** ``` { "name": "", "description": "", "respect_conditions": "", "conditions": [ { "field": "", "operator": "equals", "value": null, "is_not": true, "is_priority": true, "is_time": true, "actions": [ { "type": "override_line_order", "line_uid": "", "new_order": -1 } ] } ] } ``` #### Responses ##### Status: 200 Escalation chain created ###### Content-Type: application/json - **`data`** `object` - **`created_at` (required)** `string`, format: `date-time` - **`description` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`respect_conditions` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "name": "", "description": "", "respect_conditions": "", "created_at": "", "updated_at": "" } } ``` ##### Status: 400 Invalid request body ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/escalation/chains/{chainUid} - **Method:** `GET` - **Path:** `/api/escalation/chains/{chainUid}` - **Tags:** Escalation Get a single escalation chain by UID Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Successful response ###### Content-Type: application/json - **`data`** `object` - **`created_at` (required)** `string`, format: `date-time` - **`description` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`respect_conditions` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "name": "", "description": "", "respect_conditions": "", "created_at": "", "updated_at": "" } } ``` ##### Status: 404 Escalation chain not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### PUT /api/escalation/chains/{chainUid} - **Method:** `PUT` - **Path:** `/api/escalation/chains/{chainUid}` - **Tags:** Escalation Update an escalation chain by UID Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Request Body ##### Content-Type: application/json **All of:** - **`description` (required)** `object` - **`name` (required)** `string` * **`respect_conditions` (required)** `object` - **`conditions` (required)** `array` **Items:** - **`field` (required)** `string` - **`operator` (required)** `object` - **`value` (required)** `object` - **`actions`** `array` **Items:** - **`type` (required)** `object` - **`line_uid`** `string` - **`new_order`** `object` - **`is_not`** `boolean` - **`is_priority`** `boolean` - **`is_time`** `boolean` **Example:** ``` { "name": "", "description": "", "respect_conditions": "", "conditions": [ { "field": "", "operator": "equals", "value": null, "is_not": true, "is_priority": true, "is_time": true, "actions": [ { "type": "override_line_order", "line_uid": "", "new_order": -1 } ] } ] } ``` #### Responses ##### Status: 200 Escalation chain updated ###### Content-Type: application/json - **`data`** `object` - **`created_at` (required)** `string`, format: `date-time` - **`description` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`respect_conditions` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "name": "", "description": "", "respect_conditions": "", "created_at": "", "updated_at": "" } } ``` ##### Status: 400 Invalid request body ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 404 Escalation chain not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### DELETE /api/escalation/chains/{chainUid} - **Method:** `DELETE` - **Path:** `/api/escalation/chains/{chainUid}` - **Tags:** Escalation Delete an escalation chain by UID Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Responses ##### Status: 200 Escalation chain deleted ###### Content-Type: application/json - **`message` (required)** `string` - **`success` (required)** `object` **Example:** ``` { "success": true, "message": "" } ``` ##### Status: 404 Escalation chain not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 409 Escalation chain cannot be deleted due to references ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/escalation/chains/{chainUid}/delete-impact - **Method:** `GET` - **Path:** `/api/escalation/chains/{chainUid}/delete-impact` - **Tags:** Escalation Get deletion impact details for an escalation chain Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Escalation chain delete impact ###### Content-Type: application/json - **`data`** `object` - **`blocking_routing_rules` (required)** `number` - **`can_delete` (required)** `boolean` - **`chain_uid` (required)** `string` - **`deleted_chain_conditions` (required)** `number` - **`deleted_line_members` (required)** `number` - **`deleted_lines` (required)** `number` - **`detached_alert_assignments_chain_refs` (required)** `number` - **`detached_alert_assignments_line_refs` (required)** `number` - **`detached_escalation_states_chain_refs` (required)** `number` - **`detached_escalation_states_line_refs` (required)** `number` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "chain_uid": "", "deleted_lines": 1, "deleted_line_members": 1, "deleted_chain_conditions": 1, "detached_escalation_states_chain_refs": 1, "detached_escalation_states_line_refs": 1, "detached_alert_assignments_chain_refs": 1, "detached_alert_assignments_line_refs": 1, "blocking_routing_rules": 1, "can_delete": true } } ``` ##### Status: 404 Escalation chain not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/escalation/lines - **Method:** `GET` - **Path:** `/api/escalation/lines` - **Tags:** Escalation List escalation lines for a chain or all lines for an organization Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Successful response ###### Content-Type: application/json - **`count`** `number` - **`data`** `array` **Items:** - **`created_at` (required)** `string`, format: `date-time` - **`description` (required)** `object` - **`escalation_chain_uid` (required)** `object` - **`line_order` (required)** `integer` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`timeout_seconds` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`success`** `boolean` **Example:** ``` { "success": true, "data": [ { "uid": "", "org_uid": "", "escalation_chain_uid": "", "name": "", "description": "", "line_order": -2147483648, "timeout_seconds": -2147483648, "created_at": "", "updated_at": "" } ], "count": 1 } ``` ### POST /api/escalation/lines - **Method:** `POST` - **Path:** `/api/escalation/lines` - **Tags:** Escalation Create a new escalation line Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Request Body ##### Content-Type: application/json - **`escalation_chain_uid` (required)** `string` - **`line_order` (required)** `number` - **`name` (required)** `string` - **`description`** `string` - **`timeout_seconds`** `number` **Example:** ``` { "escalation_chain_uid": "", "name": "", "description": "", "line_order": 1, "timeout_seconds": 1 } ``` #### Responses ##### Status: 200 Escalation line created ###### Content-Type: application/json - **`data`** `object` - **`created_at` (required)** `string`, format: `date-time` - **`description` (required)** `object` - **`escalation_chain_uid` (required)** `object` - **`line_order` (required)** `integer` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`timeout_seconds` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "escalation_chain_uid": "", "name": "", "description": "", "line_order": -2147483648, "timeout_seconds": -2147483648, "created_at": "", "updated_at": "" } } ``` ##### Status: 400 Invalid request body ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/escalation/lines/{lineUid} - **Method:** `GET` - **Path:** `/api/escalation/lines/{lineUid}` - **Tags:** Escalation Get a single escalation line by UID Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Successful response ###### Content-Type: application/json - **`data`** `object` - **`created_at` (required)** `string`, format: `date-time` - **`description` (required)** `object` - **`escalation_chain_uid` (required)** `object` - **`line_order` (required)** `integer` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`timeout_seconds` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "escalation_chain_uid": "", "name": "", "description": "", "line_order": -2147483648, "timeout_seconds": -2147483648, "created_at": "", "updated_at": "" } } ``` ##### Status: 404 Escalation line not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### PUT /api/escalation/lines/{lineUid} - **Method:** `PUT` - **Path:** `/api/escalation/lines/{lineUid}` - **Tags:** Escalation Update an escalation line by UID Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Request Body ##### Content-Type: application/json - **`description` (required)** `object` - **`escalation_chain_uid` (required)** `object` - **`line_order` (required)** `number` - **`name` (required)** `string` - **`timeout_seconds` (required)** `object` **Example:** ``` { "escalation_chain_uid": "", "name": "", "description": "", "line_order": 1, "timeout_seconds": 1 } ``` #### Responses ##### Status: 200 Escalation line updated ###### Content-Type: application/json - **`data`** `object` - **`created_at` (required)** `string`, format: `date-time` - **`description` (required)** `object` - **`escalation_chain_uid` (required)** `object` - **`line_order` (required)** `integer` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`timeout_seconds` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "escalation_chain_uid": "", "name": "", "description": "", "line_order": -2147483648, "timeout_seconds": -2147483648, "created_at": "", "updated_at": "" } } ``` ##### Status: 400 Invalid request body ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 404 Escalation line not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### DELETE /api/escalation/lines/{lineUid} - **Method:** `DELETE` - **Path:** `/api/escalation/lines/{lineUid}` - **Tags:** Escalation Delete an escalation line by UID Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Responses ##### Status: 200 Escalation line deleted ###### Content-Type: application/json - **`message` (required)** `string` - **`success` (required)** `object` **Example:** ``` { "success": true, "message": "" } ``` ##### Status: 404 Escalation line not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/escalation/lines/{lineUid}/delete-impact - **Method:** `GET` - **Path:** `/api/escalation/lines/{lineUid}/delete-impact` - **Tags:** Escalation Get deletion impact details for an escalation line Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Escalation line delete impact ###### Content-Type: application/json - **`data`** `object` - **`deleted_line_members` (required)** `number` - **`detached_alert_assignments_line_refs` (required)** `number` - **`detached_escalation_states_line_refs` (required)** `number` - **`line_uid` (required)** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "line_uid": "", "deleted_line_members": 1, "detached_escalation_states_line_refs": 1, "detached_alert_assignments_line_refs": 1 } } ``` ##### Status: 404 Escalation line not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/escalation/line-members - **Method:** `GET` - **Path:** `/api/escalation/line-members` - **Tags:** Escalation List escalation line members for a line Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Successful response ###### Content-Type: application/json - **`count`** `number` - **`data`** `array` **Items:** - **`communication_rule_uid` (required)** `object` - **`delay_seconds` (required)** `object` - **`email` (required)** `object` - **`escalation_line_uid` (required)** `object` - **`member_order` (required)** `object` - **`repeat_interval_seconds` (required)** `object` - **`team_member_uid` (required)** `object` - **`uid` (required)** `string` - **`schedule_uid`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": [ { "uid": "", "escalation_line_uid": "", "team_member_uid": "", "email": "", "schedule_uid": "", "communication_rule_uid": "", "member_order": -2147483648, "delay_seconds": -2147483648, "repeat_interval_seconds": -2147483648 } ], "count": 1 } ``` ##### Status: 400 line\_uid parameter is required ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/escalation/line-members - **Method:** `POST` - **Path:** `/api/escalation/line-members` - **Tags:** Escalation Create a new escalation line member Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Request Body ##### Content-Type: application/json - **`escalation_line_uid` (required)** `string` - **`communication_rule_uid`** `string` - **`delay_seconds`** `number` - **`email`** `string` - **`member_order`** `number` - **`repeat_interval_seconds`** `number` - **`schedule_uid`** `string` - **`team_member_uid`** `string` **Example:** ``` { "escalation_line_uid": "", "team_member_uid": "", "email": "", "schedule_uid": "", "communication_rule_uid": "", "member_order": 1, "delay_seconds": 1, "repeat_interval_seconds": 1 } ``` #### Responses ##### Status: 200 Escalation line member created ###### Content-Type: application/json - **`data`** `object` - **`communication_rule_uid` (required)** `object` - **`delay_seconds` (required)** `object` - **`email` (required)** `object` - **`escalation_line_uid` (required)** `object` - **`member_order` (required)** `object` - **`repeat_interval_seconds` (required)** `object` - **`team_member_uid` (required)** `object` - **`uid` (required)** `string` - **`schedule_uid`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "escalation_line_uid": "", "team_member_uid": "", "email": "", "schedule_uid": "", "communication_rule_uid": "", "member_order": -2147483648, "delay_seconds": -2147483648, "repeat_interval_seconds": -2147483648 } } ``` ##### Status: 400 Invalid request body ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/escalation/line-members/{memberUid} - **Method:** `GET` - **Path:** `/api/escalation/line-members/{memberUid}` - **Tags:** Escalation Get a single escalation line member by UID Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Successful response ###### Content-Type: application/json - **`data`** `object` - **`communication_rule_uid` (required)** `object` - **`delay_seconds` (required)** `object` - **`email` (required)** `object` - **`escalation_line_uid` (required)** `object` - **`member_order` (required)** `object` - **`repeat_interval_seconds` (required)** `object` - **`team_member_uid` (required)** `object` - **`uid` (required)** `string` - **`schedule_uid`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "escalation_line_uid": "", "team_member_uid": "", "email": "", "schedule_uid": "", "communication_rule_uid": "", "member_order": -2147483648, "delay_seconds": -2147483648, "repeat_interval_seconds": -2147483648 } } ``` ##### Status: 404 Escalation line member not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### PUT /api/escalation/line-members/{memberUid} - **Method:** `PUT` - **Path:** `/api/escalation/line-members/{memberUid}` - **Tags:** Escalation Update an escalation line member by UID Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Request Body ##### Content-Type: application/json - **`communication_rule_uid` (required)** `object` - **`delay_seconds` (required)** `number` - **`email` (required)** `object` - **`member_order` (required)** `number` - **`repeat_interval_seconds` (required)** `number` - **`schedule_uid` (required)** `object` - **`team_member_uid` (required)** `object` **Example:** ``` { "team_member_uid": "", "email": "", "schedule_uid": "", "communication_rule_uid": "", "member_order": 1, "delay_seconds": 1, "repeat_interval_seconds": 1 } ``` #### Responses ##### Status: 200 Escalation line member updated ###### Content-Type: application/json - **`data`** `object` - **`communication_rule_uid` (required)** `object` - **`delay_seconds` (required)** `object` - **`email` (required)** `object` - **`escalation_line_uid` (required)** `object` - **`member_order` (required)** `object` - **`repeat_interval_seconds` (required)** `object` - **`team_member_uid` (required)** `object` - **`uid` (required)** `string` - **`schedule_uid`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "escalation_line_uid": "", "team_member_uid": "", "email": "", "schedule_uid": "", "communication_rule_uid": "", "member_order": -2147483648, "delay_seconds": -2147483648, "repeat_interval_seconds": -2147483648 } } ``` ##### Status: 400 Invalid request body ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 404 Escalation line member not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### DELETE /api/escalation/line-members/{memberUid} - **Method:** `DELETE` - **Path:** `/api/escalation/line-members/{memberUid}` - **Tags:** Escalation Delete an escalation line member by UID Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Responses ##### Status: 200 Escalation line member deleted ###### Content-Type: application/json - **`message` (required)** `string` - **`success` (required)** `object` **Example:** ``` { "success": true, "message": "" } ``` ##### Status: 404 Escalation line member not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/escalation/flow - **Method:** `POST` - **Path:** `/api/escalation/flow` - **Tags:** Escalation Resolve full escalation flow for given entities Authorization: requires permission `operational:action` (allowed roles: reader, editor, admin). #### Request Body ##### Content-Type: application/json - **`chains`** `array` **Items:** `string` - **`lines`** `array` **Items:** `string` - **`routing_rules`** `array` **Items:** `string` - **`schedules`** `array` **Items:** `string` - **`teams`** `array` **Items:** `string` - **`users`** `array` **Items:** `string` **Example:** ``` { "chains": [ "" ], "lines": [ "" ], "routing_rules": [ "" ], "users": [ "" ], "teams": [ "" ], "schedules": [ "" ] } ``` #### Responses ##### Status: 200 Full escalation flow resolved ###### Content-Type: application/json - **`responders` (required)** `array` **Items:** - **`explanation` (required)** `object` - **`escalation_chains`** `array` **Items:** - **`conditions_applied` (required)** `array` **Items:** - **`actual_value` (required)** `object` - **`field` (required)** `string` - **`matched` (required)** `boolean` - **`operator` (required)** `string` - **`value` (required)** `string` - **`actions`** `array` **Items:** - **`type` (required)** `string` - **`line_uid`** `string` - **`new_order`** `object` - **`name` (required)** `string` - **`uid` (required)** `string` - **`routing_rule_uid`** `string` - **`escalation_lines`** `array` **Items:** - **`line_order` (required)** `number` - **`name` (required)** `string` - **`uid` (required)** `string` - **`description`** `string` - **`escalation_chain_uid`** `string` - **`line_timeout_seconds`** `number` - **`escalation_schedule_overrides`** `array` **Items:** - **`created_at` (required)** `string`, format: `date-time` - **`end_at` (required)** `string`, format: `date-time` - **`schedule_uid` (required)** `string` - **`start_at` (required)** `string`, format: `date-time` - **`uid` (required)** `string` - **`user_uid` (required)** `string` - **`escalation_schedules`** `array` **Items:** - **`created_at` (required)** `string`, format: `date-time` - **`description` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`timezone` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`line_memberships`** `array` **Items:** - **`uid` (required)** `string` - **`communication_rule_uid`** `string` - **`delay_seconds`** `number` - **`email`** `string` - **`escalation_line_uid`** `string` - **`member_order`** `number` - **`repeat_interval_seconds`** `number` - **`schedule_uid`** `string` - **`team_member_uid`** `string` - **`routing_rules`** `array` **Items:** - **`conditions_matched` (required)** `array` **Items:** - **`actual_value` (required)** `object` - **`field` (required)** `string` - **`matched` (required)** `boolean` - **`operator` (required)** `string` - **`value` (required)** `string` - **`schema_uid`** `string` - **`name` (required)** `string` - **`uid` (required)** `string` - **`team_memberships`** `array` **Items:** - **`team_uid` (required)** `string` - **`user_uid` (required)** `string` - **`team_description`** `string` - **`team_name`** `string` - **`user_email` (required)** `string` - **`member_types`** `array` **Items:** **Any of:** - **`original_members`** `array` **Items:** `string` - **`user_first_name`** `string` - **`user_last_name`** `string` - **`user_phone_number`** `string` - **`user_uid`** `string` **Example:** ``` { "responders": [ { "user_email": "", "user_uid": "", "user_first_name": "", "user_last_name": "", "user_phone_number": "", "member_types": [ "user" ], "original_members": [ "" ], "explanation": { "routing_rules": [ { "uid": "", "name": "", "conditions_matched": [ { "schema_uid": "", "field": "", "operator": "", "value": "", "actual_value": "", "matched": true } ] } ], "escalation_chains": [ { "uid": "", "name": "", "routing_rule_uid": "", "conditions_applied": [ { "field": "", "operator": "", "value": "", "actual_value": "", "matched": true, "actions": [ { "type": "", "line_uid": "", "new_order": "[Max Depth Exceeded]" } ] } ] } ], "escalation_lines": [ { "uid": "", "name": "", "description": "", "escalation_chain_uid": "", "line_order": 1, "line_timeout_seconds": 1 } ], "line_memberships": [ { "uid": "", "escalation_line_uid": "", "team_member_uid": "", "email": "", "schedule_uid": "", "communication_rule_uid": "", "member_order": 1, "delay_seconds": 1, "repeat_interval_seconds": 1 } ], "team_memberships": [ { "team_uid": "", "team_name": "", "team_description": "", "user_uid": "" } ], "escalation_schedules": [ { "uid": "", "org_uid": "", "name": "", "description": "", "timezone": "", "created_at": "", "updated_at": "" } ], "escalation_schedule_overrides": [ { "uid": "", "schedule_uid": "", "user_uid": "", "start_at": "", "end_at": "", "created_at": "" } ] } } ] } ``` ##### Status: 400 Invalid request body ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/escalation/schedules - **Method:** `GET` - **Path:** `/api/escalation/schedules` - **Tags:** Escalation List escalation schedules for the current organization Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Successful response ###### Content-Type: application/json - **`count`** `number` - **`data`** `array` **Items:** - **`created_at` (required)** `string`, format: `date-time` - **`description` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`timezone` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`success`** `boolean` **Example:** ``` { "success": true, "data": [ { "uid": "", "org_uid": "", "name": "", "description": "", "timezone": "", "created_at": "", "updated_at": "" } ], "count": 1 } ``` ### POST /api/escalation/schedules - **Method:** `POST` - **Path:** `/api/escalation/schedules` - **Tags:** Escalation Create a new escalation schedule Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Request Body ##### Content-Type: application/json - **`name` (required)** `string` - **`description`** `string` - **`layers`** `array` **Items:** - **`name` (required)** `string` - **`rotation_type` (required)** `string` - **`shift_length_seconds` (required)** `number` - **`shift_start` (required)** `string` - **`users` (required)** `array` **Items:** `string` - **`layer_order`** `number` - **`rotation_interval`** `number` - **`timezone`** `string` **Example:** ``` { "name": "", "description": "", "timezone": "", "layers": [ { "name": "", "rotation_type": "", "rotation_interval": 1, "shift_start": "", "shift_length_seconds": 1, "users": [ "" ], "layer_order": 1 } ] } ``` #### Responses ##### Status: 200 Escalation schedule created ###### Content-Type: application/json - **`data`** `object` - **`created_at` (required)** `string`, format: `date-time` - **`description` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`timezone` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "name": "", "description": "", "timezone": "", "created_at": "", "updated_at": "" } } ``` ##### Status: 400 Invalid request body ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/escalation/schedules/{scheduleUid} - **Method:** `GET` - **Path:** `/api/escalation/schedules/{scheduleUid}` - **Tags:** Escalation Get a single escalation schedule by UID Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Successful response ###### Content-Type: application/json - **`data`** `object` - **`created_at` (required)** `string`, format: `date-time` - **`description` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`timezone` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "name": "", "description": "", "timezone": "", "created_at": "", "updated_at": "" } } ``` ##### Status: 404 Escalation schedule not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### PUT /api/escalation/schedules/{scheduleUid} - **Method:** `PUT` - **Path:** `/api/escalation/schedules/{scheduleUid}` - **Tags:** Escalation Update an escalation schedule by UID Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Request Body ##### Content-Type: application/json - **`description` (required)** `object` - **`layers` (required)** `array` **Items:** - **`name` (required)** `string` - **`rotation_type` (required)** `string` - **`shift_length_seconds` (required)** `number` - **`shift_start` (required)** `string` - **`users` (required)** `array` **Items:** `string` - **`layer_order`** `number` - **`rotation_interval`** `number` - **`name` (required)** `string` - **`timezone` (required)** `string` **Example:** ``` { "name": "", "description": "", "timezone": "", "layers": [ { "name": "", "rotation_type": "", "rotation_interval": 1, "shift_start": "", "shift_length_seconds": 1, "users": [ "" ], "layer_order": 1 } ] } ``` #### Responses ##### Status: 200 Escalation schedule updated ###### Content-Type: application/json - **`data`** `object` - **`created_at` (required)** `string`, format: `date-time` - **`description` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`timezone` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "name": "", "description": "", "timezone": "", "created_at": "", "updated_at": "" } } ``` ##### Status: 400 Invalid request body ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 404 Escalation schedule not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### DELETE /api/escalation/schedules/{scheduleUid} - **Method:** `DELETE` - **Path:** `/api/escalation/schedules/{scheduleUid}` - **Tags:** Escalation Delete an escalation schedule by UID Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Responses ##### Status: 200 Escalation schedule deleted ###### Content-Type: application/json - **`message` (required)** `string` - **`success` (required)** `object` **Example:** ``` { "success": true, "message": "" } ``` ##### Status: 404 Escalation schedule not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/escalation/schedules/{scheduleUid}/overrides - **Method:** `POST` - **Path:** `/api/escalation/schedules/{scheduleUid}/overrides` - **Tags:** Escalation Create a new escalation schedule override Authorization: requires permission `operational:action` (allowed roles: reader, editor, admin). #### Request Body ##### Content-Type: application/json - **`end_at` (required)** `string` - **`start_at` (required)** `string` - **`user_uid` (required)** `string` **Example:** ``` { "user_uid": "", "start_at": "", "end_at": "" } ``` #### Responses ##### Status: 200 Escalation schedule override created ###### Content-Type: application/json - **`data`** `object` - **`created_at` (required)** `string`, format: `date-time` - **`end_at` (required)** `string`, format: `date-time` - **`schedule_uid` (required)** `string` - **`start_at` (required)** `string`, format: `date-time` - **`uid` (required)** `string` - **`user_uid` (required)** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "schedule_uid": "", "user_uid": "", "start_at": "", "end_at": "", "created_at": "" } } ``` ##### Status: 400 Invalid request body ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### DELETE /api/escalation/schedules/{scheduleUid}/overrides/{overrideUid} - **Method:** `DELETE` - **Path:** `/api/escalation/schedules/{scheduleUid}/overrides/{overrideUid}` - **Tags:** Escalation Delete an escalation schedule override by UID Authorization: requires permission `operational:action` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Escalation schedule override deleted ###### Content-Type: application/json - **`message` (required)** `string` - **`success` (required)** `object` **Example:** ``` { "success": true, "message": "" } ``` ##### Status: 404 Escalation schedule override not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/proxy/{schemaTokenCandidate} - **Method:** `POST` - **Path:** `/api/proxy/{schemaTokenCandidate}` - **Tags:** Proxy Proxies an alert to its destination with routing rules applied Authorization: requires a valid enabled schema token in the URL path. #### Request Body ##### Content-Type: application/json **Example:** ``` { "propertyName*": "anything" } ``` #### Responses ##### Status: 200 Alert proxied successfully ###### Content-Type: application/json - **`message` (required)** `string` - **`success` (required)** `object` **Example:** ``` { "success": true, "message": "" } ``` ##### Status: 400 Invalid request or missing parameters ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 401 Invalid or disabled schema token ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/proxy/alert-instances/{alertInstanceUid}/history - **Method:** `GET` - **Path:** `/api/proxy/alert-instances/{alertInstanceUid}/history` - **Tags:** Proxy Retrieves audit history events for a single alert instance. Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Alert instance history retrieved successfully ###### Content-Type: application/json - **`data` (required)** `array` **Items:** **All of:** - **`actor_email` (required)** `object` - **`actor_name` (required)** `object` - **`alert_instance_uid` (required)** `string` - **`created_at` (required)** `string`, format: `date-time` - **`event_type` (required)** `object` - **`payload` (required)** `object` - **`uid` (required)** `string` * **`result`** `object` * **`status`** `object` * **`summary`** `object` - **`limit` (required)** `string` - **`next_cursor` (required)** `object` - **`order_by` (required)** `object` **Example:** ``` { "data": [ { "uid": "", "alert_instance_uid": "", "event_type": "proxy.ingested", "actor_email": "", "actor_name": "", "payload": null, "created_at": "", "status": "", "result": "", "summary": "" } ], "limit": "", "order_by": "newest", "next_cursor": "" } ``` ##### Status: 404 Alert instance not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/proxy/alert-instances/{alertInstanceUid} - **Method:** `GET` - **Path:** `/api/proxy/alert-instances/{alertInstanceUid}` - **Tags:** Proxy Retrieves a single alert instance by UID with complete escalation data Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Alert instance retrieved successfully ###### Content-Type: application/json **All of:** **All of:** - **`acknowledged_at`** `object` - **`acknowledged_by`** `object` - **`alert_body`** `object` - **`created_at`** `object` - **`first_acknowledged_at`** `object` - **`mtta_seconds`** `object` - **`mttr_seconds`** `object` - **`org_uid`** `string` - **`processing_status`** `object` - **`resolved_at`** `object` - **`schema_uid`** `object` - **`status`** `object` - **`uid`** `string` * **`fingerprint` (required)** `string` * **`repeats` (required)** `number` * **`unpacked_responders` (required)** `object` - **`responders` (required)** `array` **Items:** - **`explanation` (required)** `object` - **`escalation_chains`** `array` **Items:** - **`conditions_applied` (required)** `array` **Items:** - **`actual_value` (required)** `object` - **`field` (required)** `string` - **`matched` (required)** `boolean` - **`operator` (required)** `string` - **`value` (required)** `string` - **`actions`** `array` **Items:** - **`type` (required)** `string` - **`line_uid`** `string` - **`new_order`** `object` - **`name` (required)** `string` - **`uid` (required)** `string` - **`routing_rule_uid`** `string` - **`escalation_lines`** `array` **Items:** - **`line_order` (required)** `number` - **`name` (required)** `string` - **`uid` (required)** `string` - **`description`** `string` - **`escalation_chain_uid`** `string` - **`line_timeout_seconds`** `number` - **`escalation_schedule_overrides`** `array` **Items:** - **`created_at` (required)** `string`, format: `date-time` - **`end_at` (required)** `string`, format: `date-time` - **`schedule_uid` (required)** `string` - **`start_at` (required)** `string`, format: `date-time` - **`uid` (required)** `string` - **`user_uid` (required)** `string` - **`escalation_schedules`** `array` **Items:** - **`created_at` (required)** `string`, format: `date-time` - **`description` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`timezone` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`line_memberships`** `array` **Items:** - **`uid` (required)** `string` - **`communication_rule_uid`** `string` - **`delay_seconds`** `number` - **`email`** `string` - **`escalation_line_uid`** `string` - **`member_order`** `number` - **`repeat_interval_seconds`** `number` - **`schedule_uid`** `string` - **`team_member_uid`** `string` - **`routing_rules`** `array` **Items:** - **`conditions_matched` (required)** `array` **Items:** - **`actual_value` (required)** `object` - **`field` (required)** `string` - **`matched` (required)** `boolean` - **`operator` (required)** `string` - **`value` (required)** `string` - **`schema_uid`** `string` - **`name` (required)** `string` - **`uid` (required)** `string` - **`team_memberships`** `array` **Items:** - **`team_uid` (required)** `string` - **`user_uid` (required)** `string` - **`team_description`** `string` - **`team_name`** `string` - **`user_email` (required)** `string` - **`member_types`** `array` **Items:** **Any of:** - **`original_members`** `array` **Items:** `string` - **`user_first_name`** `string` - **`user_last_name`** `string` - **`user_phone_number`** `string` - **`user_uid`** `string` * **`ai_escalation_assignments`** `array` **Items:** - **`created_at` (required)** `object` - **`status` (required)** `object` - **`uid` (required)** `string` * **`parsed_fields`** `object` - **`escalation_assignments` (required)** `array` **Items:** **All of:** - **`alert_instance_uid` (required)** `object` - **`communication_rule_uid` (required)** `object` - **`duration_seconds` (required)** `object` - **`email` (required)** `object` - **`escalation_chain_uid` (required)** `object` - **`escalation_line_uid` (required)** `object` - **`schedule_uid` (required)** `object` - **`status` (required)** `object` - **`team_member_uid` (required)** `object` - **`terminal_reason` (required)** `object` - **`uid` (required)** `string` - **`assigned_at`** `object` - **`terminal_at`** `object` * **`escalation_line_name`** `string` - **`escalation_line_timings` (required)** `array` **Items:** **All of:** - **`alert_instance_uid` (required)** `string` - **`duration_seconds` (required)** `object` - **`escalation_chain_uid` (required)** `string` - **`escalation_line_uid` (required)** `string` - **`exit_reason` (required)** `object` - **`uid` (required)** `string` - **`entered_at`** `object` - **`exited_at`** `object` * **`escalation_line_name`** `string` - **`escalation_state`** `object` - **`alert_instance_uid` (required)** `object` - **`current_line_uid` (required)** `object` - **`escalation_chain_uid` (required)** `object` - **`status` (required)** `object` - **`uid` (required)** `string` - **`started_at`** `object` - **`timeout_at`** `object` **Example:** ``` { "uid": "", "org_uid": "", "schema_uid": "", "alert_body": "", "status": "", "processing_status": "", "acknowledged_by": "", "acknowledged_at": "", "first_acknowledged_at": "", "resolved_at": "", "mtta_seconds": -2147483648, "mttr_seconds": -2147483648, "created_at": "", "unpacked_responders": { "responders": [ { "user_email": "", "user_uid": "", "user_first_name": "", "user_last_name": "", "user_phone_number": "", "member_types": [ "user" ], "original_members": [ "" ], "explanation": { "routing_rules": [ { "uid": "", "name": "", "conditions_matched": [ { "schema_uid": "[Max Depth Exceeded]", "field": "[Max Depth Exceeded]", "operator": "[Max Depth Exceeded]", "value": "[Max Depth Exceeded]", "actual_value": "[Max Depth Exceeded]", "matched": "[Max Depth Exceeded]" } ] } ], "escalation_chains": [ { "uid": "", "name": "", "routing_rule_uid": "", "conditions_applied": [ { "field": "[Max Depth Exceeded]", "operator": "[Max Depth Exceeded]", "value": "[Max Depth Exceeded]", "actual_value": "[Max Depth Exceeded]", "matched": "[Max Depth Exceeded]", "actions": "[Max Depth Exceeded]" } ] } ], "escalation_lines": [ { "uid": "", "name": "", "description": "", "escalation_chain_uid": "", "line_order": 1, "line_timeout_seconds": 1 } ], "line_memberships": [ { "uid": "", "escalation_line_uid": "", "team_member_uid": "", "email": "", "schedule_uid": "", "communication_rule_uid": "", "member_order": 1, "delay_seconds": 1, "repeat_interval_seconds": 1 } ], "team_memberships": [ { "team_uid": "", "team_name": "", "team_description": "", "user_uid": "" } ], "escalation_schedules": [ { "uid": "", "org_uid": "", "name": "", "description": "", "timezone": "", "created_at": "", "updated_at": "" } ], "escalation_schedule_overrides": [ { "uid": "", "schedule_uid": "", "user_uid": "", "start_at": "", "end_at": "", "created_at": "" } ] } } ] }, "ai_escalation_assignments": [ { "uid": "", "status": "", "created_at": "" } ], "parsed_fields": { "propertyName*": "anything" }, "fingerprint": "", "repeats": 1, "escalation_assignments": [ { "uid": "", "alert_instance_uid": "", "escalation_chain_uid": "", "escalation_line_uid": "", "team_member_uid": "", "email": "", "schedule_uid": "", "communication_rule_uid": "", "assigned_at": "", "terminal_at": "", "...": "[Additional Properties Truncated]", "escalation_line_name": "" } ], "escalation_line_timings": [ { "uid": "", "alert_instance_uid": "", "escalation_chain_uid": "", "escalation_line_uid": "", "entered_at": "", "exited_at": "", "exit_reason": "", "duration_seconds": -2147483648, "escalation_line_name": "" } ], "escalation_state": { "uid": "", "alert_instance_uid": "", "escalation_chain_uid": "", "current_line_uid": "", "status": "", "started_at": "", "timeout_at": "" } } ``` ##### Status: 404 Alert instance not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/proxy/alert-instances - **Method:** `GET` - **Path:** `/api/proxy/alert-instances` - **Tags:** Proxy Retrieves alert instances (alert history) for the organization with escalation data Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Alert instances retrieved successfully ###### Content-Type: application/json **All of:** - **`limit`** `string` — Pagination limit as string - **`offset`** `string` — Pagination offset as string * **`data` (required)** `array` **Items:** **All of:** - **`acknowledged_at`** `object` - **`acknowledged_by`** `object` - **`alert_body`** `object` - **`created_at`** `object` - **`first_acknowledged_at`** `object` - **`mtta_seconds`** `object` - **`mttr_seconds`** `object` - **`org_uid`** `string` - **`processing_status`** `object` - **`resolved_at`** `object` - **`schema_uid`** `object` - **`status`** `object` - **`uid`** `string` * **`fingerprint` (required)** `string` * **`repeats` (required)** `number` * **`unpacked_responders` (required)** `object` - **`responders` (required)** `array` **Items:** - **`explanation` (required)** `object` - **`escalation_chains`** `array` **Items:** - **`conditions_applied` (required)** `array` **Items:** - **`actual_value` (required)** `object` - **`field` (required)** `string` - **`matched` (required)** `boolean` - **`operator` (required)** `string` - **`value` (required)** `string` - **`actions`** `array` **Items:** - **`type` (required)** `string` - **`line_uid`** `string` - **`new_order`** `object` - **`name` (required)** `string` - **`uid` (required)** `string` - **`routing_rule_uid`** `string` - **`escalation_lines`** `array` **Items:** - **`line_order` (required)** `number` - **`name` (required)** `string` - **`uid` (required)** `string` - **`description`** `string` - **`escalation_chain_uid`** `string` - **`line_timeout_seconds`** `number` - **`escalation_schedule_overrides`** `array` **Items:** - **`created_at` (required)** `string`, format: `date-time` - **`end_at` (required)** `string`, format: `date-time` - **`schedule_uid` (required)** `string` - **`start_at` (required)** `string`, format: `date-time` - **`uid` (required)** `string` - **`user_uid` (required)** `string` - **`escalation_schedules`** `array` **Items:** - **`created_at` (required)** `string`, format: `date-time` - **`description` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`timezone` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`line_memberships`** `array` **Items:** - **`uid` (required)** `string` - **`communication_rule_uid`** `string` - **`delay_seconds`** `number` - **`email`** `string` - **`escalation_line_uid`** `string` - **`member_order`** `number` - **`repeat_interval_seconds`** `number` - **`schedule_uid`** `string` - **`team_member_uid`** `string` - **`routing_rules`** `array` **Items:** - **`conditions_matched` (required)** `array` **Items:** - **`actual_value` (required)** `object` - **`field` (required)** `string` - **`matched` (required)** `boolean` - **`operator` (required)** `string` - **`value` (required)** `string` - **`schema_uid`** `string` - **`name` (required)** `string` - **`uid` (required)** `string` - **`team_memberships`** `array` **Items:** - **`team_uid` (required)** `string` - **`user_uid` (required)** `string` - **`team_description`** `string` - **`team_name`** `string` - **`user_email` (required)** `string` - **`member_types`** `array` **Items:** **Any of:** - **`original_members`** `array` **Items:** `string` - **`user_first_name`** `string` - **`user_last_name`** `string` - **`user_phone_number`** `string` - **`user_uid`** `string` * **`ai_escalation_assignments`** `array` **Items:** - **`created_at` (required)** `object` - **`status` (required)** `object` - **`uid` (required)** `string` * **`parsed_fields`** `object` * **`filters` (required)** `object` - **`end_date`** `string` - **`order_by`** `object` - **`processing_status`** `object` - **`q`** `string` - **`schema_uid`** `string` - **`start_date`** `string` - **`status`** `object` * **`total` (required)** `number` **Example:** ``` { "limit": "", "offset": "", "total": 1, "filters": { "schema_uid": "", "status": "firing", "processing_status": "pending", "start_date": "", "end_date": "", "order_by": "newest", "q": "" }, "data": [ { "uid": "", "org_uid": "", "schema_uid": "", "alert_body": "", "status": "", "processing_status": "", "acknowledged_by": "", "acknowledged_at": "", "first_acknowledged_at": "", "resolved_at": "", "...": "[Additional Properties Truncated]", "unpacked_responders": { "responders": [ { "user_email": "", "user_uid": "", "user_first_name": "", "user_last_name": "", "user_phone_number": "", "member_types": [ "user" ], "original_members": [ "" ], "explanation": { "routing_rules": [ { "uid": "[Max Depth Exceeded]", "name": "[Max Depth Exceeded]", "conditions_matched": "[Max Depth Exceeded]" } ], "escalation_chains": [ { "uid": "[Max Depth Exceeded]", "name": "[Max Depth Exceeded]", "routing_rule_uid": "[Max Depth Exceeded]", "conditions_applied": "[Max Depth Exceeded]" } ], "escalation_lines": [ { "uid": "[Max Depth Exceeded]", "name": "[Max Depth Exceeded]", "description": "[Max Depth Exceeded]", "escalation_chain_uid": "[Max Depth Exceeded]", "line_order": "[Max Depth Exceeded]", "line_timeout_seconds": "[Max Depth Exceeded]" } ], "line_memberships": [ { "uid": "[Max Depth Exceeded]", "escalation_line_uid": "[Max Depth Exceeded]", "team_member_uid": "[Max Depth Exceeded]", "email": "[Max Depth Exceeded]", "schedule_uid": "[Max Depth Exceeded]", "communication_rule_uid": "[Max Depth Exceeded]", "member_order": "[Max Depth Exceeded]", "delay_seconds": "[Max Depth Exceeded]", "repeat_interval_seconds": "[Max Depth Exceeded]" } ], "team_memberships": [ { "team_uid": "[Max Depth Exceeded]", "team_name": "[Max Depth Exceeded]", "team_description": "[Max Depth Exceeded]", "user_uid": "[Max Depth Exceeded]" } ], "escalation_schedules": [ { "uid": "[Max Depth Exceeded]", "org_uid": "[Max Depth Exceeded]", "name": "[Max Depth Exceeded]", "description": "[Max Depth Exceeded]", "timezone": "[Max Depth Exceeded]", "created_at": "[Max Depth Exceeded]", "updated_at": "[Max Depth Exceeded]" } ], "escalation_schedule_overrides": [ { "uid": "[Max Depth Exceeded]", "schedule_uid": "[Max Depth Exceeded]", "user_uid": "[Max Depth Exceeded]", "start_at": "[Max Depth Exceeded]", "end_at": "[Max Depth Exceeded]", "created_at": "[Max Depth Exceeded]" } ] } } ] }, "ai_escalation_assignments": [ { "uid": "", "status": "", "created_at": "" } ], "parsed_fields": { "propertyName*": "anything" }, "fingerprint": "", "repeats": 1 } ] } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/teams - **Method:** `GET` - **Path:** `/api/teams` - **Tags:** Teams List all teams for the current organization with their memberships Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Successful response ###### Content-Type: application/json - **`count`** `number` - **`data`** `array` **Items:** - **`created_at` (required)** `string`, format: `date-time` - **`description` (required)** `object` - **`is_active` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`last_synced_at`** `string`, format: `date-time` - **`success`** `boolean` **Example:** ``` { "success": true, "data": [ { "uid": "", "org_uid": "", "name": "", "description": "", "is_active": true, "last_synced_at": "", "created_at": "", "updated_at": "" } ], "count": 1 } ``` ### POST /api/teams - **Method:** `POST` - **Path:** `/api/teams` - **Tags:** Teams Create a local team when team sync is disabled for the organization Authorization: requires permission `config:write` (allowed roles: admin). #### Responses ##### Status: 200 Successful response ###### Content-Type: application/json - **`data`** `object` - **`created_at` (required)** `string`, format: `date-time` - **`description` (required)** `object` - **`is_active` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`last_synced_at`** `string`, format: `date-time` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "name": "", "description": "", "is_active": true, "last_synced_at": "", "created_at": "", "updated_at": "" } } ``` ### GET /api/teams/{uid} - **Method:** `GET` - **Path:** `/api/teams/{uid}` - **Tags:** Teams Get a single team by UID with its memberships Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Successful response ###### Content-Type: application/json - **`data`** `object` - **`created_at` (required)** `string`, format: `date-time` - **`description` (required)** `object` - **`is_active` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`last_synced_at`** `string`, format: `date-time` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "name": "", "description": "", "is_active": true, "last_synced_at": "", "created_at": "", "updated_at": "" } } ``` ##### Status: 404 Team not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### PUT /api/teams/{uid} - **Method:** `PUT` - **Path:** `/api/teams/{uid}` - **Tags:** Teams Replace a local team when team sync is disabled for the organization Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Responses ##### Status: 200 Successful response ###### Content-Type: application/json - **`data`** `object` - **`created_at` (required)** `string`, format: `date-time` - **`description` (required)** `object` - **`is_active` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`last_synced_at`** `string`, format: `date-time` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "name": "", "description": "", "is_active": true, "last_synced_at": "", "created_at": "", "updated_at": "" } } ``` ### GET /api/users/me/memberships - **Method:** `GET` - **Path:** `/api/users/me/memberships` - **Tags:** Users Get current user's organization memberships Authorization: requires an authenticated SPA access token. #### Responses ##### Status: 200 Successful response ###### Content-Type: application/json - **`count`** `number` - **`data`** `array` **Items:** **All of:** - **`is_active` (required)** `object` - **`org_uid` (required)** `string` - **`role` (required)** `object` - **`user_uid` (required)** `string` - **`joined_at`** `object` - **`last_synced_at`** `object` * **`org_name` (required)** `string` * **`org_slug` (required)** `string` * **`team_sync_enabled` (required)** `boolean` - **`success`** `boolean` **Example:** ``` { "success": true, "data": [ { "user_uid": "", "org_uid": "", "role": "", "is_active": true, "joined_at": "", "last_synced_at": "", "org_name": "", "org_slug": "", "team_sync_enabled": true } ], "count": 1 } ``` ##### Status: 401 Unauthorized ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 404 User not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/users - **Method:** `GET` - **Path:** `/api/users` - **Tags:** Users Get users in an organization Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Successful response ###### Content-Type: application/json - **`count`** `number` - **`data`** `array` **Items:** - **`created_at` (required)** `string`, format: `date-time` - **`email` (required)** `string` - **`first_name` (required)** `object` - **`is_active` (required)** `object` - **`last_name` (required)** `object` - **`melody_auth_auth_id` (required)** `string` - **`phone_number_verified` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`last_synced_at`** `string`, format: `date-time` - **`phone_number`** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": [ { "uid": "", "email": "", "first_name": "", "last_name": "", "phone_number": "", "phone_number_verified": true, "is_active": true, "melody_auth_auth_id": "", "last_synced_at": "", "created_at": "", "updated_at": "" } ], "count": 1 } ``` ##### Status: 400 Invalid request or missing org\_uid ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 401 Unauthorized ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 404 Organization not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/users/search - **Method:** `GET` - **Path:** `/api/users/search` - **Tags:** Users Search users in an organization Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Successful response ###### Content-Type: application/json - **`count`** `number` - **`data`** `array` **Items:** - **`created_at` (required)** `string`, format: `date-time` - **`email` (required)** `string` - **`first_name` (required)** `object` - **`is_active` (required)** `object` - **`last_name` (required)** `object` - **`melody_auth_auth_id` (required)** `string` - **`phone_number_verified` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`last_synced_at`** `string`, format: `date-time` - **`phone_number`** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": [ { "uid": "", "email": "", "first_name": "", "last_name": "", "phone_number": "", "phone_number_verified": true, "is_active": true, "melody_auth_auth_id": "", "last_synced_at": "", "created_at": "", "updated_at": "" } ], "count": 1 } ``` ##### Status: 400 Invalid request ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 401 Unauthorized ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 404 Organization not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/users/{email} - **Method:** `GET` - **Path:** `/api/users/{email}` - **Tags:** Users Get user by email in an organization Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Successful response ###### Content-Type: application/json - **`created_at` (required)** `string`, format: `date-time` - **`email` (required)** `string` - **`first_name` (required)** `object` - **`is_active` (required)** `object` - **`last_name` (required)** `object` - **`melody_auth_auth_id` (required)** `string` - **`phone_number_verified` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`last_synced_at`** `string`, format: `date-time` - **`phone_number`** `string` **Example:** ``` { "uid": "", "email": "", "first_name": "", "last_name": "", "phone_number": "", "phone_number_verified": true, "is_active": true, "melody_auth_auth_id": "", "last_synced_at": "", "created_at": "", "updated_at": "" } ``` ##### Status: 400 Invalid request ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 401 Unauthorized ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 404 User not found in organization ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### PUT /api/users/{email} - **Method:** `PUT` - **Path:** `/api/users/{email}` - **Tags:** Users Update user data (1stLine-specific fields like phone\_number) Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Request Body ##### Content-Type: application/json - **`phone_number` (required)** `object` **Example:** ``` { "phone_number": "" } ``` #### Responses ##### Status: 200 User updated successfully ###### Content-Type: application/json - **`created_at` (required)** `string`, format: `date-time` - **`email` (required)** `string` - **`first_name` (required)** `object` - **`is_active` (required)** `object` - **`last_name` (required)** `object` - **`melody_auth_auth_id` (required)** `string` - **`phone_number_verified` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`last_synced_at`** `string`, format: `date-time` - **`phone_number`** `string` **Example:** ``` { "uid": "", "email": "", "first_name": "", "last_name": "", "phone_number": "", "phone_number_verified": true, "is_active": true, "melody_auth_auth_id": "", "last_synced_at": "", "created_at": "", "updated_at": "" } ``` ##### Status: 400 Invalid request or missing org\_uid ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 401 Unauthorized ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 404 User not found in organization ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### PATCH /api/users/{email}/role - **Method:** `PATCH` - **Path:** `/api/users/{email}/role` - **Tags:** Users Update a user's local 1stLine organization role Authorization: requires permission `org-users:manage` (allowed roles: admin). #### Request Body ##### Content-Type: application/json - **`role` (required)** `object` **Example:** ``` { "role": "admin" } ``` #### Responses ##### Status: 200 User role updated successfully ###### Content-Type: application/json - **`is_active` (required)** `boolean` - **`joined_at` (required)** `object` - **`last_synced_at` (required)** `object` - **`org_name` (required)** `string` - **`org_slug` (required)** `string` - **`org_uid` (required)** `string` - **`role` (required)** `object` - **`team_sync_enabled` (required)** `boolean` - **`user_uid` (required)** `string` **Example:** ``` { "user_uid": "", "org_uid": "", "org_name": "", "org_slug": "", "role": "admin", "is_active": true, "team_sync_enabled": true, "joined_at": "", "last_synced_at": "" } ``` ##### Status: 400 Invalid request or last-admin protection ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 401 Unauthorized ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 403 Forbidden ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 404 User not found in organization ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/users/me/phone-verification/send - **Method:** `POST` - **Path:** `/api/users/me/phone-verification/send` - **Tags:** Users Send a phone verification SMS for the authenticated user Authorization: requires an authenticated SPA access token and active organization membership. #### Responses ##### Status: 200 Verification sent successfully ###### Content-Type: application/json - **`created_at` (required)** `string`, format: `date-time` - **`email` (required)** `string` - **`first_name` (required)** `object` - **`is_active` (required)** `object` - **`last_name` (required)** `object` - **`melody_auth_auth_id` (required)** `string` - **`phone_number_verified` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`last_synced_at`** `string`, format: `date-time` - **`phone_number`** `string` **Example:** ``` { "uid": "", "email": "", "first_name": "", "last_name": "", "phone_number": "", "phone_number_verified": true, "is_active": true, "melody_auth_auth_id": "", "last_synced_at": "", "created_at": "", "updated_at": "" } ``` ##### Status: 400 Invalid request ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 401 Unauthorized ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/users/me/phone-verification/verify - **Method:** `POST` - **Path:** `/api/users/me/phone-verification/verify` - **Tags:** Users Verify phone connection for the authenticated user Authorization: requires an authenticated SPA access token and active organization membership. #### Request Body ##### Content-Type: application/json - **`code` (required)** `string` **Example:** ``` { "code": "" } ``` #### Responses ##### Status: 200 Verified successfully ###### Content-Type: application/json - **`created_at` (required)** `string`, format: `date-time` - **`email` (required)** `string` - **`first_name` (required)** `object` - **`is_active` (required)** `object` - **`last_name` (required)** `object` - **`melody_auth_auth_id` (required)** `string` - **`phone_number_verified` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`last_synced_at`** `string`, format: `date-time` - **`phone_number`** `string` **Example:** ``` { "uid": "", "email": "", "first_name": "", "last_name": "", "phone_number": "", "phone_number_verified": true, "is_active": true, "melody_auth_auth_id": "", "last_synced_at": "", "created_at": "", "updated_at": "" } ``` ##### Status: 400 Invalid request or code ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 401 Unauthorized ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/api-token - **Method:** `GET` - **Path:** `/api/api-token` - **Tags:** Api-token List API tokens for the current organization Authorization: requires permission `api-tokens:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Successful response ###### Content-Type: application/json - **`count`** `number` - **`data`** `array` **Items:** **All of:** - **`createdAt` (required)** `string`, format: `date-time` - **`expiresAt` (required)** `string`, format: `date-time` - **`name` (required)** `object` - **`uid` (required)** `string` - **`lastUsedAt`** `string`, format: `date-time` * **`role` (required)** `object`, possible values: `"admin", "editor", "reader"` - **`success`** `boolean` **Example:** ``` { "success": true, "data": [ { "uid": "", "name": "", "expiresAt": "", "createdAt": "", "lastUsedAt": "", "role": "admin" } ], "count": 1 } ``` ### POST /api/api-token - **Method:** `POST` - **Path:** `/api/api-token` - **Tags:** Api-token Create a new API token Authorization: requires permission `api-tokens:manage` (allowed roles: admin). #### Request Body ##### Content-Type: application/json - **`expiresAt`** `string`, format: `date-time` - **`name`** `object` - **`role`** `object`, possible values: `"admin", "editor", "reader"`, default: `"editor"` **Example:** ``` { "name": "", "expiresAt": "", "role": "editor" } ``` #### Responses ##### Status: 201 Token created ###### Content-Type: application/json - **`data`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "name": "", "createdAt": "", "lastUsedAt": "", "expiresAt": "", "token": "", "role": "admin" } } ``` ##### Status: 400 Invalid request body ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/api-token/{tokenUid} - **Method:** `GET` - **Path:** `/api/api-token/{tokenUid}` - **Tags:** Api-token Get a single API token by UID Authorization: requires permission `api-tokens:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Successful response ###### Content-Type: application/json - **`data`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "name": "", "expiresAt": "", "createdAt": "", "lastUsedAt": "", "role": "admin" } } ``` ##### Status: 404 Token not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### PUT /api/api-token/{tokenUid} - **Method:** `PUT` - **Path:** `/api/api-token/{tokenUid}` - **Tags:** Api-token Update API token metadata Authorization: requires permission `api-tokens:manage` (allowed roles: admin). #### Request Body ##### Content-Type: application/json - **`name` (required)** `object` - **`role` (required)** `object`, possible values: `"admin", "editor", "reader"` **Example:** ``` { "name": "", "role": "admin" } ``` #### Responses ##### Status: 200 Token updated ###### Content-Type: application/json - **`data`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "name": "", "expiresAt": "", "createdAt": "", "lastUsedAt": "", "role": "admin" } } ``` ##### Status: 400 Invalid request body ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 404 Token not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### DELETE /api/api-token/{tokenUid} - **Method:** `DELETE` - **Path:** `/api/api-token/{tokenUid}` - **Tags:** Api-token Delete an API token by UID Authorization: requires permission `api-tokens:manage` (allowed roles: admin). #### Responses ##### Status: 200 Token deleted ###### Content-Type: application/json - **`message` (required)** `string` - **`success` (required)** `object` **Example:** ``` { "success": true, "message": "" } ``` ##### Status: 404 Token not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/api-token/{tokenUid}/rotate - **Method:** `POST` - **Path:** `/api/api-token/{tokenUid}/rotate` - **Tags:** Api-token Rotate an API token value Authorization: requires permission `api-tokens:manage` (allowed roles: admin). #### Responses ##### Status: 200 Token rotated ###### Content-Type: application/json - **`data`** `object` - **`token` (required)** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "token": "" } } ``` ##### Status: 404 Token not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/alert-actions/{alertInstanceUid}/details - **Method:** `GET` - **Path:** `/api/alert-actions/{alertInstanceUid}/details` - **Tags:** Alert-actions Get alert details for frontend display Authorization: accepts an authenticated SPA user with alert organization access, or an explicit allowed guest action according to the alert schema and action type. #### Responses ##### Status: 200 Alert details ###### Content-Type: application/json - **`alert` (required)** `object` - **`success` (required)** `object` **Example:** ``` { "success": true, "alert": { "uid": "", "status": "", "title": "", "priority": "" } } ``` ##### Status: 404 Alert not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/alert-actions/{alertInstanceUid}/ack - **Method:** `POST` - **Path:** `/api/alert-actions/{alertInstanceUid}/ack` - **Tags:** Alert-actions Acknowledge an alert instance Authorization: accepts an authenticated SPA user with alert organization access, or an explicit allowed guest action according to the alert schema and action type. #### Request Body ##### Content-Type: application/json - **`guest_name`** `string` - **`identity_token`** `string` - **`resolution_payload`** `object` **Example:** ``` { "identity_token": "", "guest_name": "", "resolution_payload": null } ``` #### Responses ##### Status: 200 Alert acknowledged successfully ###### Content-Type: application/json - **`data`** `object` - **`success` (required)** `boolean` - **`acknowledged_at`** `string` - **`acknowledged_by`** `string` - **`alert_instance_uid`** `string` - **`error`** `string` - **`incident_uid`** `string` - **`message`** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "success": true, "message": "", "error": "", "alert_instance_uid": "", "incident_uid": "", "acknowledged_by": "", "acknowledged_at": "" } } ``` ##### Status: 400 Invalid request ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 404 Alert instance not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/alert-actions/{alertInstanceUid}/unack - **Method:** `POST` - **Path:** `/api/alert-actions/{alertInstanceUid}/unack` - **Tags:** Alert-actions Remove acknowledgement from an alert instance Authorization: accepts an authenticated SPA user with alert organization access, or an explicit allowed guest action according to the alert schema and action type. #### Request Body ##### Content-Type: application/json - **`guest_name`** `string` - **`identity_token`** `string` - **`resolution_payload`** `object` **Example:** ``` { "identity_token": "", "guest_name": "", "resolution_payload": null } ``` #### Responses ##### Status: 200 Alert un-acknowledged successfully ###### Content-Type: application/json - **`data`** `object` - **`success` (required)** `boolean` - **`acknowledged_at`** `string` - **`acknowledged_by`** `string` - **`alert_instance_uid`** `string` - **`error`** `string` - **`incident_uid`** `string` - **`message`** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "success": true, "message": "", "error": "", "alert_instance_uid": "", "incident_uid": "", "acknowledged_by": "", "acknowledged_at": "" } } ``` ##### Status: 400 Invalid request ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 404 Alert instance not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/alert-actions/{alertInstanceUid}/resolve - **Method:** `POST` - **Path:** `/api/alert-actions/{alertInstanceUid}/resolve` - **Tags:** Alert-actions Resolve an alert instance Authorization: accepts an authenticated SPA user with alert organization access, or an explicit allowed guest action according to the alert schema and action type. #### Request Body ##### Content-Type: application/json - **`guest_name`** `string` - **`identity_token`** `string` - **`resolution_payload`** `object` **Example:** ``` { "identity_token": "", "guest_name": "", "resolution_payload": null } ``` #### Responses ##### Status: 200 Alert resolved successfully ###### Content-Type: application/json - **`data`** `object` - **`success` (required)** `boolean` - **`acknowledged_at`** `string` - **`acknowledged_by`** `string` - **`alert_instance_uid`** `string` - **`error`** `string` - **`incident_uid`** `string` - **`message`** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "success": true, "message": "", "error": "", "alert_instance_uid": "", "incident_uid": "", "acknowledged_by": "", "acknowledged_at": "" } } ``` ##### Status: 400 Invalid request ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 404 Alert instance not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/alert-actions/{alertInstanceUid}/escalate-further - **Method:** `POST` - **Path:** `/api/alert-actions/{alertInstanceUid}/escalate-further` - **Tags:** Alert-actions Escalate the acting responder further in the escalation flow Authorization: accepts an authenticated SPA user with alert organization access, or an explicit allowed guest action according to the alert schema and action type. #### Request Body ##### Content-Type: application/json - **`guest_name`** `string` - **`identity_token`** `string` - **`resolution_payload`** `object` **Example:** ``` { "identity_token": "", "guest_name": "", "resolution_payload": null } ``` #### Responses ##### Status: 200 Escalate further queued successfully ###### Content-Type: application/json - **`data`** `object` - **`success` (required)** `boolean` - **`acknowledged_at`** `string` - **`acknowledged_by`** `string` - **`alert_instance_uid`** `string` - **`error`** `string` - **`incident_uid`** `string` - **`message`** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "success": true, "message": "", "error": "", "alert_instance_uid": "", "incident_uid": "", "acknowledged_by": "", "acknowledged_at": "" } } ``` ##### Status: 400 Invalid request ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 404 Alert instance not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/alert-actions/{alertInstanceUid}/escalate-to - **Method:** `POST` - **Path:** `/api/alert-actions/{alertInstanceUid}/escalate-to` - **Tags:** Alert-actions Escalate directly to a selected responder from available responders Authorization: accepts an authenticated SPA user with alert organization access, or an explicit allowed guest action according to the alert schema and action type. #### Request Body ##### Content-Type: application/json - **`target_user_email` (required)** `string`, format: `email` - **`guest_name`** `string` - **`identity_token`** `string` - **`resolution_payload`** `object` **Example:** ``` { "identity_token": "", "guest_name": "", "resolution_payload": null, "target_user_email": "" } ``` #### Responses ##### Status: 200 Escalate to queued successfully ###### Content-Type: application/json - **`data`** `object` - **`success` (required)** `boolean` - **`acknowledged_at`** `string` - **`acknowledged_by`** `string` - **`alert_instance_uid`** `string` - **`error`** `string` - **`incident_uid`** `string` - **`message`** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "success": true, "message": "", "error": "", "alert_instance_uid": "", "incident_uid": "", "acknowledged_by": "", "acknowledged_at": "" } } ``` ##### Status: 400 Invalid request ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 404 Alert instance not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/alert-actions/{alertInstanceUid}/escalate-to-ai - **Method:** `POST` - **Path:** `/api/alert-actions/{alertInstanceUid}/escalate-to-ai` - **Tags:** Alert-actions Escalate an alert instance to the configured AI assistant controller Authorization: accepts an authenticated SPA user with alert organization access, or an explicit allowed guest action according to the alert schema and action type. #### Request Body ##### Content-Type: application/json - **`guest_name`** `string` - **`identity_token`** `string` - **`resolution_payload`** `object` **Example:** ``` { "identity_token": "", "guest_name": "", "resolution_payload": null } ``` #### Responses ##### Status: 200 AI escalation assignment created successfully ###### Content-Type: application/json - **`data`** `object` - **`assignment_uid` (required)** `string` - **`status` (required)** `string` - **`actor`** `object` - **`email`** `string` - **`name`** `string` - **`sub`** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "assignment_uid": "", "status": "", "actor": { "email": "", "sub": "", "name": "" } } } ``` ##### Status: 400 Invalid request ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 401 Authentication required ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 403 AI escalation is not enabled for this organization plan ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 404 Alert instance not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/alert-actions/{alertInstanceUid}/join-incident - **Method:** `POST` - **Path:** `/api/alert-actions/{alertInstanceUid}/join-incident` - **Tags:** Alert-actions Join the incident linked to an incident alert instance Authorization: accepts an authenticated SPA user with alert organization access, or an explicit allowed guest action according to the alert schema and action type. #### Request Body ##### Content-Type: application/json - **`guest_name`** `string` - **`identity_token`** `string` - **`resolution_payload`** `object` **Example:** ``` { "identity_token": "", "guest_name": "", "resolution_payload": null } ``` #### Responses ##### Status: 200 Incident joined successfully ###### Content-Type: application/json - **`data`** `object` - **`success` (required)** `boolean` - **`acknowledged_at`** `string` - **`acknowledged_by`** `string` - **`alert_instance_uid`** `string` - **`error`** `string` - **`incident_uid`** `string` - **`message`** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "success": true, "message": "", "error": "", "alert_instance_uid": "", "incident_uid": "", "acknowledged_by": "", "acknowledged_at": "" } } ``` ##### Status: 400 Invalid request ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 404 Alert instance not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/alert-actions/{alertInstanceUid}/start-incident - **Method:** `POST` - **Path:** `/api/alert-actions/{alertInstanceUid}/start-incident` - **Tags:** Alert-actions Start incident flow for an alert instance Authorization: accepts an authenticated SPA user with alert organization access, or an explicit allowed guest action according to the alert schema and action type. #### Request Body ##### Content-Type: application/json - **`guest_name`** `string` - **`identity_token`** `string` - **`resolution_payload`** `object` **Example:** ``` { "identity_token": "", "guest_name": "", "resolution_payload": null } ``` #### Responses ##### Status: 200 Incident created successfully ###### Content-Type: application/json - **`data`** `object` - **`success` (required)** `boolean` - **`acknowledged_at`** `string` - **`acknowledged_by`** `string` - **`alert_instance_uid`** `string` - **`error`** `string` - **`incident_uid`** `string` - **`message`** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "success": true, "message": "", "error": "", "alert_instance_uid": "", "incident_uid": "", "acknowledged_by": "", "acknowledged_at": "" } } ``` ##### Status: 400 Invalid request ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 404 Alert instance not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/alert-actions/identity/register - **Method:** `POST` - **Path:** `/api/alert-actions/identity/register` - **Tags:** Alert-actions Register a device identity token for future acknowledgements Authorization: public identity-token endpoint used by the browser action flow. #### Request Body ##### Content-Type: application/json - **`device_fingerprint`** `string` - **`email`** `string` - **`guest_name`** `string` - **`org_uid`** `string` **Example:** ``` { "email": "", "guest_name": "", "device_fingerprint": "", "org_uid": "" } ``` #### Responses ##### Status: 200 Identity registered successfully ###### Content-Type: application/json - **`data`** `object` - **`token` (required)** `string` - **`email`** `string` - **`expires_at`** `string` - **`guest_name`** `string` - **`org_uid`** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "token": "", "email": "", "guest_name": "", "org_uid": "", "expires_at": "" } } ``` ##### Status: 400 Invalid request ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/alert-actions/identity/check - **Method:** `GET` - **Path:** `/api/alert-actions/identity/check` - **Tags:** Alert-actions Validate a device identity token Authorization: public identity-token endpoint used by the browser action flow. #### Responses ##### Status: 200 Token validation result ###### Content-Type: application/json - **`data`** `object` - **`token` (required)** `string` - **`email`** `string` - **`expires_at`** `string` - **`guest_name`** `string` - **`org_uid`** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "token": "", "email": "", "guest_name": "", "org_uid": "", "expires_at": "" } } ``` ### POST /api/communication/webhooks/{pluginId}/{integrationUid} - **Method:** `POST` - **Path:** `/api/communication/webhooks/{pluginId}/{integrationUid}` - **Tags:** Communication Receive webhook events from communication providers (e.g. Telnyx call.answered) Authorization: public provider webhook endpoint identified and bounded by the integration UID. #### Responses ##### Status: 200 Webhook acknowledged ##### Status: 400 Unknown plugin or plugin does not support webhooks ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/communication/rules - **Method:** `POST` - **Path:** `/api/communication/rules` - **Tags:** Communication Create a new communication rule Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Request Body ##### Content-Type: application/json - **`name` (required)** `string` - **`is_default`** `boolean` - **`routines`** `array` **Items:** **All of:** - **`action` (required)** `string` - **`integration_uid` (required)** `string` * **`call_actions`** `object` * **`conditions`** `object` * **`delay_seconds`** `object` * **`enabled`** `boolean` * **`respect_conditions`** `object` **Example:** ``` { "name": "", "is_default": true, "routines": [ { "integration_uid": "", "action": "", "enabled": true, "call_actions": [ "repeat" ], "delay_seconds": -2147483648, "respect_conditions": { "options": "all", "not": true }, "conditions": [ { "schema_uid": "", "field": "", "operator": "", "value": "", "is_not": true, "is_priority": true } ] } ] } ``` #### Responses ##### Status: 200 Communication rule created successfully ###### Content-Type: application/json - **`data`** `object` - **`created_at` (required)** `string`, format: `date-time` - **`is_default` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "name": "", "is_default": true, "created_at": "", "updated_at": "" } } ``` ### GET /api/communication/rules - **Method:** `GET` - **Path:** `/api/communication/rules` - **Tags:** Communication List communication rules for the organization Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Communication rules retrieved successfully ###### Content-Type: application/json - **`count`** `number` - **`data`** `array` **Items:** - **`created_at` (required)** `string`, format: `date-time` - **`is_default` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`success`** `boolean` **Example:** ``` { "success": true, "data": [ { "uid": "", "org_uid": "", "name": "", "is_default": true, "created_at": "", "updated_at": "" } ], "count": 1 } ``` ### GET /api/communication/rules/{ruleUid} - **Method:** `GET` - **Path:** `/api/communication/rules/{ruleUid}` - **Tags:** Communication Get communication rule by Uid Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Communication rule retrieved successfully ###### Content-Type: application/json - **`data`** `object` - **`created_at` (required)** `string`, format: `date-time` - **`is_default` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "name": "", "is_default": true, "created_at": "", "updated_at": "" } } ``` ##### Status: 404 Rule not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### PUT /api/communication/rules/{ruleUid} - **Method:** `PUT` - **Path:** `/api/communication/rules/{ruleUid}` - **Tags:** Communication Update communication rule Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Request Body ##### Content-Type: application/json - **`is_default` (required)** `boolean` - **`name` (required)** `string` - **`routines` (required)** `array` **Items:** **All of:** - **`action` (required)** `string` - **`integration_uid` (required)** `string` * **`call_actions`** `object` * **`conditions`** `object` * **`delay_seconds`** `object` * **`enabled`** `boolean` * **`respect_conditions`** `object` **Example:** ``` { "name": "", "is_default": true, "routines": [ { "integration_uid": "", "action": "", "enabled": true, "call_actions": [ "repeat" ], "delay_seconds": -2147483648, "respect_conditions": { "options": "all", "not": true }, "conditions": [ { "schema_uid": "", "field": "", "operator": "", "value": "", "is_not": true, "is_priority": true } ] } ] } ``` #### Responses ##### Status: 200 Communication rule updated successfully ###### Content-Type: application/json - **`data`** `object` - **`created_at` (required)** `string`, format: `date-time` - **`is_default` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "name": "", "is_default": true, "created_at": "", "updated_at": "" } } ``` ##### Status: 404 Rule not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### DELETE /api/communication/rules/{ruleUid} - **Method:** `DELETE` - **Path:** `/api/communication/rules/{ruleUid}` - **Tags:** Communication Delete communication rule Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Responses ##### Status: 200 Communication rule deleted successfully ###### Content-Type: application/json - **`message` (required)** `string` - **`success` (required)** `object` **Example:** ``` { "success": true, "message": "" } ``` ##### Status: 404 Rule not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/communication - **Method:** `POST` - **Path:** `/api/communication` - **Tags:** Communication Create a new communication integration Authorization: requires permission `communication-integrations:manage` (allowed roles: admin). #### Request Body ##### Content-Type: application/json **All of:** - **`name` (required)** `string` - **`plugin_id` (required)** `string` * **`config` (required)** `object` * **`is_default`** `boolean` **Example:** ``` { "name": "", "plugin_id": "", "config": { "propertyName*": "anything" }, "is_default": true } ``` #### Responses ##### Status: 200 Communication integration created successfully ###### Content-Type: application/json - **`data`** `object` - **`config` (required)** `object` - **`created_at` (required)** `string`, format: `date-time` - **`is_default` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `object` - **`plugin_id` (required)** `string` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "name": "", "plugin_id": "", "config": "", "is_default": true, "created_at": "", "updated_at": "" } } ``` ### GET /api/communication - **Method:** `GET` - **Path:** `/api/communication` - **Tags:** Communication List communication integrations for the organization Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Communication integrations retrieved successfully ###### Content-Type: application/json - **`count`** `number` - **`data`** `array` **Items:** - **`config` (required)** `object` - **`created_at` (required)** `string`, format: `date-time` - **`is_default` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `object` - **`plugin_id` (required)** `string` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`success`** `boolean` **Example:** ``` { "success": true, "data": [ { "uid": "", "org_uid": "", "name": "", "plugin_id": "", "config": "", "is_default": true, "created_at": "", "updated_at": "" } ], "count": 1 } ``` ### GET /api/communication/default - **Method:** `GET` - **Path:** `/api/communication/default` - **Tags:** Communication Get default communication integration details Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Communication integration retrieved successfully ###### Content-Type: application/json - **`data`** `object` - **`is_default` (required)** `object` - **`name` (required)** `string` - **`plugin_id` (required)** `string` - **`uid` (required)** `string` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "name": "", "plugin_id": "", "is_default": true } } ``` ##### Status: 403 Default integration is not available for this organization plan ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 404 Default integration is not set ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/communication/{integrationUid} - **Method:** `GET` - **Path:** `/api/communication/{integrationUid}` - **Tags:** Communication Get communication integration by Uid Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Communication integration retrieved successfully ###### Content-Type: application/json - **`data`** `object` - **`config` (required)** `object` - **`created_at` (required)** `string`, format: `date-time` - **`is_default` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `object` - **`plugin_id` (required)** `string` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "name": "", "plugin_id": "", "config": "", "is_default": true, "created_at": "", "updated_at": "" } } ``` ##### Status: 404 Integration not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### PUT /api/communication/{integrationUid} - **Method:** `PUT` - **Path:** `/api/communication/{integrationUid}` - **Tags:** Communication Update communication integration Authorization: requires permission `communication-integrations:manage` (allowed roles: admin). #### Request Body ##### Content-Type: application/json **All of:** - **`is_default` (required)** `object` - **`name` (required)** `string` * **`config` (required)** `object` **Example:** ``` { "name": "", "is_default": true, "config": { "propertyName*": "anything" } } ``` #### Responses ##### Status: 200 Communication integration updated successfully ###### Content-Type: application/json - **`data`** `object` - **`config` (required)** `object` - **`created_at` (required)** `string`, format: `date-time` - **`is_default` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `object` - **`plugin_id` (required)** `string` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "name": "", "plugin_id": "", "config": "", "is_default": true, "created_at": "", "updated_at": "" } } ``` ##### Status: 404 Integration not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### DELETE /api/communication/{integrationUid} - **Method:** `DELETE` - **Path:** `/api/communication/{integrationUid}` - **Tags:** Communication Delete communication integration Authorization: requires permission `communication-integrations:manage` (allowed roles: admin). #### Responses ##### Status: 200 Communication integration deleted successfully ###### Content-Type: application/json - **`message` (required)** `string` - **`success` (required)** `object` **Example:** ``` { "success": true, "message": "" } ``` ##### Status: 404 Integration not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/incidents/from-alert/{alertInstanceUid} - **Method:** `POST` - **Path:** `/api/incidents/from-alert/{alertInstanceUid}` - **Tags:** Incidents Create a phase-1 incident from an alert instance and persist responder snapshot and creation event. Authorization: requires permission `operational:action` (allowed roles: reader, editor, admin). #### Request Body ##### Content-Type: application/json - **`description`** `object` - **`incident_alert_schema_token`** `string` - **`labels`** `object` - **`priority`** `string` - **`status`** `object` - **`title`** `string` **Example:** ``` { "title": "", "description": "", "status": "open", "priority": "", "labels": { "propertyName*": "" }, "incident_alert_schema_token": "" } ``` #### Responses ##### Status: 200 Incident created successfully ###### Content-Type: application/json - **`data`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "alert_instance_uid": "", "title": "", "description": "", "status": "open", "priority": "", "detected_at": "", "started_at": "", "acknowledged_at": "", "mitigated_at": "", "resolved_at": "", "closed_at": "", "status_changed_at": "", "priority_changed_at": "", "created_by_email": "", "created_by_name": "", "created_at": "", "updated_at": "", "metrics": { "mtta_seconds": 1, "mttd_seconds": 1, "mttr_seconds": 1, "mttr_is_overridden": true, "mttr_override_note": "", "mttr_override_updated_at": "", "mttr_source": "computed", "computed_mttr_seconds": 1, "mttm_seconds": 1 }, "responders": [ { "uid": "", "incident_uid": "", "responder_email": "", "responder_uid": "", "responder_first_name": "", "responder_last_name": "", "responder_phone_number": "", "created_at": "", "member_types": [ "" ], "snapshot": null } ], "events": [ { "uid": "", "incident_uid": "", "event_type": "", "actor_email": "", "actor_name": "", "from_status": "", "to_status": "", "created_at": "", "payload": null } ], "postmortem": { "uid": "", "incident_uid": "", "org_uid": "", "created_by_email": "", "updated_by_email": "", "created_at": "", "updated_at": "", "markdown": "" } } } ``` ##### Status: 404 Alert instance or organization not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/incidents - **Method:** `POST` - **Path:** `/api/incidents` - **Tags:** Incidents Create an incident and its linked incident alert instance. Authorization: requires permission `operational:action` (allowed roles: reader, editor, admin). #### Request Body ##### Content-Type: application/json - **`description`** `object` - **`incident_alert_schema_token`** `string` - **`incident_alert_schema_uid`** `string` - **`labels`** `object` - **`priority`** `string` - **`status`** `object` - **`title`** `string` **Example:** ``` { "title": "", "description": "", "status": "open", "priority": "", "labels": { "propertyName*": "" }, "incident_alert_schema_token": "", "incident_alert_schema_uid": "" } ``` #### Responses ##### Status: 200 Incident created successfully ###### Content-Type: application/json - **`data`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "alert_instance_uid": "", "title": "", "description": "", "status": "open", "priority": "", "detected_at": "", "started_at": "", "acknowledged_at": "", "mitigated_at": "", "resolved_at": "", "closed_at": "", "status_changed_at": "", "priority_changed_at": "", "created_by_email": "", "created_by_name": "", "created_at": "", "updated_at": "", "metrics": { "mtta_seconds": 1, "mttd_seconds": 1, "mttr_seconds": 1, "mttr_is_overridden": true, "mttr_override_note": "", "mttr_override_updated_at": "", "mttr_source": "computed", "computed_mttr_seconds": 1, "mttm_seconds": 1 }, "responders": [ { "uid": "", "incident_uid": "", "responder_email": "", "responder_uid": "", "responder_first_name": "", "responder_last_name": "", "responder_phone_number": "", "created_at": "", "member_types": [ "" ], "snapshot": null } ], "events": [ { "uid": "", "incident_uid": "", "event_type": "", "actor_email": "", "actor_name": "", "from_status": "", "to_status": "", "created_at": "", "payload": null } ], "postmortem": { "uid": "", "incident_uid": "", "org_uid": "", "created_by_email": "", "updated_by_email": "", "created_at": "", "updated_at": "", "markdown": "" } } } ``` ##### Status: 400 Invalid incident payload ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 404 Organization not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/incidents - **Method:** `GET` - **Path:** `/api/incidents` - **Tags:** Incidents List incidents for the organization. Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Incident list retrieved successfully ###### Content-Type: application/json - **`count`** `number` - **`data`** `array` **Items:** **All of:** - **`alert_instance_uid` (required)** `string` - **`created_at` (required)** `string`, format: `date-time` - **`created_by_email` (required)** `object` - **`created_by_name` (required)** `object` - **`description` (required)** `object` - **`org_uid` (required)** `string` - **`priority` (required)** `string` - **`status` (required)** `object` - **`title` (required)** `string` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`acknowledged_at`** `object` - **`closed_at`** `object` - **`detected_at`** `object` - **`mitigated_at`** `object` - **`priority_changed_at`** `object` - **`resolved_at`** `object` - **`started_at`** `object` - **`status_changed_at`** `object` * **`metrics` (required)** `object` - **`mtta_seconds` (required)** `object` - **`mttd_seconds` (required)** `object` - **`mttr_is_overridden` (required)** `boolean` - **`mttr_override_note` (required)** `object` - **`mttr_override_updated_at` (required)** `object` - **`mttr_seconds` (required)** `object` - **`mttr_source` (required)** `object` - **`computed_mttr_seconds`** `object` - **`mttm_seconds`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": [ { "uid": "", "org_uid": "", "alert_instance_uid": "", "title": "", "description": "", "status": "open", "priority": "", "detected_at": "", "started_at": "", "acknowledged_at": "", "mitigated_at": "", "resolved_at": "", "closed_at": "", "status_changed_at": "", "priority_changed_at": "", "created_by_email": "", "created_by_name": "", "created_at": "", "updated_at": "", "metrics": { "mtta_seconds": 1, "mttd_seconds": 1, "mttr_seconds": 1, "mttr_is_overridden": true, "mttr_override_note": "", "mttr_override_updated_at": "", "mttr_source": "computed", "computed_mttr_seconds": 1, "mttm_seconds": 1 } } ], "count": 1 } ``` ##### Status: 404 Organization not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/incidents/actions - **Method:** `GET` - **Path:** `/api/incidents/actions` - **Tags:** Incidents List preconfigured incident action rules for the organization. Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Incident action rules retrieved successfully ###### Content-Type: application/json - **`count`** `number` - **`data`** `array` **Items:** **All of:** - **`action_type` (required)** `object` - **`created_at` (required)** `string`, format: `date-time` - **`enabled` (required)** `boolean` - **`message_template` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`schema_uid` (required)** `object` - **`target_config` (required)** `object` - **`trigger_event_type` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` * **`conditions` (required)** `array` **Items:** - **`field` (required)** `string` - **`operator` (required)** `object` - **`value` (required)** `string` - **`is_not`** `boolean` - **`is_priority`** `boolean` - **`schema_uid`** `object` * **`respect_conditions` (required)** `object` - **`not` (required)** `boolean` - **`options` (required)** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": [ { "uid": "", "org_uid": "", "schema_uid": "", "name": "", "enabled": true, "trigger_event_type": "created", "action_type": "webhook", "target_config": { "propertyName*": "anything" }, "message_template": "", "created_at": "", "updated_at": "", "respect_conditions": { "options": "all", "not": true }, "conditions": [ { "schema_uid": "", "field": "", "operator": "equals", "value": "", "is_not": true, "is_priority": true } ] } ], "count": 1 } ``` ##### Status: 404 Organization not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/incidents/actions - **Method:** `POST` - **Path:** `/api/incidents/actions` - **Tags:** Incidents Create a preconfigured incident action rule for future incident events. Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Request Body ##### Content-Type: application/json **Any of:** **All of:** - **`conditions`** `array` **Items:** - **`field` (required)** `string` - **`operator` (required)** `object` - **`value` (required)** `string` - **`is_not`** `boolean` - **`is_priority`** `boolean` - **`schema_uid`** `object` - **`respect_conditions`** `object` - **`not` (required)** `boolean` - **`options` (required)** `object` - **`schema_uid`** `object` * **`action_type` (required)** `object` * **`name` (required)** `string` * **`target_config` (required)** `object` - **`url` (required)** `string` - **`headers`** `object` - **`method`** `object` * **`trigger_event_type` (required)** `object` * **`enabled`** `boolean` * **`message_template`** `object` **All of:** - **`conditions`** `array` **Items:** - **`field` (required)** `string` - **`operator` (required)** `object` - **`value` (required)** `string` - **`is_not`** `boolean` - **`is_priority`** `boolean` - **`schema_uid`** `object` - **`respect_conditions`** `object` - **`not` (required)** `boolean` - **`options` (required)** `object` - **`schema_uid`** `object` * **`action_type` (required)** `object` * **`message_template` (required)** `object` * **`name` (required)** `string` * **`trigger_event_type` (required)** `object` * **`enabled`** `boolean` * **`target_config`** `object` **Example:** ``` { "schema_uid": "", "respect_conditions": { "options": "all", "not": true }, "conditions": [ { "schema_uid": "", "field": "", "operator": "equals", "value": "", "is_not": true, "is_priority": true } ], "name": "", "enabled": true, "trigger_event_type": "created", "action_type": "webhook", "target_config": { "url": "", "method": "POST", "headers": { "propertyName*": "" } }, "message_template": "" } ``` #### Responses ##### Status: 200 Incident action rule created successfully ###### Content-Type: application/json - **`data`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "schema_uid": "", "name": "", "enabled": true, "trigger_event_type": "created", "action_type": "webhook", "target_config": { "propertyName*": "anything" }, "message_template": "", "created_at": "", "updated_at": "", "respect_conditions": { "options": "all", "not": true }, "conditions": [ { "schema_uid": "", "field": "", "operator": "equals", "value": "", "is_not": true, "is_priority": true } ] } } ``` ##### Status: 404 Organization not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### PUT /api/incidents/actions/{actionUid} - **Method:** `PUT` - **Path:** `/api/incidents/actions/{actionUid}` - **Tags:** Incidents Update a preconfigured incident action rule. Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Request Body ##### Content-Type: application/json **Any of:** **All of:** - **`conditions`** `array` **Items:** - **`field` (required)** `string` - **`operator` (required)** `object` - **`value` (required)** `string` - **`is_not`** `boolean` - **`is_priority`** `boolean` - **`schema_uid`** `object` - **`respect_conditions`** `object` - **`not` (required)** `boolean` - **`options` (required)** `object` - **`schema_uid`** `object` * **`action_type` (required)** `object` * **`conditions` (required)** `array` **Items:** - **`field` (required)** `string` - **`operator` (required)** `object` - **`value` (required)** `string` - **`is_not`** `boolean` - **`is_priority`** `boolean` - **`schema_uid`** `object` * **`enabled` (required)** `boolean` * **`message_template` (required)** `object` * **`name` (required)** `string` * **`respect_conditions` (required)** `object` - **`not` (required)** `boolean` - **`options` (required)** `object` * **`target_config` (required)** `object` * **`trigger_event_type` (required)** `object` **All of:** - **`conditions`** `array` **Items:** - **`field` (required)** `string` - **`operator` (required)** `object` - **`value` (required)** `string` - **`is_not`** `boolean` - **`is_priority`** `boolean` - **`schema_uid`** `object` - **`respect_conditions`** `object` - **`not` (required)** `boolean` - **`options` (required)** `object` - **`schema_uid`** `object` * **`action_type` (required)** `object` * **`conditions` (required)** `array` **Items:** - **`field` (required)** `string` - **`operator` (required)** `object` - **`value` (required)** `string` - **`is_not`** `boolean` - **`is_priority`** `boolean` - **`schema_uid`** `object` * **`enabled` (required)** `boolean` * **`message_template` (required)** `object` * **`name` (required)** `string` * **`respect_conditions` (required)** `object` - **`not` (required)** `boolean` - **`options` (required)** `object` * **`target_config` (required)** `object` * **`trigger_event_type` (required)** `object` **Example:** ``` { "schema_uid": "", "respect_conditions": { "options": "all", "not": true }, "conditions": [ { "schema_uid": "", "field": "", "operator": "equals", "value": "", "is_not": true, "is_priority": true } ], "name": "", "enabled": true, "trigger_event_type": "created", "action_type": "webhook", "target_config": { "url": "", "method": "POST", "headers": { "propertyName*": "" } }, "message_template": "" } ``` #### Responses ##### Status: 200 Incident action rule updated successfully ###### Content-Type: application/json - **`data`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "schema_uid": "", "name": "", "enabled": true, "trigger_event_type": "created", "action_type": "webhook", "target_config": { "propertyName*": "anything" }, "message_template": "", "created_at": "", "updated_at": "", "respect_conditions": { "options": "all", "not": true }, "conditions": [ { "schema_uid": "", "field": "", "operator": "equals", "value": "", "is_not": true, "is_priority": true } ] } } ``` ##### Status: 404 Incident action rule not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### DELETE /api/incidents/actions/{actionUid} - **Method:** `DELETE` - **Path:** `/api/incidents/actions/{actionUid}` - **Tags:** Incidents Delete a preconfigured incident action rule. Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Responses ##### Status: 200 Incident action rule deleted successfully ##### Status: 404 Incident action rule not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/incidents/{incidentUid}/action-executions - **Method:** `GET` - **Path:** `/api/incidents/{incidentUid}/action-executions` - **Tags:** Incidents List execution history for saved event-based incident actions. Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Incident action executions retrieved successfully ###### Content-Type: application/json - **`count`** `number` - **`data`** `array` **Items:** **All of:** - **`action_uid` (required)** `string` - **`created_at` (required)** `string`, format: `date-time` - **`error_message` (required)** `object` - **`incident_uid` (required)** `string` - **`result_message` (required)** `object` - **`status` (required)** `object` - **`trigger_event_type` (required)** `object` - **`triggering_event_uid` (required)** `string` - **`uid` (required)** `string` * **`request_payload` (required)** `object` * **`response_payload` (required)** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": [ { "uid": "", "incident_uid": "", "action_uid": "", "triggering_event_uid": "", "trigger_event_type": "created", "status": "success", "result_message": "", "error_message": "", "created_at": "", "request_payload": null, "response_payload": null } ], "count": 1 } ``` ##### Status: 404 Incident not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/incidents/{incidentUid}/postmortem - **Method:** `GET` - **Path:** `/api/incidents/{incidentUid}/postmortem` - **Tags:** Incidents Get the incident postmortem document when one has been created. Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Incident postmortem retrieved successfully ###### Content-Type: application/json - **`data`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "incident_uid": "", "org_uid": "", "created_by_email": "", "updated_by_email": "", "created_at": "", "updated_at": "", "markdown": "" } } ``` ##### Status: 404 Incident not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### PUT /api/incidents/{incidentUid}/postmortem - **Method:** `PUT` - **Path:** `/api/incidents/{incidentUid}/postmortem` - **Tags:** Incidents Create or update the one-to-one incident postmortem document. Authorization: requires permission `operational:action` (allowed roles: reader, editor, admin). #### Request Body ##### Content-Type: application/json - **`markdown` (required)** `string` **Example:** ``` { "markdown": "" } ``` #### Responses ##### Status: 200 Incident postmortem saved successfully ###### Content-Type: application/json - **`data`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "incident_uid": "", "org_uid": "", "created_by_email": "", "updated_by_email": "", "created_at": "", "updated_at": "", "markdown": "" } } ``` ##### Status: 404 Incident not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### GET /api/incidents/{incidentUid} - **Method:** `GET` - **Path:** `/api/incidents/{incidentUid}` - **Tags:** Incidents Get incident details with responders and timeline events. Authorization: requires permission `config:read` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Incident details retrieved successfully ###### Content-Type: application/json - **`data`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "alert_instance_uid": "", "title": "", "description": "", "status": "open", "priority": "", "detected_at": "", "started_at": "", "acknowledged_at": "", "mitigated_at": "", "resolved_at": "", "closed_at": "", "status_changed_at": "", "priority_changed_at": "", "created_by_email": "", "created_by_name": "", "created_at": "", "updated_at": "", "metrics": { "mtta_seconds": 1, "mttd_seconds": 1, "mttr_seconds": 1, "mttr_is_overridden": true, "mttr_override_note": "", "mttr_override_updated_at": "", "mttr_source": "computed", "computed_mttr_seconds": 1, "mttm_seconds": 1 }, "responders": [ { "uid": "", "incident_uid": "", "responder_email": "", "responder_uid": "", "responder_first_name": "", "responder_last_name": "", "responder_phone_number": "", "created_at": "", "member_types": [ "" ], "snapshot": null } ], "events": [ { "uid": "", "incident_uid": "", "event_type": "", "actor_email": "", "actor_name": "", "from_status": "", "to_status": "", "created_at": "", "payload": null } ], "postmortem": { "uid": "", "incident_uid": "", "org_uid": "", "created_by_email": "", "updated_by_email": "", "created_at": "", "updated_at": "", "markdown": "" } } } ``` ##### Status: 404 Incident not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### DELETE /api/incidents/{incidentUid} - **Method:** `DELETE` - **Path:** `/api/incidents/{incidentUid}` - **Tags:** Incidents Delete an incident and its incident-local records. Authorization: requires permission `config:write` (allowed roles: editor, admin). #### Responses ##### Status: 200 Incident deleted successfully ##### Status: 404 Incident not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### PUT /api/incidents/{incidentUid} - **Method:** `PUT` - **Path:** `/api/incidents/{incidentUid}` - **Tags:** Incidents Update basic incident status and core editable fields. Authorization: requires permission `operational:action` (allowed roles: reader, editor, admin). #### Request Body ##### Content-Type: application/json - **`acknowledged_at` (required)** `object` - **`closed_at` (required)** `object` - **`description` (required)** `object` - **`detected_at` (required)** `object` - **`mitigated_at` (required)** `object` - **`mttr_override_note` (required)** `object` - **`priority` (required)** `string` - **`resolved_at` (required)** `object` - **`started_at` (required)** `object` - **`status` (required)** `object` - **`title` (required)** `string` **Example:** ``` { "title": "", "description": "", "status": "open", "priority": "", "detected_at": "", "started_at": "", "acknowledged_at": "", "mitigated_at": "", "resolved_at": "", "closed_at": "", "mttr_override_note": "" } ``` #### Responses ##### Status: 200 Incident updated successfully ###### Content-Type: application/json - **`data`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "alert_instance_uid": "", "title": "", "description": "", "status": "open", "priority": "", "detected_at": "", "started_at": "", "acknowledged_at": "", "mitigated_at": "", "resolved_at": "", "closed_at": "", "status_changed_at": "", "priority_changed_at": "", "created_by_email": "", "created_by_name": "", "created_at": "", "updated_at": "", "metrics": { "mtta_seconds": 1, "mttd_seconds": 1, "mttr_seconds": 1, "mttr_is_overridden": true, "mttr_override_note": "", "mttr_override_updated_at": "", "mttr_source": "computed", "computed_mttr_seconds": 1, "mttm_seconds": 1 }, "responders": [ { "uid": "", "incident_uid": "", "responder_email": "", "responder_uid": "", "responder_first_name": "", "responder_last_name": "", "responder_phone_number": "", "created_at": "", "member_types": [ "" ], "snapshot": null } ], "events": [ { "uid": "", "incident_uid": "", "event_type": "", "actor_email": "", "actor_name": "", "from_status": "", "to_status": "", "created_at": "", "payload": null } ], "postmortem": { "uid": "", "incident_uid": "", "org_uid": "", "created_by_email": "", "updated_by_email": "", "created_at": "", "updated_at": "", "markdown": "" } } } ``` ##### Status: 404 Incident not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### POST /api/incidents/{incidentUid}/join - **Method:** `POST` - **Path:** `/api/incidents/{incidentUid}/join` - **Tags:** Incidents Join an incident and append a history event. Authorization: requires permission `operational:action` (allowed roles: reader, editor, admin). #### Responses ##### Status: 200 Incident joined successfully ###### Content-Type: application/json - **`data`** `object` - **`success`** `boolean` **Example:** ``` { "success": true, "data": { "uid": "", "org_uid": "", "alert_instance_uid": "", "title": "", "description": "", "status": "open", "priority": "", "detected_at": "", "started_at": "", "acknowledged_at": "", "mitigated_at": "", "resolved_at": "", "closed_at": "", "status_changed_at": "", "priority_changed_at": "", "created_by_email": "", "created_by_name": "", "created_at": "", "updated_at": "", "metrics": { "mtta_seconds": 1, "mttd_seconds": 1, "mttr_seconds": 1, "mttr_is_overridden": true, "mttr_override_note": "", "mttr_override_updated_at": "", "mttr_source": "computed", "computed_mttr_seconds": 1, "mttm_seconds": 1 }, "responders": [ { "uid": "", "incident_uid": "", "responder_email": "", "responder_uid": "", "responder_first_name": "", "responder_last_name": "", "responder_phone_number": "", "created_at": "", "member_types": [ "" ], "snapshot": null } ], "events": [ { "uid": "", "incident_uid": "", "event_type": "", "actor_email": "", "actor_name": "", "from_status": "", "to_status": "", "created_at": "", "payload": null } ], "postmortem": { "uid": "", "incident_uid": "", "org_uid": "", "created_by_email": "", "updated_by_email": "", "created_at": "", "updated_at": "", "markdown": "" } } } ``` ##### Status: 400 Invalid request ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 404 Incident not found ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ##### Status: 500 Internal server error ###### Content-Type: application/json - **`error` (required)** `string` — Error message - **`success` (required)** `object` - **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ## Schemas ### 1 - **Type:** **Example:** ### 2 - **Type:**`object` * **`name` (required)** `string` * **`type` (required)** `object` * **`children`** `array` **Items:** * **`description`** `string` * **`dictionary`** `object` * **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` * **`hasChildren`** `boolean` * **`order`** `object`, possible values: `1, 2, 3` * **`saveIntermediate`** `boolean` * **`sourceField`** `string` * **`sourcePattern`** `object` **Example:** ``` { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "fallbacks": [ { "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "" } ] } ``` ### TestTransformationTemplateRequest - **Type:**`object` * **`patterns` (required)** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` * **`testPayload` (required)** `object` * **`transformation_template` (required)** `object` * **`ack_mapping`** `object` * **`resolution_mapping`** `object` **Example:** ``` { "transformation_template": { "propertyName*": "" }, "patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "fallbacks": [ { "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "" } ] } ], "testPayload": { "propertyName*": "anything" }, "ack_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "ack_link": "", "unack_link": "", "overrides": { "propertyName*": "" } }, "resolution_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "resolve_link": "", "overrides": { "propertyName*": "" } } } ``` ### TestTransformationTemplateResponseData - **Type:**`object` * **`extractionSteps` (required)** `array` **Items:** - **`extractedContent` (required)** `object` - **`fieldName` (required)** `string` - **`patternType` (required)** `string` - **`sourceContent` (required)** `string` - **`stepNumber` (required)** `number` - **`success` (required)** `boolean` - **`errors`** `array` **Items:** `string` * **`finalPayload` (required)** `object` * **`processedPatternCount` (required)** `number` * **`simulationStages` (required)** `object` - **`extractedContext` (required)** `object` - **`finalPayload` (required)** `object` - **`linkInjection` (required)** `object` - **`ackLink` (required)** `string` - **`resolveLink` (required)** `string` - **`unackLink` (required)** `string` - **`transformedPayload` (required)** `object` * **`successfulExtractions` (required)** `number` * **`transformationContext` (required)** `object` * **`transformedPayload` (required)** `object` **Example:** ``` { "transformationContext": { "propertyName*": "anything" }, "transformedPayload": { "propertyName*": "" }, "finalPayload": { "propertyName*": "" }, "simulationStages": { "extractedContext": { "propertyName*": "anything" }, "transformedPayload": { "propertyName*": "" }, "finalPayload": { "propertyName*": "" }, "linkInjection": { "ackLink": "", "unackLink": "", "resolveLink": "" } }, "extractionSteps": [ { "stepNumber": 1, "fieldName": "", "patternType": "", "success": true, "sourceContent": "", "extractedContent": null, "errors": [ "" ] } ], "processedPatternCount": 1, "successfulExtractions": 1 } ``` ### TestPatternsRequest - **Type:**`object` * **`patterns` (required)** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` * **`testPayload` (required)** `object` **Example:** ``` { "patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "fallbacks": [ { "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "" } ] } ], "testPayload": null } ``` ### TestPatternsResponseData - **Type:**`object` * **`expectedSchemaFields`** `array` **Items:** * **`extractionSteps`** `array` **Items:** * **`finalExtractedData`** `object` * **`processedPatternCount`** `number` * **`successfulExtractions`** `number` **Example:** ``` { "finalExtractedData": {}, "extractionSteps": [ {} ], "expectedSchemaFields": [ {} ], "processedPatternCount": 1, "successfulExtractions": 1 } ``` ### UpdateSchemaRequest - **Type:** **Example:** ### SchemaCreationResponseData - **Type:**`object` * **`expires_at`** `number` * **`token`** `string` **Example:** ``` { "token": "", "expires_at": 1 } ``` ### SchemaResponse - **Type:** **Example:** ### SimpleSuccessResponse - **Type:**`object` * **`message` (required)** `string` * **`success` (required)** `object` **Example:** ``` { "success": true, "message": "" } ``` ### UpdateLibrarySchemaRequest - **Type:**`object` * **`description` (required)** `object` * **`name` (required)** `string` * **`schema` (required)** `object` - **`ack_mapping` (required)** `object` - **`ai_escalation_mapping` (required)** `object` - **`ai_override_forward_to` (required)** `object` - **`allow_guest_ack` (required)** `boolean` - **`default_forward_to` (required)** `object` - **`fields` (required)** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `string` - **`defaultValue`** `object` - **`description`** `string` - **`fingerprint_fields` (required)** `array` **Items:** `string` - **`incident_lifecycle_mapping` (required)** `object` - **`patterns` (required)** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`resolution_mapping` (required)** `object` - **`resolution_patterns` (required)** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`resolution_proxy_config` (required)** `object`, possible values: `"all", "initial", "1stLine", "none"` - **`sample` (required)** `object` - **`proxy_recurrent_alerts`** `object` - **`transformation_template`** `object` * **`tags` (required)** `array` **Items:** `string` **Example:** ``` { "name": "", "description": "", "tags": [ "" ], "schema": { "fields": [ { "name": "", "type": "", "description": "", "defaultValue": null } ], "transformation_template": { "propertyName*": "" }, "sample": null, "patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "fallbacks": [ { "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "" } ] } ], "ack_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "ack_link": "", "unack_link": "", "overrides": { "propertyName*": "" } }, "allow_guest_ack": true, "resolution_patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "fallbacks": [ { "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "" } ] } ], "resolution_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "resolve_link": "", "overrides": { "propertyName*": "" } }, "incident_lifecycle_mapping": { "created": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "reopened": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "resolved": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "closed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "priority_changed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } } }, "ai_escalation_mapping": { "enabled": true, "title": "", "fallback_title": "", "message": "", "assignment_link": "", "overrides": { "propertyName*": "" } }, "default_forward_to": "", "ai_override_forward_to": "", "resolution_proxy_config": "all", "proxy_recurrent_alerts": true, "fingerprint_fields": [ "" ] } } ``` ### CreateLibrarySchemaRequest - **Type:**`object` * **`name` (required)** `string` * **`schema` (required)** `object` - **`fields` (required)** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `string` - **`defaultValue`** `object` - **`description`** `string` - **`ack_mapping`** `object` - **`ack_link`** `string` - **`description`** `string` - **`fallback_title`** `string` - **`overrides`** `object` - **`status`** `string` - **`title`** `string` - **`unack_link`** `string` - **`ai_escalation_mapping`** `object` - **`ai_override_forward_to`** `object` - **`allow_guest_ack`** `boolean` - **`default_forward_to`** `object` - **`fingerprint_fields`** `array` **Items:** `string` - **`incident_lifecycle_mapping`** `object` - **`patterns`** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`proxy_recurrent_alerts`** `object` - **`resolution_mapping`** `object` - **`resolution_patterns`** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`resolution_proxy_config`** `object`, possible values: `"all", "initial", "1stLine", "none"` - **`sample`** `object` - **`transformation_template`** `object` * **`description`** `string` * **`tags`** `array` **Items:** `string` **Example:** ``` { "name": "", "description": "", "tags": [ "" ], "schema": { "fields": [ { "name": "", "type": "", "description": "", "defaultValue": null } ], "transformation_template": { "propertyName*": "" }, "sample": null, "patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "fallbacks": [ { "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "" } ] } ], "ack_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "ack_link": "", "unack_link": "", "overrides": { "propertyName*": "" } }, "allow_guest_ack": true, "resolution_patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "fallbacks": [ { "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "" } ] } ], "resolution_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "resolve_link": "", "overrides": { "propertyName*": "" } }, "incident_lifecycle_mapping": { "created": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "reopened": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "resolved": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "closed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "priority_changed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } } }, "ai_escalation_mapping": { "enabled": true, "title": "", "fallback_title": "", "message": "", "assignment_link": "", "overrides": { "propertyName*": "" } }, "default_forward_to": "", "ai_override_forward_to": "", "resolution_proxy_config": "all", "proxy_recurrent_alerts": true, "fingerprint_fields": [ "" ] } } ``` ### LibrarySchema - **Type:**`object` * **`createdAt` (required)** `string` * **`name` (required)** `string` * **`schema` (required)** `object` - **`fields` (required)** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `string` - **`defaultValue`** `object` - **`description`** `string` - **`ack_mapping`** `object` - **`ack_link`** `string` - **`description`** `string` - **`fallback_title`** `string` - **`overrides`** `object` - **`status`** `string` - **`title`** `string` - **`unack_link`** `string` - **`ai_escalation_mapping`** `object` - **`ai_override_forward_to`** `object` - **`allow_guest_ack`** `boolean` - **`default_forward_to`** `object` - **`fingerprint_fields`** `array` **Items:** `string` - **`incident_lifecycle_mapping`** `object` - **`patterns`** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`proxy_recurrent_alerts`** `object` - **`resolution_mapping`** `object` - **`resolution_patterns`** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`resolution_proxy_config`** `object`, possible values: `"all", "initial", "1stLine", "none"` - **`sample`** `object` - **`transformation_template`** `object` * **`scope` (required)** `object` * **`uid` (required)** `string` * **`updatedAt` (required)** `string` * **`description`** `string` * **`orgUid`** `string` * **`source`** `object` - **`packagePath`** `string` - **`sourceRepoRef`** `object` - **`visibility`** `string` * **`tags`** `array` **Items:** `string` **Example:** ``` { "uid": "", "name": "", "description": "", "tags": [ "" ], "scope": "global", "orgUid": "", "source": { "packagePath": "", "sourceRepoRef": "", "visibility": "" }, "schema": { "fields": [ { "name": "", "type": "", "description": "", "defaultValue": null } ], "transformation_template": { "propertyName*": "" }, "sample": null, "patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "...": "[Additional Properties Truncated]" } ], "ack_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "ack_link": "", "unack_link": "", "overrides": { "propertyName*": "" } }, "allow_guest_ack": true, "resolution_patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "...": "[Additional Properties Truncated]" } ], "resolution_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "resolve_link": "", "overrides": { "propertyName*": "" } }, "incident_lifecycle_mapping": { "created": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "reopened": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "resolved": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "closed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "priority_changed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } } }, "ai_escalation_mapping": { "enabled": true, "title": "", "fallback_title": "", "message": "", "assignment_link": "", "overrides": { "propertyName*": "" } }, "default_forward_to": "", "ai_override_forward_to": "", "resolution_proxy_config": "all", "proxy_recurrent_alerts": true, "fingerprint_fields": [ "" ] }, "createdAt": "", "updatedAt": "" } ``` ### LibrarySchemasListResponse - **Type:**`object` * **`count` (required)** `number` * **`data` (required)** `array` **Items:** - **`createdAt` (required)** `string` - **`name` (required)** `string` - **`schema` (required)** `object` - **`fields` (required)** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `string` - **`defaultValue`** `object` - **`description`** `string` - **`ack_mapping`** `object` - **`ack_link`** `string` - **`description`** `string` - **`fallback_title`** `string` - **`overrides`** `object` - **`status`** `string` - **`title`** `string` - **`unack_link`** `string` - **`ai_escalation_mapping`** `object` - **`ai_override_forward_to`** `object` - **`allow_guest_ack`** `boolean` - **`default_forward_to`** `object` - **`fingerprint_fields`** `array` **Items:** `string` - **`incident_lifecycle_mapping`** `object` - **`patterns`** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`proxy_recurrent_alerts`** `object` - **`resolution_mapping`** `object` - **`resolution_patterns`** `array` **Items:** - **`name` (required)** `string` - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`fallbacks`** `array` **Items:** - **`type` (required)** `object` - **`children`** `array` **Items:** - **`description`** `string` - **`dictionary`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`hasChildren`** `boolean` - **`order`** `object`, possible values: `1, 2, 3` - **`saveIntermediate`** `boolean` - **`sourceField`** `string` - **`sourcePattern`** `object` - **`resolution_proxy_config`** `object`, possible values: `"all", "initial", "1stLine", "none"` - **`sample`** `object` - **`transformation_template`** `object` - **`scope` (required)** `object` - **`uid` (required)** `string` - **`updatedAt` (required)** `string` - **`description`** `string` - **`orgUid`** `string` - **`source`** `object` - **`packagePath`** `string` - **`sourceRepoRef`** `object` - **`visibility`** `string` - **`tags`** `array` **Items:** `string` * **`success` (required)** `boolean` * **`cursor`** `object` **Example:** ``` { "success": true, "data": [ { "uid": "", "name": "", "description": "", "tags": [ "" ], "scope": "global", "orgUid": "", "source": { "packagePath": "", "sourceRepoRef": "", "visibility": "" }, "schema": { "fields": [ { "name": "", "type": "", "description": "", "defaultValue": null } ], "transformation_template": { "propertyName*": "" }, "sample": null, "patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "...": "[Additional Properties Truncated]" } ], "ack_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "ack_link": "", "unack_link": "", "overrides": { "propertyName*": "" } }, "allow_guest_ack": true, "resolution_patterns": [ { "name": "", "order": 1, "type": "string", "description": "", "hasChildren": true, "sourcePattern": null, "children": [ {} ], "dictionary": null, "saveIntermediate": true, "sourceField": "", "...": "[Additional Properties Truncated]" } ], "resolution_mapping": { "title": "", "fallback_title": "", "description": "", "status": "", "resolve_link": "", "overrides": { "propertyName*": "" } }, "incident_lifecycle_mapping": { "created": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "reopened": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "resolved": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "closed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } }, "priority_changed": { "title": "", "description": "", "status": "", "incident_link": "", "register_alert": true, "send_alert": true, "overrides": { "propertyName*": "" } } }, "ai_escalation_mapping": { "enabled": true, "title": "", "fallback_title": "", "message": "", "assignment_link": "", "overrides": { "propertyName*": "" } }, "default_forward_to": "", "ai_override_forward_to": "", "resolution_proxy_config": "all", "proxy_recurrent_alerts": true, "fingerprint_fields": [ "" ] }, "createdAt": "", "updatedAt": "" } ], "cursor": "", "count": 1 } ``` ### IncomingAlertRequest - **Type:**`object` **Example:** ``` { "propertyName*": "anything" } ``` ### ErrorResponse - **Type:**`object` * **`error` (required)** `string` — Error message * **`success` (required)** `object` * **`details`** `object` **Example:** ``` { "success": false, "error": "", "details": { "propertyName*": "anything" } } ``` ### CreateSchemaResponseData - **Type:**`object` * **`fields`** `array` **Items:** * **`name`** `string` * **`schemaToken`** `string` * **`uid`** `string` **Example:** ``` { "uid": "", "name": "", "fields": [ {} ], "schemaToken": "" } ``` ### UpdateRoutingRuleRequest - **Type:** **Example:** ### RoutingRuleConditionRequest - **Type:**`object` * **`field` (required)** `string` * **`is_not` (required)** `boolean` * **`is_priority` (required)** `boolean` * **`operator` (required)** `object` * **`schema_uid` (required)** `string` * **`value` (required)** `string` **Example:** ``` { "schema_uid": "", "field": "", "operator": "equals", "value": "", "is_not": true, "is_priority": true } ``` ### CreateRoutingRuleRequest - **Type:** **Example:** ### RoutingRuleWithConditions - **Type:** **Example:** ### RoutingRule - **Type:**`object` * **`created_at` (required)** `string`, format: `date-time` * **`escalation_chain_uid` (required)** `string` * **`name` (required)** `string` * **`org_uid` (required)** `string` * **`respect_conditions` (required)** `object` * **`uid` (required)** `string` **Example:** ``` { "uid": "", "org_uid": "", "escalation_chain_uid": "", "name": "", "respect_conditions": "", "created_at": "" } ``` ### AiEscalationAssignment - **Type:**`object` * **`alert_instance_uid` (required)** `string` * **`connection_uid` (required)** `string` * **`created_at` (required)** `string` * **`org_uid` (required)** `string` * **`payload` (required)** `object` * **`status` (required)** `string` * **`uid` (required)** `string` * **`updated_at` (required)** `string` * **`alert`** `object` - **`uid` (required)** `string` - **`created_at`** `string`, format: `date-time` - **`description`** `object` - **`fingerprint`** `object` - **`parsed_fields`** `object` - **`raw_body`** `object` - **`schema_uid`** `object` - **`status`** `object` - **`title`** `object` * **`alert_title`** `object` * **`error_message`** `object` * **`fetched_at`** `object` * **`responded_at`** `object` * **`response_status`** `object` * **`response_text`** `object` * **`rule_names`** `array` **Items:** `string` * **`rule_uids`** `array` **Items:** `string` * **`same_pattern_alerts`** `array` **Items:** - **`uid` (required)** `string` - **`created_at`** `string`, format: `date-time` - **`description`** `object` - **`fingerprint`** `object` - **`parsed_fields`** `object` - **`raw_body`** `object` - **`schema_uid`** `object` - **`status`** `object` - **`title`** `object` * **`suggested_actions`** `object` * **`triggering_actor`** `object` - **`email`** `string` - **`kind`** `string` - **`name`** `string` - **`sub`** `string` - **`token_uid`** `string` - **`user_uid`** `string` **Example:** ``` { "uid": "", "org_uid": "", "connection_uid": "", "alert_instance_uid": "", "status": "", "payload": null, "response_status": "", "response_text": "", "suggested_actions": [], "alert_title": "", "alert": { "uid": "", "schema_uid": "", "fingerprint": "", "title": "", "description": "", "status": "", "created_at": "", "parsed_fields": { "propertyName*": "anything" }, "raw_body": { "propertyName*": "anything" } }, "same_pattern_alerts": [ { "uid": "", "schema_uid": "", "fingerprint": "", "title": "", "description": "", "status": "", "created_at": "", "parsed_fields": { "propertyName*": "anything" }, "raw_body": { "propertyName*": "anything" } } ], "rule_uids": [ "" ], "rule_names": [ "" ], "triggering_actor": { "kind": "", "user_uid": "", "token_uid": "", "email": "", "sub": "", "name": "" }, "error_message": "", "fetched_at": "", "responded_at": "", "created_at": "", "updated_at": "" } ``` ### AiEscalationUpdateRuleRequest - **Type:**`object` * **`allowed_suggested_actions` (required)** `array` **Items:** `string`, possible values: `"resolve", "escalate_further", "escalate_to", "start_incident", "join_incident"` * **`conditions` (required)** `array` **Items:** - **`field` (required)** `string` - **`operator` (required)** `object` - **`value` (required)** `string` - **`is_not`** `boolean` - **`is_priority`** `boolean` - **`schema_uid`** `object` * **`connection_uid` (required)** `string` * **`enabled` (required)** `boolean` * **`enrichments` (required)** `array` **Items:** **One of:** **Any of:** **Any of:** **Any of:** - **`key` (required)** `string` - **`name` (required)** `string` - **`type` (required)** `string` - **`arguments`** `object` - **`command`** `object` - **`command` (required)** `string` - **`args`** `array` **Items:** `string` - **`env`** `array` **Items:** `string` - **`timeout_seconds`** `integer` - **`working_directory`** `string` - **`json_payload`** `object` - **`label`** `string` - **`mode`** `string`, possible values: `"command", "json"` - **`required_env`** `array` **Items:** `string` - **`server`** `string` - **`source`** `string` - **`tool`** `string` - **`tools`** `array` **Items:** `string` * **`key` (required)** `string` * **`name` (required)** `string` * **`type` (required)** `string` * **`args`** `array` **Items:** `string` * **`auth_hint`** `string` * **`command`** `string` * **`label`** `string` * **`required_env`** `array` **Items:** `string` * **`source`** `string` * **`timeout_seconds`** `integer` * **`working_directory`** `string` **Any of:** * **`name` (required)** `string` * **`response_character_limit` (required)** `integer` * **`scope` (required)** `string`, possible values: `"global", "schema", "chain"` * **`scope_uid`** `string | null` * **`timeout_seconds`** `integer` **Example:** ``` { "connection_uid": "", "name": "", "enabled": true, "scope": "global", "scope_uid": null, "response_character_limit": 1, "timeout_seconds": 30, "allowed_suggested_actions": [ "resolve" ], "conditions": [ { "field": "", "operator": "equals", "value": "", "is_not": true, "is_priority": true, "schema_uid": "" } ], "enrichments": [ { "type": "", "key": "", "label": "", "source": "", "link": "", "file_path": "", "recommended_authorization": "", "fallback_authorization": [ "" ], "auth_hint": "", "content": "" } ] } ``` ### AiEscalationEnrichment - **Type:** **Example:** ### AiEscalationNoteEnrichment - **Type:**`object` **Any of:** **Example:** ``` { "type": "", "key": "", "label": "", "source": "", "body": "", "text": "" } ``` ### AiEscalationCliEnrichment - **Type:**`object` * **`key` (required)** `string` * **`name` (required)** `string` * **`type` (required)** `string` * **`args`** `array` **Items:** `string` * **`auth_hint`** `string` * **`command`** `string` * **`label`** `string` * **`required_env`** `array` **Items:** `string` * **`source`** `string` * **`timeout_seconds`** `integer` * **`working_directory`** `string` **Example:** ``` { "type": "", "key": "", "label": "", "source": "", "name": "", "auth_hint": "", "command": "", "args": [ "" ], "working_directory": "", "timeout_seconds": 1, "required_env": [ "" ] } ``` ### AiEscalationMcpEnrichment - **Type:**`object` * **`key` (required)** `string` * **`name` (required)** `string` * **`type` (required)** `string` * **`arguments`** `object` * **`command`** `object` - **`command` (required)** `string` - **`args`** `array` **Items:** `string` - **`env`** `array` **Items:** `string` - **`timeout_seconds`** `integer` - **`working_directory`** `string` * **`json_payload`** `object` * **`label`** `string` * **`mode`** `string`, possible values: `"command", "json"` * **`required_env`** `array` **Items:** `string` * **`server`** `string` * **`source`** `string` * **`tool`** `string` * **`tools`** `array` **Items:** `string` **Example:** ``` { "type": "", "key": "", "label": "", "source": "", "name": "", "tools": [ "" ], "required_env": [ "" ], "mode": "command", "json_payload": { "propertyName*": "anything" }, "command": { "command": "", "args": [ "" ], "working_directory": "", "timeout_seconds": 1, "env": [ "" ] }, "server": "", "tool": "", "arguments": { "propertyName*": "anything" } } ``` ### AiEscalationAgentEnrichment - **Type:**`object` **Any of:** **Example:** ``` { "type": "", "key": "", "label": "", "source": "", "link": "", "file_path": "", "recommended_authorization": "", "fallback_authorization": [ "" ], "auth_hint": "", "instructions": "" } ``` ### AiEscalationSkillEnrichment - **Type:**`object` **Any of:** **Example:** ``` { "type": "", "key": "", "label": "", "source": "", "link": "", "file_path": "", "recommended_authorization": "", "fallback_authorization": [ "" ], "auth_hint": "", "name": "", "instructions": "" } ``` ### AiEscalationContextEnrichment - **Type:**`object` **Any of:** **Example:** ``` { "type": "", "key": "", "label": "", "source": "", "link": "", "file_path": "", "recommended_authorization": "", "fallback_authorization": [ "" ], "auth_hint": "", "content": "" } ``` ### AiEscalationCondition - **Type:**`object` * **`field` (required)** `string` * **`operator` (required)** `object` * **`value` (required)** `string` * **`is_not`** `boolean` * **`is_priority`** `boolean` * **`schema_uid`** `object` **Example:** ``` { "field": "", "operator": "equals", "value": "", "is_not": true, "is_priority": true, "schema_uid": "" } ``` ### AiEscalationCreateRuleRequest - **Type:**`object` * **`allowed_suggested_actions` (required)** `array` **Items:** `string`, possible values: `"resolve", "escalate_further", "escalate_to", "start_incident", "join_incident"` * **`conditions` (required)** `array` **Items:** - **`field` (required)** `string` - **`operator` (required)** `object` - **`value` (required)** `string` - **`is_not`** `boolean` - **`is_priority`** `boolean` - **`schema_uid`** `object` * **`connection_uid` (required)** `string` * **`enrichments` (required)** `array` **Items:** **One of:** **Any of:** **Any of:** **Any of:** - **`key` (required)** `string` - **`name` (required)** `string` - **`type` (required)** `string` - **`arguments`** `object` - **`command`** `object` - **`command` (required)** `string` - **`args`** `array` **Items:** `string` - **`env`** `array` **Items:** `string` - **`timeout_seconds`** `integer` - **`working_directory`** `string` - **`json_payload`** `object` - **`label`** `string` - **`mode`** `string`, possible values: `"command", "json"` - **`required_env`** `array` **Items:** `string` - **`server`** `string` - **`source`** `string` - **`tool`** `string` - **`tools`** `array` **Items:** `string` * **`key` (required)** `string` * **`name` (required)** `string` * **`type` (required)** `string` * **`args`** `array` **Items:** `string` * **`auth_hint`** `string` * **`command`** `string` * **`label`** `string` * **`required_env`** `array` **Items:** `string` * **`source`** `string` * **`timeout_seconds`** `integer` * **`working_directory`** `string` **Any of:** * **`name` (required)** `string` * **`response_character_limit` (required)** `integer` * **`scope` (required)** `string`, possible values: `"global", "schema", "chain"` * **`enabled`** `boolean` * **`scope_uid`** `string | null` * **`timeout_seconds`** `integer` **Example:** ``` { "connection_uid": "", "name": "", "enabled": true, "scope": "global", "scope_uid": null, "response_character_limit": 1, "timeout_seconds": 30, "allowed_suggested_actions": [ "resolve" ], "conditions": [ { "field": "", "operator": "equals", "value": "", "is_not": true, "is_priority": true, "schema_uid": "" } ], "enrichments": [ { "type": "", "key": "", "label": "", "source": "", "link": "", "file_path": "", "recommended_authorization": "", "fallback_authorization": [ "" ], "auth_hint": "", "content": "" } ] } ``` ### AiEscalationSafeRule - **Type:**`object` * **`allowed_suggested_actions` (required)** `array` **Items:** `string`, possible values: `"resolve", "escalate_further", "escalate_to", "start_incident", "join_incident"` * **`conditions` (required)** `array` **Items:** - **`field` (required)** `string` - **`operator` (required)** `object` - **`value` (required)** `string` - **`is_not`** `boolean` - **`is_priority`** `boolean` - **`schema_uid`** `object` * **`connection_uid` (required)** `string` * **`created_at` (required)** `string` * **`enabled` (required)** `boolean` * **`enrichments` (required)** `array` **Items:** **One of:** **Any of:** **Any of:** **Any of:** - **`key` (required)** `string` - **`name` (required)** `string` - **`type` (required)** `string` - **`arguments`** `object` - **`command`** `object` - **`command` (required)** `string` - **`args`** `array` **Items:** `string` - **`env`** `array` **Items:** `string` - **`timeout_seconds`** `integer` - **`working_directory`** `string` - **`json_payload`** `object` - **`label`** `string` - **`mode`** `string`, possible values: `"command", "json"` - **`required_env`** `array` **Items:** `string` - **`server`** `string` - **`source`** `string` - **`tool`** `string` - **`tools`** `array` **Items:** `string` * **`key` (required)** `string` * **`name` (required)** `string` * **`type` (required)** `string` * **`args`** `array` **Items:** `string` * **`auth_hint`** `string` * **`command`** `string` * **`label`** `string` * **`required_env`** `array` **Items:** `string` * **`source`** `string` * **`timeout_seconds`** `integer` * **`working_directory`** `string` **Any of:** * **`name` (required)** `string` * **`org_uid` (required)** `string` * **`response_character_limit` (required)** `integer` * **`scope` (required)** `string`, possible values: `"global", "schema", "chain"` * **`timeout_seconds` (required)** `integer` * **`uid` (required)** `string` * **`updated_at` (required)** `string` * **`scope_uid`** `string | null` **Example:** ``` { "uid": "", "org_uid": "", "connection_uid": "", "name": "", "enabled": true, "scope": "global", "scope_uid": null, "response_character_limit": 1, "timeout_seconds": 30, "allowed_suggested_actions": [ "resolve" ], "conditions": [ { "field": "", "operator": "equals", "value": "", "is_not": true, "is_priority": true, "schema_uid": "" } ], "enrichments": [ { "type": "", "key": "", "label": "", "source": "", "link": "", "file_path": "", "recommended_authorization": "", "fallback_authorization": [ "" ], "auth_hint": "", "content": "" } ], "created_at": "", "updated_at": "" } ``` ### AiEscalationUpdateConnectionRequest - **Type:**`object` * **`enabled` (required)** `boolean` * **`name` (required)** `string` **Example:** ``` { "name": "", "enabled": true } ``` ### AiEscalationCreateConnectionRequest - **Type:**`object` * **`name` (required)** `string` * **`enabled`** `boolean` **Example:** ``` { "name": "", "enabled": true } ``` ### AiEscalationCreateConnectionResponse - **Type:**`object` * **`connection` (required)** `object` - **`created_at` (required)** `string` - **`enabled` (required)** `boolean` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`status` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string` - **`last_connected_at`** `object` - **`last_disconnected_at`** `object` - **`last_heartbeat_at`** `object` - **`last_seen_at`** `object` * **`secret` (required)** `string` **Example:** ``` { "connection": { "uid": "", "org_uid": "", "name": "", "enabled": true, "status": "connected", "last_heartbeat_at": "", "last_seen_at": "", "last_connected_at": "", "last_disconnected_at": "", "created_at": "", "updated_at": "" }, "secret": "" } ``` ### AiEscalationSafeConnection - **Type:**`object` * **`created_at` (required)** `string` * **`enabled` (required)** `boolean` * **`name` (required)** `string` * **`org_uid` (required)** `string` * **`status` (required)** `object` * **`uid` (required)** `string` * **`updated_at` (required)** `string` * **`last_connected_at`** `object` * **`last_disconnected_at`** `object` * **`last_heartbeat_at`** `object` * **`last_seen_at`** `object` **Example:** ``` { "uid": "", "org_uid": "", "name": "", "enabled": true, "status": "connected", "last_heartbeat_at": "", "last_seen_at": "", "last_connected_at": "", "last_disconnected_at": "", "created_at": "", "updated_at": "" } ``` ### escalation\_1 - **Type:** **Example:** ### CreateEscalationScheduleOverrideRequest - **Type:**`object` * **`end_at` (required)** `string` * **`start_at` (required)** `string` * **`user_uid` (required)** `string` **Example:** ``` { "user_uid": "", "start_at": "", "end_at": "" } ``` ### EscalationScheduleOverride - **Type:**`object` * **`created_at` (required)** `string`, format: `date-time` * **`end_at` (required)** `string`, format: `date-time` * **`schedule_uid` (required)** `string` * **`start_at` (required)** `string`, format: `date-time` * **`uid` (required)** `string` * **`user_uid` (required)** `string` **Example:** ``` { "uid": "", "schedule_uid": "", "user_uid": "", "start_at": "", "end_at": "", "created_at": "" } ``` ### UpdateEscalationScheduleRequest - **Type:**`object` * **`description` (required)** `object` * **`layers` (required)** `array` **Items:** - **`name` (required)** `string` - **`rotation_type` (required)** `string` - **`shift_length_seconds` (required)** `number` - **`shift_start` (required)** `string` - **`users` (required)** `array` **Items:** `string` - **`layer_order`** `number` - **`rotation_interval`** `number` * **`name` (required)** `string` * **`timezone` (required)** `string` **Example:** ``` { "name": "", "description": "", "timezone": "", "layers": [ { "name": "", "rotation_type": "", "rotation_interval": 1, "shift_start": "", "shift_length_seconds": 1, "users": [ "" ], "layer_order": 1 } ] } ``` ### CreateEscalationScheduleRequest - **Type:**`object` * **`name` (required)** `string` * **`description`** `string` * **`layers`** `array` **Items:** - **`name` (required)** `string` - **`rotation_type` (required)** `string` - **`shift_length_seconds` (required)** `number` - **`shift_start` (required)** `string` - **`users` (required)** `array` **Items:** `string` - **`layer_order`** `number` - **`rotation_interval`** `number` * **`timezone`** `string` **Example:** ``` { "name": "", "description": "", "timezone": "", "layers": [ { "name": "", "rotation_type": "", "rotation_interval": 1, "shift_start": "", "shift_length_seconds": 1, "users": [ "" ], "layer_order": 1 } ] } ``` ### EscalationSchedule - **Type:**`object` * **`created_at` (required)** `string`, format: `date-time` * **`description` (required)** `object` * **`name` (required)** `string` * **`org_uid` (required)** `string` * **`timezone` (required)** `object` * **`uid` (required)** `string` * **`updated_at` (required)** `string`, format: `date-time` **Example:** ``` { "uid": "", "org_uid": "", "name": "", "description": "", "timezone": "", "created_at": "", "updated_at": "" } ``` ### EscalationFlowRequest - **Type:**`object` * **`chains`** `array` **Items:** `string` * **`lines`** `array` **Items:** `string` * **`routing_rules`** `array` **Items:** `string` * **`schedules`** `array` **Items:** `string` * **`teams`** `array` **Items:** `string` * **`users`** `array` **Items:** `string` **Example:** ``` { "chains": [ "" ], "lines": [ "" ], "routing_rules": [ "" ], "users": [ "" ], "teams": [ "" ], "schedules": [ "" ] } ``` ### UnpackedResponders - **Type:**`object` * **`responders` (required)** `array` **Items:** - **`explanation` (required)** `object` - **`escalation_chains`** `array` **Items:** - **`conditions_applied` (required)** `array` **Items:** - **`actual_value` (required)** `object` - **`field` (required)** `string` - **`matched` (required)** `boolean` - **`operator` (required)** `string` - **`value` (required)** `string` - **`actions`** `array` **Items:** - **`type` (required)** `string` - **`line_uid`** `string` - **`new_order`** `object` - **`name` (required)** `string` - **`uid` (required)** `string` - **`routing_rule_uid`** `string` - **`escalation_lines`** `array` **Items:** - **`line_order` (required)** `number` - **`name` (required)** `string` - **`uid` (required)** `string` - **`description`** `string` - **`escalation_chain_uid`** `string` - **`line_timeout_seconds`** `number` - **`escalation_schedule_overrides`** `array` **Items:** - **`created_at` (required)** `string`, format: `date-time` - **`end_at` (required)** `string`, format: `date-time` - **`schedule_uid` (required)** `string` - **`start_at` (required)** `string`, format: `date-time` - **`uid` (required)** `string` - **`user_uid` (required)** `string` - **`escalation_schedules`** `array` **Items:** - **`created_at` (required)** `string`, format: `date-time` - **`description` (required)** `object` - **`name` (required)** `string` - **`org_uid` (required)** `string` - **`timezone` (required)** `object` - **`uid` (required)** `string` - **`updated_at` (required)** `string`, format: `date-time` - **`line_memberships`** `array` **Items:** - **`uid` (required)** `string` - **`communication_rule_uid`** `string` - **`delay_seconds`** `number` - **`email`** `string` - **`escalation_line_uid`** `string` - **`member_order`** `number` - **`repeat_interval_seconds`** `number` - **`schedule_uid`** `string` - **`team_member_uid`** `string` - **`routing_rules`** `array` **Items:** - **`conditions_matched` (required)** `array` **Items:** - **`actual_value` (required)** `object` - **`field` (required)** `string` - **`matched` (required)** `boolean` - **`operator` (required)** `string` - **`value` (required)** `string` - **`schema_uid`** `string` - **`name` (required)** `string` - **`uid` (required)** `string` - **`team_memberships`** `array` **Items:** - **`team_uid` (required)** `string` - **`user_uid` (required)** `string` - **`team_description`** `string` - **`team_name`** `string` - **`user_email` (required)** `string` - **`member_types`** `array` **Items:** **Any of:** - **`original_members`** `array` **Items:** `string` - **`user_first_name`** `string` - **`user_last_name`** `string` - **`user_phone_number`** `string` - **`user_uid`** `string` **Example:** ``` { "responders": [ { "user_email": "", "user_uid": "", "user_first_name": "", "user_last_name": "", "user_phone_number": "", "member_types": [ "user" ], "original_members": [ "" ], "explanation": { "routing_rules": [ { "uid": "", "name": "", "conditions_matched": [ { "schema_uid": "", "field": "", "operator": "", "value": "", "actual_value": "", "matched": true } ] } ], "escalation_chains": [ { "uid": "", "name": "", "routing_rule_uid": "", "conditions_applied": [ { "field": "", "operator": "", "value": "", "actual_value": "", "matched": true, "actions": [ { "type": "", "line_uid": "", "new_order": "[Max Depth Exceeded]" } ] } ] } ], "escalation_lines": [ { "uid": "", "name": "", "description": "", "escalation_chain_uid": "", "line_order": 1, "line_timeout_seconds": 1 } ], "line_memberships": [ { "uid": "", "escalation_line_uid": "", "team_member_uid": "", "email": "", "schedule_uid": "", "communication_rule_uid": "", "member_order": 1, "delay_seconds": 1, "repeat_interval_seconds": 1 } ], "team_memberships": [ { "team_uid": "", "team_name": "", "team_description": "", "user_uid": "" } ], "escalation_schedules": [ { "uid": "", "org_uid": "", "name": "", "description": "", "timezone": "", "created_at": "", "updated_at": "" } ], "escalation_schedule_overrides": [ { "uid": "", "schedule_uid": "", "user_uid": "", "start_at": "", "end_at": "", "created_at": "" } ] } } ] } ``` ### UpdateEscalationLineMemberRequest - **Type:**`object` * **`communication_rule_uid` (required)** `object` * **`delay_seconds` (required)** `number` * **`email` (required)** `object` * **`member_order` (required)** `number` * **`repeat_interval_seconds` (required)** `number` * **`schedule_uid` (required)** `object` * **`team_member_uid` (required)** `object` **Example:** ``` { "team_member_uid": "", "email": "", "schedule_uid": "", "communication_rule_uid": "", "member_order": 1, "delay_seconds": 1, "repeat_interval_seconds": 1 } ``` ### CreateEscalationLineMemberRequest - **Type:**`object` * **`escalation_line_uid` (required)** `string` * **`communication_rule_uid`** `string` * **`delay_seconds`** `number` * **`email`** `string` * **`member_order`** `number` * **`repeat_interval_seconds`** `number` * **`schedule_uid`** `string` * **`team_member_uid`** `string` **Example:** ``` { "escalation_line_uid": "", "team_member_uid": "", "email": "", "schedule_uid": "", "communication_rule_uid": "", "member_order": 1, "delay_seconds": 1, "repeat_interval_seconds": 1 } ``` ### EscalationLineMember - **Type:**`object` * **`communication_rule_uid` (required)** `object` * **`delay_seconds` (required)** `object` * **`email` (required)** `object` * **`escalation_line_uid` (required)** `object` * **`member_order` (required)** `object` * **`repeat_interval_seconds` (required)** `object` * **`team_member_uid` (required)** `object` * **`uid` (required)** `string` * **`schedule_uid`** `object` **Example:** ``` { "uid": "", "escalation_line_uid": "", "team_member_uid": "", "email": "", "schedule_uid": "", "communication_rule_uid": "", "member_order": -2147483648, "delay_seconds": -2147483648, "repeat_interval_seconds": -2147483648 } ``` ### EscalationLineDeleteImpact - **Type:**`object` * **`deleted_line_members` (required)** `number` * **`detached_alert_assignments_line_refs` (required)** `number` * **`detached_escalation_states_line_refs` (required)** `number` * **`line_uid` (required)** `string` **Example:** ``` { "line_uid": "", "deleted_line_members": 1, "detached_escalation_states_line_refs": 1, "detached_alert_assignments_line_refs": 1 } ``` ### UpdateEscalationLineRequest - **Type:**`object` * **`description` (required)** `object` * **`escalation_chain_uid` (required)** `object` * **`line_order` (required)** `number` * **`name` (required)** `string` * **`timeout_seconds` (required)** `object` **Example:** ``` { "escalation_chain_uid": "", "name": "", "description": "", "line_order": 1, "timeout_seconds": 1 } ``` ### CreateEscalationLineRequest - **Type:**`object` * **`escalation_chain_uid` (required)** `string` * **`line_order` (required)** `number` * **`name` (required)** `string` * **`description`** `string` * **`timeout_seconds`** `number` **Example:** ``` { "escalation_chain_uid": "", "name": "", "description": "", "line_order": 1, "timeout_seconds": 1 } ``` ### EscalationLine - **Type:**`object` * **`created_at` (required)** `string`, format: `date-time` * **`description` (required)** `object` * **`escalation_chain_uid` (required)** `object` * **`line_order` (required)** `integer` * **`name` (required)** `string` * **`org_uid` (required)** `string` * **`timeout_seconds` (required)** `object` * **`uid` (required)** `string` * **`updated_at` (required)** `string`, format: `date-time` **Example:** ``` { "uid": "", "org_uid": "", "escalation_chain_uid": "", "name": "", "description": "", "line_order": -2147483648, "timeout_seconds": -2147483648, "created_at": "", "updated_at": "" } ``` ### EscalationChainDeleteImpact - **Type:**`object` * **`blocking_routing_rules` (required)** `number` * **`can_delete` (required)** `boolean` * **`chain_uid` (required)** `string` * **`deleted_chain_conditions` (required)** `number` * **`deleted_line_members` (required)** `number` * **`deleted_lines` (required)** `number` * **`detached_alert_assignments_chain_refs` (required)** `number` * **`detached_alert_assignments_line_refs` (required)** `number` * **`detached_escalation_states_chain_refs` (required)** `number` * **`detached_escalation_states_line_refs` (required)** `number` **Example:** ``` { "chain_uid": "", "deleted_lines": 1, "deleted_line_members": 1, "deleted_chain_conditions": 1, "detached_escalation_states_chain_refs": 1, "detached_escalation_states_line_refs": 1, "detached_alert_assignments_chain_refs": 1, "detached_alert_assignments_line_refs": 1, "blocking_routing_rules": 1, "can_delete": true } ``` ### UpdateEscalationChainRequest - **Type:** **Example:** ### EscalationChainConditionRequest - **Type:**`object` * **`field` (required)** `string` * **`operator` (required)** `object` * **`value` (required)** `object` * **`actions`** `array` **Items:** - **`type` (required)** `object` - **`line_uid`** `string` - **`new_order`** `object` * **`is_not`** `boolean` * **`is_priority`** `boolean` * **`is_time`** `boolean` **Example:** ``` { "field": "", "operator": "equals", "value": null, "is_not": true, "is_priority": true, "is_time": true, "actions": [ { "type": "override_line_order", "line_uid": "", "new_order": -1 } ] } ``` ### EscalationChainAction - **Type:**`object` * **`type` (required)** `object` * **`line_uid`** `string` * **`new_order`** `object` **Example:** ``` { "type": "override_line_order", "line_uid": "", "new_order": -1 } ``` ### CreateEscalationChainRequest - **Type:** **Example:** ### EscalationChain - **Type:**`object` * **`created_at` (required)** `string`, format: `date-time` * **`description` (required)** `object` * **`name` (required)** `string` * **`org_uid` (required)** `string` * **`respect_conditions` (required)** `object` * **`uid` (required)** `string` * **`updated_at` (required)** `string`, format: `date-time` **Example:** ``` { "uid": "", "org_uid": "", "name": "", "description": "", "respect_conditions": "", "created_at": "", "updated_at": "" } ``` ### proxy\_1 - **Type:** **Example:** ### EnhancedAlertInstancesResponse - **Type:** **Example:** ### EnhancedAlertInstance - **Type:** **Example:** ### AlertInstanceHistoryResponse - **Type:**`object` * **`data` (required)** `array` **Items:** **All of:** - **`actor_email` (required)** `object` - **`actor_name` (required)** `object` - **`alert_instance_uid` (required)** `string` - **`created_at` (required)** `string`, format: `date-time` - **`event_type` (required)** `object` - **`payload` (required)** `object` - **`uid` (required)** `string` * **`result`** `object` * **`status`** `object` * **`summary`** `object` * **`limit` (required)** `string` * **`next_cursor` (required)** `object` * **`order_by` (required)** `object` **Example:** ``` { "data": [ { "uid": "", "alert_instance_uid": "", "event_type": "proxy.ingested", "actor_email": "", "actor_name": "", "payload": null, "created_at": "", "status": "", "result": "", "summary": "" } ], "limit": "", "order_by": "newest", "next_cursor": "" } ``` ### AlertInstanceAuditEvent - **Type:** **Example:** ### Team - **Type:**`object` * **`created_at` (required)** `string`, format: `date-time` * **`description` (required)** `object` * **`is_active` (required)** `object` * **`name` (required)** `string` * **`org_uid` (required)** `string` * **`uid` (required)** `string` * **`updated_at` (required)** `string`, format: `date-time` * **`last_synced_at`** `string`, format: `date-time` **Example:** ``` { "uid": "", "org_uid": "", "name": "", "description": "", "is_active": true, "last_synced_at": "", "created_at": "", "updated_at": "" } ``` ### VerifyPhoneNumberRequest - **Type:**`object` * **`code` (required)** `string` **Example:** ``` { "code": "" } ``` ### UpdateUserRoleRequest - **Type:**`object` * **`role` (required)** `object` **Example:** ``` { "role": "admin" } ``` ### UserRoleUpdateResponse - **Type:**`object` * **`is_active` (required)** `boolean` * **`joined_at` (required)** `object` * **`last_synced_at` (required)** `object` * **`org_name` (required)** `string` * **`org_slug` (required)** `string` * **`org_uid` (required)** `string` * **`role` (required)** `object` * **`team_sync_enabled` (required)** `boolean` * **`user_uid` (required)** `string` **Example:** ``` { "user_uid": "", "org_uid": "", "org_name": "", "org_slug": "", "role": "admin", "is_active": true, "team_sync_enabled": true, "joined_at": "", "last_synced_at": "" } ``` ### UpdateUserRequest - **Type:**`object` * **`phone_number` (required)** `object` **Example:** ``` { "phone_number": "" } ``` ### SafeUser - **Type:**`object` * **`created_at` (required)** `string`, format: `date-time` * **`email` (required)** `string` * **`first_name` (required)** `object` * **`is_active` (required)** `object` * **`last_name` (required)** `object` * **`melody_auth_auth_id` (required)** `string` * **`phone_number_verified` (required)** `object` * **`uid` (required)** `string` * **`updated_at` (required)** `string`, format: `date-time` * **`last_synced_at`** `string`, format: `date-time` * **`phone_number`** `string` **Example:** ``` { "uid": "", "email": "", "first_name": "", "last_name": "", "phone_number": "", "phone_number_verified": true, "is_active": true, "melody_auth_auth_id": "", "last_synced_at": "", "created_at": "", "updated_at": "" } ``` ### OrganizationMembershipResponse - **Type:** **Example:** ### RotateTokenResponseData - **Type:**`object` * **`token` (required)** `string` **Example:** ``` { "token": "" } ``` ### UpdateTokenRequest - **Type:**`object` * **`name` (required)** `object` * **`role` (required)** `object`, possible values: `"admin", "editor", "reader"` **Example:** ``` { "name": "", "role": "admin" } ``` ### CreateTokenRequest - **Type:**`object` * **`expiresAt`** `string`, format: `date-time` * **`name`** `object` * **`role`** `object`, possible values: `"admin", "editor", "reader"`, default: `"editor"` **Example:** ``` { "name": "", "expiresAt": "", "role": "editor" } ``` ### CreateTokenResponseData - **Type:** **Example:** ### SafeAPITokenWithRole - **Type:** **Example:** ### RegisterIdentityRequest - **Type:**`object` * **`device_fingerprint`** `string` * **`email`** `string` * **`guest_name`** `string` * **`org_uid`** `string` **Example:** ``` { "email": "", "guest_name": "", "device_fingerprint": "", "org_uid": "" } ``` ### IdentityToken - **Type:**`object` * **`token` (required)** `string` * **`email`** `string` * **`expires_at`** `string` * **`guest_name`** `string` * **`org_uid`** `string` **Example:** ``` { "token": "", "email": "", "guest_name": "", "org_uid": "", "expires_at": "" } ``` ### AiEscalationActionResult - **Type:**`object` * **`assignment_uid` (required)** `string` * **`status` (required)** `string` * **`actor`** `object` - **`email`** `string` - **`name`** `string` - **`sub`** `string` **Example:** ``` { "assignment_uid": "", "status": "", "actor": { "email": "", "sub": "", "name": "" } } ``` ### EscalateToActionRequest - **Type:**`object` * **`target_user_email` (required)** `string`, format: `email` * **`guest_name`** `string` * **`identity_token`** `string` * **`resolution_payload`** `object` **Example:** ``` { "identity_token": "", "guest_name": "", "resolution_payload": null, "target_user_email": "" } ``` ### ActionRequest - **Type:**`object` * **`guest_name`** `string` * **`identity_token`** `string` * **`resolution_payload`** `object` **Example:** ``` { "identity_token": "", "guest_name": "", "resolution_payload": null } ``` ### ActionResult - **Type:**`object` * **`success` (required)** `boolean` * **`acknowledged_at`** `string` * **`acknowledged_by`** `string` * **`alert_instance_uid`** `string` * **`error`** `string` * **`incident_uid`** `string` * **`message`** `string` **Example:** ``` { "success": true, "message": "", "error": "", "alert_instance_uid": "", "incident_uid": "", "acknowledged_by": "", "acknowledged_at": "" } ``` ### AlertDetailsResponse - **Type:**`object` * **`alert` (required)** `object` * **`success` (required)** `object` **Example:** ``` { "success": true, "alert": { "uid": "", "status": "", "title": "", "priority": "" } } ``` ### AlertDetails - **Type:** **Example:** ### UpdateIntegrationRequest - **Type:** **Example:** ### DefaultIntegrationResponse - **Type:**`object` * **`is_default` (required)** `object` * **`name` (required)** `string` * **`plugin_id` (required)** `string` * **`uid` (required)** `string` **Example:** ``` { "uid": "", "name": "", "plugin_id": "", "is_default": true } ``` ### CreateIntegrationRequest - **Type:** **Example:** ### CommunicationIntegration - **Type:**`object` * **`config` (required)** `object` * **`created_at` (required)** `string`, format: `date-time` * **`is_default` (required)** `object` * **`name` (required)** `string` * **`org_uid` (required)** `object` * **`plugin_id` (required)** `string` * **`uid` (required)** `string` * **`updated_at` (required)** `string`, format: `date-time` **Example:** ``` { "uid": "", "org_uid": "", "name": "", "plugin_id": "", "config": "", "is_default": true, "created_at": "", "updated_at": "" } ``` ### UpdateCommunicationRuleRequest - **Type:**`object` * **`is_default` (required)** `boolean` * **`name` (required)** `string` * **`routines` (required)** `array` **Items:** **All of:** - **`action` (required)** `string` - **`integration_uid` (required)** `string` * **`call_actions`** `object` * **`conditions`** `object` * **`delay_seconds`** `object` * **`enabled`** `boolean` * **`respect_conditions`** `object` **Example:** ``` { "name": "", "is_default": true, "routines": [ { "integration_uid": "", "action": "", "enabled": true, "call_actions": [ "repeat" ], "delay_seconds": -2147483648, "respect_conditions": { "options": "all", "not": true }, "conditions": [ { "schema_uid": "", "field": "", "operator": "", "value": "", "is_not": true, "is_priority": true } ] } ] } ``` ### CreateCommunicationRuleRequest - **Type:**`object` * **`name` (required)** `string` * **`is_default`** `boolean` * **`routines`** `array` **Items:** **All of:** - **`action` (required)** `string` - **`integration_uid` (required)** `string` * **`call_actions`** `object` * **`conditions`** `object` * **`delay_seconds`** `object` * **`enabled`** `boolean` * **`respect_conditions`** `object` **Example:** ``` { "name": "", "is_default": true, "routines": [ { "integration_uid": "", "action": "", "enabled": true, "call_actions": [ "repeat" ], "delay_seconds": -2147483648, "respect_conditions": { "options": "all", "not": true }, "conditions": [ { "schema_uid": "", "field": "", "operator": "", "value": "", "is_not": true, "is_priority": true } ] } ] } ``` ### CommunicationRule - **Type:**`object` * **`created_at` (required)** `string`, format: `date-time` * **`is_default` (required)** `object` * **`name` (required)** `string` * **`org_uid` (required)** `string` * **`uid` (required)** `string` * **`updated_at` (required)** `string`, format: `date-time` **Example:** ``` { "uid": "", "org_uid": "", "name": "", "is_default": true, "created_at": "", "updated_at": "" } ``` ### UpdateIncidentRequest - **Type:**`object` * **`acknowledged_at` (required)** `object` * **`closed_at` (required)** `object` * **`description` (required)** `object` * **`detected_at` (required)** `object` * **`mitigated_at` (required)** `object` * **`mttr_override_note` (required)** `object` * **`priority` (required)** `string` * **`resolved_at` (required)** `object` * **`started_at` (required)** `object` * **`status` (required)** `object` * **`title` (required)** `string` **Example:** ``` { "title": "", "description": "", "status": "open", "priority": "", "detected_at": "", "started_at": "", "acknowledged_at": "", "mitigated_at": "", "resolved_at": "", "closed_at": "", "mttr_override_note": "" } ``` ### UpsertIncidentPostmortemRequest - **Type:**`object` * **`markdown` (required)** `string` **Example:** ``` { "markdown": "" } ``` ### IncidentPostmortem - **Type:** **Example:** ### IncidentActionExecution - **Type:** **Example:** ### UpdateIncidentActionRequest - **Type:** **Example:** ### CreateIncidentActionRequest - **Type:** **Example:** ### IncidentActionDefinition - **Type:** **Example:** ### Incident - **Type:** **Example:** ### IncidentMetrics - **Type:**`object` * **`mtta_seconds` (required)** `object` * **`mttd_seconds` (required)** `object` * **`mttr_is_overridden` (required)** `boolean` * **`mttr_override_note` (required)** `object` * **`mttr_override_updated_at` (required)** `object` * **`mttr_seconds` (required)** `object` * **`mttr_source` (required)** `object` * **`computed_mttr_seconds`** `object` * **`mttm_seconds`** `object` **Example:** ``` { "mtta_seconds": 1, "mttd_seconds": 1, "mttr_seconds": 1, "mttr_is_overridden": true, "mttr_override_note": "", "mttr_override_updated_at": "", "mttr_source": "computed", "computed_mttr_seconds": 1, "mttm_seconds": 1 } ``` ### CreateIncidentRequest - **Type:**`object` * **`description`** `object` * **`incident_alert_schema_token`** `string` * **`incident_alert_schema_uid`** `string` * **`labels`** `object` * **`priority`** `string` * **`status`** `object` * **`title`** `string` **Example:** ``` { "title": "", "description": "", "status": "open", "priority": "", "labels": { "propertyName*": "" }, "incident_alert_schema_token": "", "incident_alert_schema_uid": "" } ``` ### CreateIncidentFromAlertRequest - **Type:**`object` * **`description`** `object` * **`incident_alert_schema_token`** `string` * **`labels`** `object` * **`priority`** `string` * **`status`** `object` * **`title`** `string` **Example:** ``` { "title": "", "description": "", "status": "open", "priority": "", "labels": { "propertyName*": "" }, "incident_alert_schema_token": "" } ``` ### IncidentDetails - **Type:** **Example:** ### IncidentEvent - **Type:** **Example:** ### IncidentResponder - **Type:** **Example:**