SettleMint
Developer guidesAPI integration

Compliance modules API

List, register, and uninstall system compliance modules through the DALP API.

Compliance module endpoints manage the modules registered in the system compliance engine. Use them when an integration needs to inspect the active module set, register modules after setup, or uninstall a module that should no longer be part of system-level compliance evaluation.

For reusable asset creation policies, use Compliance templates. Templates decide which controls an asset should use. Compliance module endpoints manage the system-level module registry those controls depend on.

Endpoints

EndpointUse it for
GET /api/v2/system/compliance-modulesList registered system compliance modules with pagination, sorting, and filters.
POST /api/v2/system/compliance-modulesRegister all available modules, one module type, or a list of module types.
DELETE /api/v2/system/compliance-modulesUninstall one compliance module from the system compliance engine.

List responses use the DALP collection envelope with data, meta, and links. Register and uninstall responses return an asynchronous blockchain mutation response for the system.

List registered modules

curl --globoff "$DALP_API_URL/api/v2/system/compliance-modules?page[limit]=20&sort=name" \
  --header "X-Api-Key: $DALP_API_TOKEN"

Each item includes:

FieldDescription
idComposite compliance module id built from the registry and module address.
moduleCompliance module contract address.
typeIdCompliance module type id.
nameModule name from indexed system state.
globalConfigsDecoded global configuration parameters for that module.

You can filter by module, name, or typeId. The name and typeId fields are facetable, so clients can build picker filters from the returned meta.facets object.

globalConfigs is returned for display and review. It is not a filter field.

Register modules

Register every available module by sending "all":

curl --request POST \
  "$DALP_API_URL/api/v2/system/compliance-modules" \
  --header "X-Api-Key: $DALP_API_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "complianceModules": "all"
  }'

Register one module by type:

{
  "complianceModules": {
    "type": "identity-verification"
  }
}

Register selected modules by sending an array:

{
  "complianceModules": [{ "type": "identity-verification" }, { "type": "country-allow-list" }]
}

DALP resolves implementation addresses from indexed Directory state when you omit implementation. Only send implementation when your deployment uses an approved custom module address for that type.

Uninstall a module

curl --request DELETE \
  "$DALP_API_URL/api/v2/system/compliance-modules" \
  --header "X-Api-Key: $DALP_API_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "module": "0x71C7656EC7ab88b098defB751B7401B5f6d8976F"
  }'

The module value is the contract address of the registered compliance module. Read the module list first when you need the current address.

On this page