---
title: "Segregation-of-Duties Matrix Checker"
method: POST
path: "/v1/tools/check_sod_matrix"
tags: ["TODO_TAGS_REVIEW", "TODO_AP2_EXPORT_REVIEW"]
---

# Segregation-of-Duties Matrix Checker

`POST /v1/tools/check_sod_matrix`

## Request

- Base URL: `https://ainumbers.co`
- URL: `https://ainumbers.co/v1/tools/check_sod_matrix`
- Auth: none declared

Evaluates a caller-declared role-assignment set against a caller-declared SoD conflict ruleset for SOX 404 / ICFR access controls. For every user, checks all pairs of assigned roles against the ruleset and returns any conflicts found, the count of affected users, and a clean/not-clean verdict. The ruleset is a versioned policy input, never derived by the kernel. Deterministic pairwise set evaluation only. Zero network, zero PII -- user_id and role names are caller-supplied opaque strings.

**Tool URL:** https://ainumbers.co/chaingraph/art-459-sod-matrix-check.html

## Request body

- object
  - `assignments` unknown[], required
    - unknown
  - `conflict_ruleset` unknown[], required
    - unknown
  - `ruleset_version` unknown, required

## Response `200`

Successful tool execution result

- object
  - `clean` boolean
  - `conflict_count` integer
  - `conflict_rules_evaluated` integer
  - `conflicts` unknown[]
    - unknown
  - `ruleset_version` string
  - `users_evaluated` integer
  - `users_with_conflicts` integer

---

[API](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite.md) · [All operations](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/llms.txt) · [OpenAPI document](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/revisions/b462e4f5bb28?raw)
