Contraforce · Schema
UpdateIncidentStatusRequest
v2 request body for updating an incident's status.
SecuritySoftware-as-a-ServiceCybersecurityMicrosoftMSP
Properties
| Name | Type | Description |
|---|---|---|
| status | object | New status to apply to the incident. |
| comment | nullstring | Optional comment recorded alongside the status change. Recommended when transitioning to Status.Closed. |
| classification | object | |
| classificationReason | object | |
| updateTicket | boolean | When `true`, also closes the linked service ticket identified by string UpdateIncidentStatusRequest.TicketId. |
| ticketId | nullstring | Linked service ticket id; required when bool UpdateIncidentStatusRequest.UpdateTicket is `true`. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/contraforce/json-schema/contraforce-update-incident-status-request-schema.json",
"title": "UpdateIncidentStatusRequest",
"description": "v2 request body for updating an incident's status.",
"x-generated": "2026-11-04",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/contraforce-incidents-api-openapi.yml#/components/schemas/UpdateIncidentStatusRequest",
"required": [
"status"
],
"type": "object",
"properties": {
"status": {
"description": "New status to apply to the incident.",
"$ref": "#/$defs/Status"
},
"comment": {
"type": [
"null",
"string"
],
"description": "Optional comment recorded alongside the status change. Recommended when\ntransitioning to Status.Closed."
},
"classification": {
"oneOf": [
{
"type": "null"
},
{
"description": "Required when `status` is `Closed` for sources that support classifications\n(`Sentinel`, `DefenderXDR`, `SentinelOne`, `CrowdStrike`, `SumoLogic`);\nnot required for other sources, but recorded in ContraForce when supplied. One of\n`TruePositive`, `FalsePositive`, `BenignPositive`, or `Undetermined`; it\ndetermines which `classificationReason` values are accepted.",
"$ref": "#/$defs/Classification"
}
]
},
"classificationReason": {
"oneOf": [
{
"type": "null"
},
{
"description": "Required whenever `classification` is set for a source that supports classifications,\nand must belong to it:\n`TruePositive`: `MultistagedAttack`, `Malware`, `MaliciousUserActivity`, `UnwantedSoftware`, `Phishing`, `CompromisedUser`, `Apt`, `SuspiciousActivity`, `Other`.\n`FalsePositive`: `NotMalicious`, `NoEnoughDataToValidate`, `InaccurateData`, `IncorrectAlertLogic`, `Other`.\n`BenignPositive`: `SecurityTesting`, `ConfirmedUserActivity`, `LineOfBusinessApplication`, `SecurityPersonnel`, `SuspiciousButExpected`, `Other`.\n`Undetermined`: `Unknown`, `Other`.\nA reason outside the classification's list returns `400 VALIDATION_ERROR`.",
"$ref": "#/$defs/ClassificationReason"
}
]
},
"updateTicket": {
"type": "boolean",
"description": "When `true`, also closes the linked service ticket identified by\nstring UpdateIncidentStatusRequest.TicketId."
},
"ticketId": {
"type": [
"null",
"string"
],
"description": "Linked service ticket id; required when bool UpdateIncidentStatusRequest.UpdateTicket is `true`."
}
},
"$defs": {
"Classification": {
"enum": [
"BenignPositive",
"FalsePositive",
"TruePositive",
"Undetermined",
null
]
},
"ClassificationReason": {
"enum": [
"InaccurateData",
"IncorrectAlertLogic",
"SuspiciousActivity",
"SuspiciousButExpected",
"Unknown",
"Apt",
"Malware",
"SecurityPersonnel",
"SecurityTesting",
"UnwantedSoftware",
"Other",
"MultistagedAttack",
"CompromisedUser",
"Phishing",
"MaliciousUserActivity",
"NotMalicious",
"NoEnoughDataToValidate",
"ConfirmedUserActivity",
"LineOfBusinessApplication",
null
]
},
"Status": {
"enum": [
"Active",
"New",
"Closed",
"OnHold",
"WaitingOnCustomer"
]
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/contraforce-update-incident-status-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.