Active Monitoring API

Use the Active Monitoring endpoints of the Coordinator API to set up monitoring, run it, and read its decisions without the Platform UI. This page lists the endpoints by task and explains which identifier goes where. For request and response schemas, see the Coordinator API Reference, where these endpoints appear under the Active Monitoring tags.

Authentication and base URL

Active Monitoring endpoints share the host, base URL, and API key of the rest of the Coordinator API. All paths on this page are relative to https://ace.api.chain.link/v1. Pass your API key in the Authorization header:

curl https://ace.api.chain.link/v1/active-monitoring/contract-groups \
  -H "Authorization: Apikey <API_KEY>"

Endpoints by task

TaskMethod and pathGuide
Store, check, or remove the TRM API keyPOST /active-monitoring/provider-api-keysConfigure Screening
GET /active-monitoring/provider-api-keys/{screening_provider}
DELETE /active-monitoring/provider-api-keys/{screening_provider}
Set, read, or remove the screening intervalPOST, GET, DELETE /active-monitoring/screening-intervalConfigure Screening
Start or stop screeningPOST /active-monitoring/screening-interval/startConfigure Screening
POST /active-monitoring/screening-interval/stop
Register or list monitored tokensPOST, GET /active-monitoring/contract-groupsManage Monitored Tokens
Get one monitored tokenGET /active-monitoring/contract-groups/{contract_group_id}Manage Monitored Tokens
List the action variables for a ruleGET /active-monitoring/action-variablesConfigure Monitoring Rules
Create or list monitoring rulesPOST, GET /active-monitoring/rule-groupsConfigure Monitoring Rules
Get or archive a monitoring ruleGET, PATCH /active-monitoring/rule-groups/{rule_group_id}Configure Monitoring Rules
Add or list watchlist addressesPOST, GET /active-monitoring/monitored-addressesManage the Watchlist
List decisionsGET /active-monitoring/decision-logsReview Decisions
Get a decisionGET /active-monitoring/decision-logs/{decision_log_id}Review Decisions

Resolving and enforcing a flagged decision are not available with an API key: they require a signed-in user. Use the Platform UI. See Review Decisions.

The API uses the names contract group for a monitored token, rule group for a monitoring rule, monitored address for a watchlist address, and decision log for a decision.

Identifiers to carry between requests

Several requests need an identifier returned by an earlier one.

You needWhere it comes fromWhere you use it
group_id of the monitored tokenResponse of POST /contract-groups. It equals the id of the primary contract.contract_group_id when you create a monitoring rule
id of a contractcontracts[].id in the monitored token responsecontract_id in an enforced action, and in a balance condition (the primary contract)
func_id of a functioncontracts[].functions[].func_id in the monitored token responseadmin_function_id in an enforced action
id of a monitoring ruleResponse of POST /rule-groupsrule_group_id to get or archive the rule
id of a decisiondecision_logs[].id in the list responsedecision_log_id to get the decision
registry_idid of an identity registryregistry_id when you import a watchlist from a registry

Status codes

Errors return a JSON body with error and message.

StatusWhen
400The request is invalid. For example, a network has no created CRE Connect Wallet, a rule does not cover an ABI argument, or POST /screening-interval/start is called before a prerequisite is met.
401The API key is missing or invalid.
404The resource does not exist, or a contract_group_id is the id of an associated contract.
409The resource already exists: a token address on a network, an address on the watchlist, or a second active rule on one token. Also returned when POST /screening-interval/stop is called while a screening run is executing.

Start screening returns 400 until a screening interval, a TRM API key, an active monitoring rule, and at least one watchlist address exist.

Get the latest Chainlink content straight to your inbox.