Alerts

Available webhook types: alert.created, alert.updated

Here's a JSON Schema that describes the available alerts webhooks:

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Alert Audit Event Schemas",
  "description": "JSON schemas for Alert audit events (Created and Updated)",
  "definitions": {
    "AlertPriority": {
      "type": "string",
      "enum": ["LOW", "MEDIUM", "HIGH"],
      "description": "Priority level of the alert"
    },
    "AlertCategory": {
      "type": "string",
      "enum": [
        "KYC",
        "KYB", 
        "TRANSACTION_MONITORING",
        "ONCHAIN_TRANSACTION_MONITORING",
        "SCREENING",
        "FRAUD",
        "PERIODIC_REVIEW",
        "EDD",
        "OTHER"
      ],
      "description": "Category of the alert"
    },
    "AlertStatus": {
      "type": "string",
      "enum": ["NEW", "IN_REVIEW", "ESCALATED", "RESOLVED"],
      "description": "Current status of the alert"
    },
    "AlertSourceDto": {
      "type": "object",
      "description": "Source information for the alert",
      "properties": {
        "vendor": {
          "type": "string",
          "description": "The vendor that generated the alert",
          "example": "CHAINALYSIS"
        },
        "vendorAlertId": {
          "type": "string",
          "description": "The ID of the alert in the vendor system",
          "example": "CHAIN-123"
        },
        "vendorData": {
          "type": "object",
          "additionalProperties": true,
          "description": "Additional data provided by the vendor",
          "example": {
            "riskScore": 85,
            "category": "high_risk_jurisdiction"
          }
        },
        "link": {
          "type": "string",
          "format": "uri",
          "description": "Link to the alert details in the vendor system",
          "example": "https://vendor.com/alerts/CHAIN-123"
        }
      }
    },
    "AlertCustomFieldDataDto": {
      "type": "object",
      "description": "Custom field data for alerts",
      "required": ["label", "value"],
      "properties": {
        "label": {
          "type": "string",
          "description": "The label of the custom field",
          "example": "Custom Field 1"
        },
        "value": {
          "oneOf": [
            {"type": "string"},
            {"type": "number"},
            {"type": "boolean"}
          ],
          "description": "Value of the custom field. Can be string, number, or boolean",
          "example": "1000000"
        }
      }
    },
    "AlertStatusData": {
      "type": "object",
      "description": "Status history entry for an alert",
      "required": ["status", "evaluatedAt", "evaluatedBy"],
      "properties": {
        "status": {
          "$ref": "#/definitions/AlertStatus"
        },
        "evaluatedAt": {
          "type": "string",
          "format": "date-time",
          "description": "ISO Date when the alert was evaluated",
          "example": "2021-01-01T00:00:00.000Z"
        },
        "evaluatedBy": {
          "type": "string",
          "format": "uuid",
          "description": "The ID of the user who evaluated the alert",
          "example": "123e4567-e89b-12d3-a456-426614174000"
        },
        "reason": {
          "type": "string",
          "description": "Reason for the status change"
        },
        "subStatus": {
          "type": "string",
          "description": "Sub-status information"
        },
        "attachmentIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Array of attachment IDs related to this status change"
        }
      }
    },
    "AssociatedTransactionDto": {
      "type": "object",
      "description": "Reference to an associated transaction",
      "required": ["id"],
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "description": "The ID of the transaction",
          "example": "123e4567-e89b-12d3-a456-426614174000"
        },
        "referenceId": {
          "type": "string",
          "description": "The reference ID of the transaction",
          "example": "TX-123"
        }
      }
    },
    "AssociatedClientDto": {
      "type": "object",
      "description": "Reference to an associated client",
      "required": ["id"],
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "description": "The ID of the client",
          "example": "123e4567-e89b-12d3-a456-426614174000"
        },
        "referenceId": {
          "type": "string",
          "description": "The reference ID of the client",
          "example": "CL-123"
        }
      }
    },
    "AlertDecisionDto": {
      "type": "object",
      "description": "Decision information for the alert",
      "properties": {
        "reason": {
          "type": "string",
          "description": "Reason for the decision",
          "example": "The alert was decided due to..."
        },
        "attachmentIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Attachment IDs for the decision",
          "example": ["123e4567-e89b-12d3-a456-426614174000"]
        }
      }
    },
    "AlertDto": {
      "type": "object",
      "description": "Complete Alert entity",
      "required": [
        "id",
        "category",
        "priority", 
        "status",
        "description",
        "raisedAt",
        "source",
        "statusHistory",
        "associatedTransactions",
        "associatedClients",
        "createdAt",
        "updatedAt"
      ],
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "description": "The ID of the alert",
          "example": "123e4567-e89b-12d3-a456-426614174000"
        },
        "referenceId": {
          "type": "string",
          "description": "The reference ID of the alert",
          "example": "CHAIN-123"
        },
        "assigneeId": {
          "type": "string",
          "format": "uuid",
          "description": "The ID of the assignee of the alert",
          "example": "123e4567-e89b-12d3-a456-426614174000"
        },
        "category": {
          "$ref": "#/definitions/AlertCategory"
        },
        "priority": {
          "$ref": "#/definitions/AlertPriority"
        },
        "status": {
          "$ref": "#/definitions/AlertStatus"
        },
        "description": {
          "type": "string",
          "description": "The description of the alert",
          "example": "This is a description of the alert"
        },
        "raisedAt": {
          "type": "string",
          "format": "date-time",
          "description": "ISO Date when the alert was raised",
          "example": "2021-01-01T00:00:00.000Z"
        },
        "source": {
          "$ref": "#/definitions/AlertSourceDto"
        },
        "customFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/AlertCustomFieldDataDto"
          },
          "description": "The custom fields of the alert",
          "example": {
            "customField1": {
              "label": "Custom Field 1",
              "value": "Value 1"
            }
          }
        },
        "statusHistory": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AlertStatusData"
          },
          "description": "The status history of the alert"
        },
        "associatedTransactions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AssociatedTransactionDto"
          },
          "description": "The transactions associated with the alert"
        },
        "associatedClients": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AssociatedClientDto"
          },
          "description": "The clients associated with the alert"
        },
        "createdAt": {
          "type": "string",
          "format": "date-time",
          "description": "ISO Date when the alert was created",
          "example": "2021-01-01T00:00:00.000Z"
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time",
          "description": "ISO Date when the alert was updated",
          "example": "2021-01-01T00:00:00.000Z"
        },
        "attachmentIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The attachment IDs associated with the alert"
        }
      }
    },
    "UpdateAlertDto": {
      "type": "object",
      "description": "Fields that can be updated in an alert",
      "properties": {
        "priority": {
          "$ref": "#/definitions/AlertPriority"
        },
        "assigneeId": {
          "type": "string",
          "format": "uuid",
          "description": "UUID of the user assigned to handle this alert",
          "example": "123e4567-e89b-12d3-a456-426614174000"
        },
        "category": {
          "$ref": "#/definitions/AlertCategory"
        },
        "status": {
          "$ref": "#/definitions/AlertStatus"
        },
        "source": {
          "$ref": "#/definitions/AlertSourceDto"
        },
        "decision": {
          "$ref": "#/definitions/AlertDecisionDto"
        },
        "customFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/AlertCustomFieldDataDto"
          },
          "description": "Custom fields data",
          "example": {
            "customField1": {
              "label": "Alert Note",
              "value": "Suspicious pattern detected"
            }
          }
        }
      }
    }
  },
  "oneOf": [
    {
      "title": "Alert Created Audit Event",
      "description": "Audit event payload for when an alert is created",
      "type": "object",
      "required": ["id", "entity"],
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "description": "The ID of the alert",
          "example": "123e4567-e89b-12d3-a456-426614174000"
        },
        "referenceId": {
          "type": "string",
          "description": "The reference ID of the alert",
          "example": "CHAIN-123"
        },
        "entity": {
          "$ref": "#/definitions/AlertDto",
          "description": "The complete alert entity that was created"
        }
      },
      "additionalProperties": false,
      "examples": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "referenceId": "ALT-001",
          "entity": {
            "id": "123e4567-e89b-12d3-a456-426614174000",
            "referenceId": "ALT-001",
            "assigneeId": "456e7890-f12b-34c5-d678-901234567890",
            "category": "TRANSACTION_MONITORING",
            "priority": "HIGH",
            "status": "NEW",
            "description": "Suspicious transaction pattern detected",
            "raisedAt": "2023-08-15T10:30:00Z",
            "source": {
              "vendor": "CHAINALYSIS",
              "vendorAlertId": "CHAIN-123",
              "link": "https://vendor.com/alerts/CHAIN-123"
            },
            "customFields": {
              "riskScore": {
                "label": "Risk Score",
                "value": 85
              }
            },
            "statusHistory": [
              {
                "status": "NEW",
                "evaluatedAt": "2023-08-15T10:30:00Z",
                "evaluatedBy": "456e7890-f12b-34c5-d678-901234567890"
              }
            ],
            "associatedTransactions": [
              {
                "id": "789e0123-f45b-67c8-d901-234567890123",
                "referenceId": "TX-001"
              }
            ],
            "associatedClients": [
              {
                "id": "012e3456-f78b-90c1-d234-567890123456",
                "referenceId": "CL-001"
              }
            ],
            "createdAt": "2023-08-15T10:30:00Z",
            "updatedAt": "2023-08-15T10:30:00Z",
            "attachmentIds": ["345e6789-f01b-23c4-d567-890123456789"]
          }
        }
      ]
    },
    {
      "title": "Alert Updated Audit Event",
      "description": "Audit event payload for when an alert is updated",
      "type": "object",
      "required": ["id", "updated"],
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "description": "The ID of the alert",
          "example": "123e4567-e89b-12d3-a456-426614174000"
        },
        "referenceId": {
          "type": "string",
          "description": "The reference ID of the alert",
          "example": "CHAIN-123"
        },
        "updated": {
          "$ref": "#/definitions/UpdateAlertDto",
          "description": "The fields that were updated in the alert"
        },
        "previousValues": {
          "type": "object",
          "description": "The previous values of the updated fields",
          "additionalProperties": true
        }
      },
      "additionalProperties": false,
      "examples": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "referenceId": "ALT-001",
          "updated": {
            "status": "IN_REVIEW",
            "assigneeId": "789e0123-f45b-67c8-d901-234567890123",
            "priority": "MEDIUM"
          },
          "previousValues": {
            "status": "NEW",
            "assigneeId": "456e7890-f12b-34c5-d678-901234567890",
            "priority": "HIGH"
          }
        },
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "referenceId": "ALT-001", 
          "updated": {
            "status": "RESOLVED",
            "decision": {
              "reason": "False positive - legitimate transaction",
              "attachmentIds": ["567e8901-f23b-45c6-d789-012345678901"]
            }
          },
          "previousValues": {
            "status": "IN_REVIEW"
          }
        }
      ]
    }
  ]
}