Constraints
A law, policy, jurisdiction, posture, ethical boundary, or funding limit that governs what the operation can and cannot do. Constraints are not afterthoughts — they are operational parameters.
The Constraint object
Constraint
{
"id": "con_mno345",
"operation_id": "op_abc123",
"type": "jurisdiction",
"description": "Operation subject to Singapore MAS regulations",
"scope": "all_transitions",
"enforced": true,
"created_at": "2025-01-15T09:15:00Z",
"metadata": {
"regulation": "MAS Notice PSN02",
"jurisdiction": "SG"
}
}| Parameter | Type | Description |
|---|---|---|
id | string | Unique identifier. Prefixed with con_ |
operation_idrequired | string | The operation this constraint applies to |
typerequired | string | Constraint classification |
descriptionrequired | string | Human-readable description |
scope | string | What the constraint applies to |
enforced | boolean | Whether the constraint is actively enforced by the API |
created_at | datetime | ISO 8601 timestamp |
metadata | object | Arbitrary key-value pairs |
Constraint types
jurisdictionregulationpolicyethical_boundaryfunding_limittime_limitaccess_restriction
Endpoints
Add a constraint
POST
/v1/operations/:id/constraintsTypeScript
const constraint = await md.constraints.create("op_abc123", {
type: "jurisdiction",
description: "Operation subject to Singapore MAS regulations",
scope: "all_transitions",
enforced: true,
metadata: {
regulation: "MAS Notice PSN02",
jurisdiction: "SG",
},
});List constraints
GET
/v1/operations/:id/constraintsUpdate a constraint
PATCH
/v1/constraints/:id