Axiomatic

Anomalies

AI-powered anomaly detection flags suspicious patterns in financial data. Anomalies are detected by a background scan (daily via Inngest) and on-demand via the API.

Detection Rules

Rule CodeSeverityDescription
DUPLICATE_TRANSACTIONMEDIUMSame amount, date, and counterparty across multiple unmatched transactions
UNUSUAL_AMOUNTMEDIUM–HIGHTransaction amount exceeds 3+ standard deviations from the mean
NEGATIVE_ASSET_BALANCEHIGHAsset account has a negative balance (possible misclassification)
DEBIT_LIABILITY_BALANCEMEDIUMLiability account has a debit balance
ROUND_NUMBER_PATTERNLOW>50% of recent transactions are exact round numbers >$100
WEEKEND_LARGE_TRANSACTIONLOWLarge transactions (>$10k) occurring on weekends
VELOCITY_SPIKEMEDIUMTransaction volume 3x+ higher than historical average

Review Workflow

  1. OPEN — newly detected, awaiting review
  2. REVIEWED — acknowledged, under investigation
  3. DISMISSED — false positive, no action needed
  4. RESOLVED — root cause identified and corrected

List anomaly flags for an entity

GET
/api/anomalies
x-api-key<token>

API key for programmatic access

In: header

Query Parameters

entityId*string
Formatuuid
status?string
Value in"OPEN" | "REVIEWED" | "DISMISSED" | "RESOLVED"
severity?string
Value in"LOW" | "MEDIUM" | "HIGH" | "CRITICAL"
limit?integer
Default50
offset?integer
Default0

Response Body

application/json

application/json

application/json

curl -X GET "https://app.axiomatic.software/api/anomalies?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
{
  "flags": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
      "ruleCode": "DUPLICATE_TRANSACTION",
      "severity": "LOW",
      "status": "OPEN",
      "title": "string",
      "description": "string",
      "details": {},
      "amount": "string",
      "currency": "string",
      "sourceTransactionId": "6ad9e2ad-9fbe-4a37-98e5-be515b1f31a2",
      "sourceEventId": "c9fd07bb-ecbc-4a1a-bbf5-96fb6da0bdbb",
      "sourceJournalEntryId": "36ba5c65-fe8a-42af-90b8-f584cc4a0b55",
      "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
      "reviewedAt": "2019-08-24T14:15:22Z",
      "reviewedBy": "string",
      "reviewNote": "string",
      "detectedAt": "2019-08-24T14:15:22Z",
      "createdAt": "2019-08-24T14:15:22Z"
    }
  ],
  "total": 0,
  "summary": [
    {}
  ]
}
{
  "error": "string"
}
{
  "error": "string"
}

Scan for anomalies or review/dismiss/resolve flags

POST
/api/anomalies
x-api-key<token>

API key for programmatic access

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://app.axiomatic.software/api/anomalies" \  -H "Content-Type: application/json" \  -d '{    "action": "scan",    "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5"  }'
{}
{
  "error": "string"
}
{
  "error": "string"
}

On this page