---
title: "Client Porting Check"
method: POST
path: "/v1/tools/check_client_porting"
tags: ["TODO_TAGS_REVIEW", "TODO_AP2_EXPORT_REVIEW"]
---

# Client Porting Check

`POST /v1/tools/check_client_porting`

## Request

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

Checks whether a client's cleared positions and collateral are portable to a backup clearing member under a caller-declared porting window, given caller-declared position/collateral completeness and backup-member consent status. Evaluates one caller-supplied snapshot: an empty position set, a missed porting window, and a not-yet-consented backup member each resolve to a distinct, defined not-portable outcome rather than a generic failure. A portable verdict is an evaluation of the supplied snapshot, never a guarantee that porting will in fact occur, and this tool does not itself move any position or collateral. Clause: PFMI Principle 14 (Segregation and Portability), 17 CFR 240.15c3-3a where a broker-dealer customer-protection structure is in view.

**Tool URL:** https://ainumbers.co/chaingraph/art-532-client-porting-check.html

## Request body

- object
  - `backup_member_consent_status` unknown, required
  - `backup_member_id` string, required
  - `client_ref` string, required
  - `collateral` unknown[], required
    - unknown
  - `default_event_at` unknown
  - `evaluated_at` unknown
  - `porting_window_hours` unknown
  - `positions` unknown[], required
    - unknown

## Response `200`

Successful tool execution result

- object
  - `backup_member_consent_status` string
  - `backup_member_id` string
  - `citations` object
    - `customer_protection_segregation` object
      - `id` string
      - `in_force_from` string
      - `mapped_at` string
      - `mapped_by` string
      - `scheme` string
      - `uri` string
    - `segregation_and_portability` object
      - `id` string
      - `in_force_from` string
      - `mapped_at` string
      - `mapped_by` string
      - `scheme` string
      - `uri` string
  - `client_ref` string
  - `collateral` object[]
    - `amount_display` string
    - `amount_minor_units` integer
    - `asset_type` string
    - `collateral_id` string
    - `complete` boolean
    - `currency` string
  - `collateral_complete` boolean
  - `collateral_count` integer
  - `default_event_at` string
  - `elapsed_minutes` integer
  - `evaluated_at` string
  - `note` string
  - `porting_window_hours` integer
  - `position_count` integer
  - `positions` object[]
    - `complete` boolean
    - `currency` string
    - `notional_display` string
    - `notional_minor_units` integer
    - `position_id` string
    - `product_type` string
  - `positions_complete` boolean
  - `rationale` string[]
  - `rejected_inputs` unknown[]
    - unknown
  - `total_collateral_display` string
  - `total_collateral_minor_units` integer
  - `total_notional_display` string
  - `total_notional_minor_units` integer
  - `verdict` string
  - `window_minutes` integer
  - `window_missed` boolean

---

[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)
