---
title: "Upload introducing broker logo"
method: POST
path: "/api-regulated/v1/introducing-brokers/{id}/logo"
tags: ["IntroducingBroker"]
---

# Upload introducing broker logo

`POST /api-regulated/v1/introducing-brokers/{id}/logo`

## Request

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

Upload a logo for a specific introducing broker within the authenticated regulated user's regulated entity. Returns the updated introducing broker.

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

## Path parameters

- `id` string, uuid, required

## Response `200`

Logo uploaded successfully - returns updated introducing broker

- IntroducingBrokerDTO: Schema for representing a IntroducingBroker
  - `id` string, uuid: The ID for this introducing broker.
  - `regulatedEntityId` string, uuid: The ID of the regulated entity this introducing broker belongs to.
  - `status` 'PENDING' | 'ENABLED' | 'DISABLED' | 'DELETED': The status of this introducing broker.
  - `piiData` IntroducingBrokerDTOPiiData: **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.
  - `perimeterId` string, uuid: The tenant perimeter whose KMS key encrypts this record's PII.
  - `eventSequence` integer: Event sequence number for event sourcing.
  - `versionNumber` integer: The strictly monotonically increasing version number for this record.
  - `updatedBy` string: The username of the person or entity that updated this record.
  - `updatedAt` string: The timestamp of the last update in UTC.
  - `createdAt` string: The timestamp of creation in UTC.

## Other responses

- `400`: Invalid file or request — [`http/malformed-request`](/problems/http/malformed-request/)
- `401`: Not authenticated — [`security/authentication-failed`](/problems/security/authentication-failed/)
- `403`: Not authorized - requires REGULATED role or IB not in your regulated entity — [`security/insufficient-permissions`](/problems/security/insufficient-permissions/)
- `404`: Introducing broker not found — [`http/resource-not-found`](/problems/http/resource-not-found/)
- `413`: File too large (max 500KB) — [`http/payload-too-large`](/problems/http/payload-too-large/)
- `415`: Invalid file type (must be JPEG, PNG, or WebP) — [`http/unsupported-media-type`](/problems/http/unsupported-media-type/)
- `500`: Internal server error — [`server/internal-error`](/problems/server/internal-error/)

---

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