---
title: "Create introducing broker"
method: POST
path: "/api-regulated/v1/introducing-brokers"
tags: ["IntroducingBroker"]
---

# Create introducing broker

`POST /api-regulated/v1/introducing-brokers`

## Request

- Base URL: `https://api.currencyguard.com`
- URL: `https://api.currencyguard.com/api-regulated/v1/introducing-brokers`
- Auth: OAuth 2 (implicit, authorization URL `https://auth.currencyguard.com/oauth2/authorize`, scopes: `regulated.parties.canModifyIntroducingBroker`)

Creates an introducing broker under the authenticated user's regulated entity, along with its Cognito user pools. The broker joins the regulated entity's tenant perimeter; giving it one of its own is a separate, deliberate operation.

**Required entitlement:** `regulated.parties.canModifyIntroducingBroker`  
_Entitles the regulated user to create and update introducing broker records within their regulated entity_

## Request body

- IntroducingBrokerDTOCreate: Schema for representing a IntroducingBroker
  - `regulatedEntityId` string, uuid: The ID of the regulated entity this introducing broker belongs to.
  - `piiData` IntroducingBrokerDTOCreatePiiData: **Extensible JSONB field** - The PII data for this introducing broker as JSONB (includes name, contact info, auth email domains). This field accepts any valid JSON structure and can be extended with additional properties as needed. Note: While the structure is extensible, known fields shown in the example are subject to application validation.
  - `oauthPoolId` string, uuid: The OAuth pool this broker's own staff authenticate against.
  - `customerOauthPoolId` string, uuid: The OAuth pool the customers of this broker's companies authenticate against.
  - `salesAuthSubdomain` string: Optional DNS label for the SALES pool's hosted-UI domain. Blank derives an opaque default; a value here is published in DNS and CT logs and cannot be changed later.
  - `customerAuthSubdomain` string: Optional DNS label for the CUSTOMER pool's hosted-UI domain. Blank derives an opaque default.
  - `totpIssuer` string: Optional name shown in authenticator apps for this broker's users, on both pools. Blank uses the environment default (CurrencyGuard).

## Response `200`

OK

---

[API](https://skmtc.dev/currencyguard/apis/currencyguard-trading-system-api-external.md) · [All operations](https://skmtc.dev/currencyguard/apis/currencyguard-trading-system-api-external/llms.txt) · [OpenAPI document](https://skmtc.dev/currencyguard/apis/currencyguard-trading-system-api-external/revisions/a1f3f854190d?raw)
