Compliance Monitoring API (CMaaS)

Base URL: https://api.techcompass.com.au. Register entity watchlists once; receive webhook alerts whenever a monitored entity changes across ASIC, ABR, OFAC, FSANZ and more.

Professional tier required. All CMaaS endpoints require a Professional, Professional+, or Enterprise tier API key. See pricing page for add-on details. Upgrade to Professional or Professional+.

How It Works

Compliance Monitoring as a Service (CMaaS) is an automated compliance monitoring tool that runs on top of all Tech Compass data pipelines. As a continuous watchlist monitoring service, it removes the need to poll individual APIs for changes: register entities once and receive webhook alerts whenever a monitored entity changes across sanctions, company registry, and food recall data.

The CMaaS detection job polls each data source on its own schedule (ASIC daily, ABR hourly, OFAC daily, FSANZ every 2 hours) and compares each entity's current state against the last snapshot. On any change, it writes an alert and fires a signed webhook to your configured endpoint.

Data flow

1. POST /v1/monitoring/watchlists            — create a named watchlist
2. POST .../watchlists/{id}/items            — add entities to monitor
3. PUT  .../watchlists/{id}/webhook          — configure your alert endpoint
4. [Tech Compass runs change detection]
5. GET  /v1/monitoring/alerts                — poll for alerts, or receive webhook POSTs

Authentication

All endpoints require a Professional tier API key in the Authorization header:

Authorization: ApiKey tc_live_<your_key>

Entity limits

TierEntities includedAdditional entities
Professional base100500 per additional block — see pricing
EnterpriseUnlimitedContact sales
Entity limit enforcement: Adding an item that would exceed your entity limit returns HTTP 403 with {"error": "Watchlist entity limit reached", "limit": 100, "current_count": 100, "upgrade_url": "/billing/upgrade-to-professional-plus"}. To purchase additional entity blocks, call POST /billing/add-on/p8_cmaas/entities?blocks=N.

Key Concepts

Watchlists

A watchlist is a named group of entities. You can create multiple watchlists to organise monitoring by customer segment, product, or team. Each watchlist has its own webhook configuration.

Items

Each item in a watchlist is a single entity identified by an identifier_type and identifier_value (e.g. abn + 51 824 753 556). Items specify which products_monitored apply — you can monitor the same ABN for ASIC status changes, ABR status changes, and FSANZ recalls independently.

Snapshots

When the detection job first encounters an item, it captures a snapshot of the current state. On each subsequent run it compares the new state against the snapshot. Only actual changes trigger alerts — polling noise from unchanged data generates no alerts.

Alerts

An alert is created when a monitored entity's state changes. Each alert has a severity (high, medium, low), a product_event_type (e.g. asic_status), and a changed_fields list describing what changed. Alerts remain until acknowledged.


Event Types

Event typeData sourceDetection frequency
asic_statusASIC Company RegisterDaily
abr_statusABR (Australian Business Register)Hourly
ofac_sdnUS Treasury OFAC SDN ListDaily
fsanz_recallFSANZ Food RecallsEvery 2 hours
tga_artg_statusTGA ARTG RegisterComing soon
tga_safety_alertTGA Safety AlertsComing soon

Identifier Types

Identifier typeExampleData region
abn51 824 753 556australia-southeast1
acn123 456 789australia-southeast1
fsanz_recall_idFSANZ-2024-0012australia-southeast1
tga_artg_number123456australia-southeast1
ein12-3456789us-central1
leiHWUPKR0MPOU8FGXBT394us-central1

The data_region is set automatically based on the identifier type and determines which regional database stores snapshots and alerts for that item.


Watchlist Endpoints

POST /v1/monitoring/watchlists

Create a named watchlist.

FieldTypeRequiredDescription
namestringNoHuman-readable name for this watchlist
curl -X POST "https://api.techcompass.com.au/v1/monitoring/watchlists" \
  -H "Authorization: ApiKey tc_live_<your_key>" \
  -H "Content-Type: application/json" \
  -d '{"name": "Onboarded customers"}'
{
  "watchlist_id": "a1b2c3d4-...",
  "name": "Onboarded customers",
  "created_at": "2026-07-07T10:00:00Z",
  "is_active": true,
  "data_lineage": { ... }
}

GET /v1/monitoring/watchlists

List all watchlists for your API key.

curl "https://api.techcompass.com.au/v1/monitoring/watchlists" \
  -H "Authorization: ApiKey tc_live_<your_key>"

POST /v1/monitoring/watchlists/{watchlist_id}/items

Add an entity to a watchlist. Returns 403 if your entity limit would be exceeded.

FieldTypeRequiredDescription
identifier_typestringYesOne of: abn, acn, ein, lei, fsanz_recall_id, tga_artg_number
entity_identifierstringYesThe entity identifier value
products_monitoredarrayYesList of event types to monitor. See Event Types table.
curl -X POST "https://api.techcompass.com.au/v1/monitoring/watchlists/a1b2c3d4-.../items" \
  -H "Authorization: ApiKey tc_live_<your_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "identifier_type": "abn",
    "entity_identifier": "51824753556",
    "products_monitored": ["asic_status", "abr_status"]
  }'
Gotcha: products_monitored must only include event types compatible with the identifier type — e.g. ofac_sdn requires ein or lei, not abn. Incompatible combinations return HTTP 422.

GET /v1/monitoring/watchlists/{watchlist_id}/items

List all items in a watchlist (active items only — soft-deleted items are excluded).

curl "https://api.techcompass.com.au/v1/monitoring/watchlists/a1b2c3d4-.../items" \
  -H "Authorization: ApiKey tc_live_<your_key>"

DELETE /v1/monitoring/watchlists/{watchlist_id}/items/{item_id}

Soft-delete a watchlist item. The item is deactivated and excluded from future detection runs. Historical alerts are preserved.

curl -X DELETE "https://api.techcompass.com.au/v1/monitoring/watchlists/a1b2c3.../items/d4e5f6..." \
  -H "Authorization: ApiKey tc_live_<your_key>"

PUT /v1/monitoring/watchlists/{watchlist_id}/webhook

Configure or update the webhook endpoint for a watchlist. Upserts on each call.

FieldTypeRequiredDescription
webhook_urlstringYesHTTPS URL to receive alert POSTs
webhook_secretstringNoIf set, payload is signed with HMAC-SHA256 sent in X-TC-Signature: sha256=<hex>
email_fallbackstringNoEmail address for alert delivery if webhook fails 3 times
muted_fieldsarrayNoField names to exclude from change detection (e.g. ["last_updated"])
min_severitystringNoMinimum severity to trigger webhook: low (default), medium, or high
curl -X PUT "https://api.techcompass.com.au/v1/monitoring/watchlists/a1b2c3.../webhook" \
  -H "Authorization: ApiKey tc_live_<your_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "webhook_url": "https://your-app.com/webhooks/tc-alerts",
    "webhook_secret": "your_signing_secret",
    "min_severity": "medium"
  }'
Webhook payload: Each POST contains a JSON body with alert_id, watchlist_id, item_id, product_event_type, severity, changed_fields, and detected_at. Verify the X-TC-Signature header against your secret to authenticate delivery.

Alert Endpoints

GET /v1/monitoring/alerts

List alerts for your account, newest first. Supports filtering and pagination.

ParameterTypeDescription
item_idUUIDFilter to alerts for a specific watchlist item
product_event_typestringFilter by event type (e.g. asic_status)
severitystringFilter: high, medium, or low
from_dateISO 8601Alerts detected on or after this date
to_dateISO 8601Alerts detected on or before this date
limitintMax results to return (1–200, default 50)
offsetintPagination offset (default 0)
curl "https://api.techcompass.com.au/v1/monitoring/alerts?severity=high&limit=20" \
  -H "Authorization: ApiKey tc_live_<your_key>"
{
  "alerts": [
    {
      "alert_id": "f1e2d3c4-...",
      "item_id": "b2c3d4e5-...",
      "product_event_type": "asic_status",
      "alert_severity": "high",
      "changed_fields": {
        "asic_status": { "from": "REGD", "to": "EXAD" }
      },
      "generated_at": "2026-07-07T06:00:00Z",
      "acknowledged_at": null,
      "webhook_delivered_at": null
    }
  ],
  "total": 1,
  "limit": 20,
  "offset": 0,
  "data_lineage": { ... }
}

GET /v1/monitoring/alerts/{alert_id}

Retrieve full detail for a single alert including the complete previous and current state snapshots.

curl "https://api.techcompass.com.au/v1/monitoring/alerts/f1e2d3c4-..." \
  -H "Authorization: ApiKey tc_live_<your_key>"

Errors: 404 if alert_id not found or belongs to another account.

POST /v1/monitoring/alerts/{alert_id}/acknowledge

Mark an alert as acknowledged. Sets acknowledged_at to UTC now. Idempotent — acknowledging an already-acknowledged alert is a no-op.

curl -X POST "https://api.techcompass.com.au/v1/monitoring/alerts/f1e2d3c4-.../acknowledge" \
  -H "Authorization: ApiKey tc_live_<your_key>"

Error Reference

StatusCodeMeaning
401Missing or invalid API key
403CMaaS requires a Professional tier key (plain string detail)
403Watchlist entity limit reachedAdding item would exceed your entity limit; includes limit, current_count, upgrade_url
404Watchlist, item, or alert not found
422Invalid parameters (e.g. unknown event type, incompatible identifier/event combination)
429Monthly API call quota exhausted

Common Use Cases

1. Monitor onboarded customers for ASIC/ABR status changes

Who uses this: Lenders, insurers, and professional services firms with ongoing KYC obligations.

# Add customer to watchlist
curl -X POST ".../v1/monitoring/watchlists/{id}/items" \
  -H "Authorization: ApiKey YOUR_KEY" \
  -d '{
    "identifier_type": "abn",
    "identifier_value": "51 824 753 556",
    "products_monitored": ["asic_status", "abr_status"],
    "label": "Acme Pty Ltd — Customer ID 4421"
  }'
Severity guidance: ASIC status change to EXAD (External Administration) triggers a high severity alert. ABR cancellation triggers medium.

2. OFAC watchlist monitoring for US counterparties

Who uses this: US financial institutions and multinationals with ongoing sanctions compliance obligations.

curl -X POST ".../v1/monitoring/watchlists/{id}/items" \
  -H "Authorization: ApiKey YOUR_KEY" \
  -d '{
    "identifier_type": "ein",
    "identifier_value": "12-3456789",
    "products_monitored": ["ofac_sdn"],
    "label": "Counterparty Corp"
  }'
Gotcha: OFAC SDN detection fires when an EIN or LEI is newly matched against a current SDN entry, or when an existing match is removed. New SDN additions trigger high severity.

3. Food supplier recall alerts

Who uses this: Supermarket chains, food distributors, and insurers with AU food supply chain exposure.

curl -X POST ".../v1/monitoring/watchlists/{id}/items" \
  -H "Authorization: ApiKey YOUR_KEY" \
  -d '{
    "identifier_type": "abn",
    "identifier_value": "88 123 456 789",
    "products_monitored": ["fsanz_recall"],
    "label": "Supplier: Fresh Foods Pty Ltd"
  }'
What to expect: Alerts fire within 2 hours of a new FSANZ recall notice being published for a monitored ABN. Changed fields will include recall_id, hazard_type, and distribution_states.

About this API

What this API does

The Tech Compass Compliance Monitoring API (CMaaS) provides automated entity watchlists with webhook-based change alerts across ASIC, ABR, OFAC, FSANZ and more. Register entities once; receive signed webhook POSTs whenever their regulatory status changes — ASIC deregistrations, ABR cancellations, OFAC SDN additions, or FSANZ recalls. Purpose-built for regulated enterprises with ongoing KYC, AML, and supply chain compliance obligations.

Who uses this API

  • Banks and lenders monitoring customer entities for ongoing KYC/AML obligations
  • Insurers tracking policyholder entity status changes that affect risk
  • Professional services firms (accounting, legal) monitoring client entity health
  • US financial institutions maintaining ongoing OFAC SDN watchlists
  • Food distributors and supermarket chains tracking supplier recall exposure
  • RegTech platforms embedding CMaaS into compliance workflow products

Applicable compliance frameworks

  • APRA CPS 234 — third-party and counterparty monitoring requirements
  • AML/CTF Act (Australia) — ongoing customer due diligence obligations
  • OFAC requirements — ongoing sanctions screening for US-nexus entities
  • AUSTRAC — know-your-customer and transaction monitoring
  • Basel III — counterparty credit risk monitoring

Related APIs