{ "components": { "schemas": { "AMC": { "properties": { "about": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Summary of the instrument.", "examples": [ "Common stock listed on the Nasdaq Global Select Market." ], "title": "About" }, "dealing_deadline": { "description": "Daily cutoff time for placing orders.", "examples": [ "14:00:00" ], "format": "time", "title": "Dealing Deadline", "type": "string" }, "dealing_deadline_time_and_day": { "description": "Next dealing cutoff shown as time and date.", "examples": [ "14:00 Jul 15, 2026" ], "title": "Dealing Deadline Time And Day", "type": "string" }, "decimal_precision": { "description": "Decimal places used by the trading increment.", "examples": [ 2 ], "title": "Decimal Precision", "type": "integer" }, "enforce_trading_rules": { "description": "Whether order amounts must satisfy the instrument trading rules.", "title": "Enforce Trading Rules", "type": "boolean" }, "exchange": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "MIC of the listing venue.", "examples": [ "XNAS" ], "title": "Exchange" }, "icon_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Public CDN URL of the instrument's icon.", "examples": [ "https://storage.googleapis.com/sophic-assets/instrument-icons/in_x7GqT.png" ], "title": "Icon Url" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "initial_issue_date": { "description": "Date the instrument was first issued.", "examples": [ "2024-09-16" ], "format": "date", "title": "Initial Issue Date", "type": "string" }, "instrument_type": { "const": "amc", "description": "Instrument type.", "title": "Instrument Type" }, "is_passed_dealing_deadline": { "description": "Whether today's dealing cutoff has passed.", "title": "Is Passed Dealing Deadline", "type": "boolean" }, "isin": { "description": "International Securities Identification Number.", "examples": [ "US5949181045" ], "title": "Isin", "type": "string" }, "issuer": { "description": "Name of the issuer.", "examples": [ "UBS AG" ], "title": "Issuer", "type": "string" }, "issuer_country": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 3166-1 alpha-2 country code of the issuer.", "examples": [ "US" ], "title": "Issuer Country" }, "issuer_credit_rating": { "description": "Issuer credit rating.", "examples": [ "A+" ], "title": "Issuer Credit Rating", "type": "string" }, "minimum_initial_cash_investment": { "description": "Minimum cash amount accepted for an initial investment.", "examples": [ "1000.00" ], "title": "Minimum Initial Cash Investment", "type": "string" }, "minimum_trading_quantity": { "description": "Smallest quantity accepted for an order.", "examples": [ "1.00" ], "title": "Minimum Trading Quantity", "type": "string" }, "name": { "description": "Display name of the instrument.", "examples": [ "Apple Inc." ], "title": "Name", "type": "string" }, "portfolio_manager": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Name of the portfolio manager.", "examples": [ "UBS Asset Management" ], "title": "Portfolio Manager" }, "price_type": { "allOf": [ { "$ref": "#/components/schemas/PriceType" } ], "description": "Price quotation type." }, "pro_traders_only": { "description": "Whether the instrument is restricted to professional investors.", "title": "Pro Traders Only", "type": "boolean" }, "provider": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Provider of the instrument.", "examples": [ "UBS" ], "title": "Provider" }, "required_cash_increment": { "description": "Cash increment accepted above the minimum investment.", "examples": [ 100 ], "title": "Required Cash Increment", "type": "integer" }, "risk_profile": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Risk profile.", "examples": [ "Balanced" ], "title": "Risk Profile" }, "rollout_stage": { "anyOf": [ { "$ref": "#/components/schemas/InstrumentRolloutStage" }, { "type": "null" } ], "description": "Availability stage of the instrument." }, "share_class": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Share class.", "examples": [ "Class A USD" ], "title": "Share Class" }, "strategy": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Investment strategy.", "examples": [ "Global Macro" ], "title": "Strategy" }, "symbol": { "description": "Market identifier, such as an ISIN or currency pair.", "examples": [ "US5949181045" ], "title": "Symbol", "type": "string" }, "ticker": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Ticker symbol of the security.", "examples": [ "AAPL" ], "title": "Ticker" }, "trading_currency": { "allOf": [ { "$ref": "#/components/schemas/Currency" } ], "description": "Currency used to trade the instrument.", "examples": [ "USD" ] }, "trading_increment": { "description": "Smallest quantity increment accepted for orders.", "examples": [ "0.01" ], "title": "Trading Increment", "type": "string" }, "trading_status": { "allOf": [ { "$ref": "#/components/schemas/InstrumentTradingStatus" } ], "description": "Current trading status." } }, "required": [ "id", "name", "symbol", "instrument_type", "trading_status", "rollout_stage", "trading_increment", "decimal_precision", "pro_traders_only", "price_type", "isin", "issuer", "issuer_country", "minimum_trading_quantity", "trading_currency", "initial_issue_date", "enforce_trading_rules", "minimum_initial_cash_investment", "required_cash_increment", "issuer_credit_rating", "dealing_deadline", "dealing_deadline_time_and_day", "is_passed_dealing_deadline", "strategy", "risk_profile", "portfolio_manager", "share_class", "provider" ], "title": "AMC", "type": "object" }, "Account": { "properties": { "bank_payment_reference": { "description": "Reference used to identify bank payments for the account.", "title": "Bank Payment Reference", "type": "string" }, "base_currency": { "allOf": [ { "$ref": "#/components/schemas/Currency" } ], "description": "Currency used for account valuation." }, "can_deposit": { "description": "Whether deposits are currently allowed.", "title": "Can Deposit", "type": "boolean" }, "can_place_buy_order": { "description": "Whether buy orders are currently allowed.", "title": "Can Place Buy Order", "type": "boolean" }, "can_place_sell_order": { "description": "Whether sell orders are currently allowed.", "title": "Can Place Sell Order", "type": "boolean" }, "can_withdraw": { "description": "Whether withdrawals are currently allowed.", "title": "Can Withdraw", "type": "boolean" }, "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "funding_currencies": { "description": "Currencies accepted for account funding.", "items": { "$ref": "#/components/schemas/Currency" }, "title": "Funding Currencies", "type": "array" }, "has_deposited": { "description": "Whether the account has completed a deposit.", "title": "Has Deposited", "type": "boolean" }, "has_placed_buy_order": { "description": "Whether the account has placed a buy order.", "title": "Has Placed Buy Order", "type": "boolean" }, "has_placed_sell_order": { "description": "Whether the account has placed a sell order.", "title": "Has Placed Sell Order", "type": "boolean" }, "has_withdrawn": { "description": "Whether the account has completed a withdrawal.", "title": "Has Withdrawn", "type": "boolean" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "is_primary_owner_mifid_pro": { "description": "Whether the primary owner is classified as a MiFID professional.", "title": "Is Primary Owner Mifid Pro", "type": "boolean" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "name": { "description": "Display name of the account.", "title": "Name", "type": "string" }, "reference": { "description": "Customer-visible account reference.", "title": "Reference", "type": "string" }, "status": { "allOf": [ { "$ref": "#/components/schemas/AccountStatus" } ], "description": "Current account status." } }, "required": [ "created_at", "modified_at", "id", "reference", "status", "name", "bank_payment_reference", "base_currency", "funding_currencies", "can_deposit", "can_withdraw", "can_place_buy_order", "can_place_sell_order", "has_deposited", "has_withdrawn", "has_placed_buy_order", "has_placed_sell_order", "is_primary_owner_mifid_pro" ], "title": "Account", "type": "object" }, "AccountEarnings": { "properties": { "account": { "description": "ID of the account the earnings were computed for.", "title": "Account", "type": "string" }, "currency": { "allOf": [ { "$ref": "#/components/schemas/Currency" } ], "description": "Currency of the earnings amounts." }, "fees": { "description": "Fees deducted from gross earnings.", "examples": [ "7.25" ], "title": "Fees", "type": "string" }, "gross_realized": { "description": "Realized earnings before fees and taxes.", "examples": [ "125.50" ], "title": "Gross Realized", "type": "string" }, "gross_total": { "description": "Total realized and unrealized gross earnings.", "examples": [ "209.75" ], "title": "Gross Total", "type": "string" }, "gross_unrealized": { "description": "Unrealized earnings before fees and taxes.", "examples": [ "84.25" ], "title": "Gross Unrealized", "type": "string" }, "net_realized": { "description": "Realized earnings after fees and taxes.", "examples": [ "118.25" ], "title": "Net Realized", "type": "string" }, "net_total": { "description": "Total realized and unrealized net earnings.", "examples": [ "202.50" ], "title": "Net Total", "type": "string" }, "net_unrealized": { "description": "Unrealized earnings after fees and taxes.", "examples": [ "84.25" ], "title": "Net Unrealized", "type": "string" }, "period_end": { "description": "End date and time of the earnings period.", "examples": [ "2026-03-31T23:59:59Z" ], "format": "date-time", "title": "Period End", "type": "string" }, "period_start": { "description": "Start date and time of the earnings period.", "examples": [ "2026-01-01T00:00:00Z" ], "format": "date-time", "title": "Period Start", "type": "string" }, "position_earnings": { "description": "Earnings for the account's individual positions.", "items": { "$ref": "#/components/schemas/PositionEarnings" }, "title": "Position Earnings", "type": "array" }, "realized_capital": { "description": "Realized earnings from capital appreciation.", "examples": [ "100.00" ], "title": "Realized Capital", "type": "string" }, "realized_income": { "description": "Realized earnings from income.", "examples": [ "25.50" ], "title": "Realized Income", "type": "string" }, "unrealized_capital": { "description": "Unrealized earnings from capital appreciation.", "examples": [ "75.00" ], "title": "Unrealized Capital", "type": "string" }, "unrealized_income": { "description": "Unrealized earnings from income.", "examples": [ "9.25" ], "title": "Unrealized Income", "type": "string" } }, "required": [ "account", "gross_realized", "gross_unrealized", "gross_total", "realized_capital", "realized_income", "unrealized_capital", "unrealized_income", "net_realized", "net_unrealized", "net_total", "fees", "currency", "period_start", "period_end", "position_earnings" ], "title": "AccountEarnings", "type": "object" }, "AccountHistoryResolution": { "const": "day", "description": "The point aggregation resolution of the history time series.", "properties": {}, "title": "AccountHistoryResolution", "type": "string" }, "AccountOwnership": { "properties": { "account": { "allOf": [ { "$ref": "#/components/schemas/Account" } ], "description": "Account owned by the customer." }, "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "customer": { "description": "Customer that owns the account.", "discriminator": { "mapping": { "business": "#/components/schemas/BusinessCustomer", "individual": "#/components/schemas/IndividualCustomer", "joint": "#/components/schemas/JointCustomer" }, "propertyName": "customer_type" }, "oneOf": [ { "$ref": "#/components/schemas/IndividualCustomer" }, { "$ref": "#/components/schemas/JointCustomer" }, { "$ref": "#/components/schemas/BusinessCustomer" } ], "title": "Customer" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "is_primary": { "description": "Whether this is the customer's primary account ownership.", "title": "Is Primary", "type": "boolean" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" } }, "required": [ "created_at", "modified_at", "id", "is_primary", "customer", "account" ], "title": "AccountOwnership", "type": "object" }, "AccountReturns": { "properties": { "account": { "description": "ID of the account the returns were computed for.", "title": "Account", "type": "string" }, "flags": { "description": "Signals explaining clamps, missing data, or uncomputable rates.", "items": { "$ref": "#/components/schemas/ReturnsFlag" }, "title": "Flags", "type": "array" }, "mwrr": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Cumulative money-weighted rate of return as a decimal; `null` when uncomputable.", "examples": [ "0.0925" ], "title": "Mwrr" }, "period": { "allOf": [ { "$ref": "#/components/schemas/Period" } ], "description": "Requested period the returns were computed over." }, "period_end": { "description": "Resolved end of the period (the `asof` time of the computation).", "examples": [ "2026-07-14T09:34:12Z" ], "format": "date-time", "title": "Period End", "type": "string" }, "period_start": { "description": "Resolved start of the period, inclusive. Clamped to the scope's inception when the requested period starts earlier.", "examples": [ "2026-01-01T00:00:00Z" ], "format": "date-time", "title": "Period Start", "type": "string" }, "twrr": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Cumulative time-weighted rate of return as a decimal; `null` when uncomputable.", "examples": [ "0.0875" ], "title": "Twrr" } }, "required": [ "period", "period_start", "period_end", "mwrr", "twrr", "flags", "account" ], "title": "AccountReturns", "type": "object" }, "AccountStatus": { "enum": [ "active", "suspended", "closing", "closed" ], "properties": {}, "title": "AccountStatus", "type": "string" }, "Address": { "properties": { "city": { "description": "City or locality.", "title": "City", "type": "string" }, "country_code": { "description": "ISO 3166-1 alpha-2 country code.", "title": "Country Code", "type": "string" }, "district_county": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "District or county.", "title": "District County" }, "line1": { "description": "Primary street address line.", "title": "Line1", "type": "string" }, "line2": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Additional street address line.", "title": "Line2" }, "line3": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Further street address line.", "title": "Line3" }, "postal_code": { "description": "Postal code.", "title": "Postal Code", "type": "string" } }, "required": [ "line1", "line2", "line3", "district_county", "city", "postal_code", "country_code" ], "title": "Address", "type": "object" }, "AttestationType": { "const": "data_accuracy", "description": "Self-declarations a person can make about a specific action or submission.\n\nAn attestation is always recorded against a target resource (see\n`ConsentTargetType`) — for example, asserting data accuracy for an\nonboarding application the person is submitting. It does not\nreference a `LegalDocumentVersion`; the wording is implicit in the\nsurrounding flow.", "properties": {}, "title": "AttestationType", "type": "string" }, "AuthorityStatus": { "enum": [ "active", "revoked" ], "properties": {}, "title": "AuthorityStatus", "type": "string" }, "AuthorityType": { "enum": [ "owner", "joint_owner", "signatory", "power_of_attorney", "trading" ], "properties": {}, "title": "AuthorityType", "type": "string" }, "Bill": { "properties": { "about": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Summary of the instrument.", "examples": [ "Common stock listed on the Nasdaq Global Select Market." ], "title": "About" }, "days_to_maturity": { "description": "Calendar days remaining until maturity.", "examples": [ 182 ], "title": "Days To Maturity", "type": "integer" }, "decimal_precision": { "description": "Decimal places used by the trading increment.", "examples": [ 2 ], "title": "Decimal Precision", "type": "integer" }, "enforce_trading_rules": { "description": "Whether order amounts must satisfy the instrument trading rules.", "title": "Enforce Trading Rules", "type": "boolean" }, "exchange": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "MIC of the listing venue.", "examples": [ "XNAS" ], "title": "Exchange" }, "icon_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Public CDN URL of the instrument's icon.", "examples": [ "https://storage.googleapis.com/sophic-assets/instrument-icons/in_x7GqT.png" ], "title": "Icon Url" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "initial_auction_date": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "description": "Date of the first auction.", "examples": [ "2024-12-30" ], "title": "Initial Auction Date" }, "initial_issue_date": { "description": "Date the instrument was first issued.", "examples": [ "2025-01-02" ], "format": "date", "title": "Initial Issue Date", "type": "string" }, "instrument_type": { "const": "bill", "description": "Instrument type.", "title": "Instrument Type" }, "isin": { "description": "International Securities Identification Number.", "examples": [ "US5949181045" ], "title": "Isin", "type": "string" }, "issuer": { "description": "Name of the issuer.", "examples": [ "United States Department of the Treasury" ], "title": "Issuer", "type": "string" }, "issuer_country": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 3166-1 alpha-2 country code of the issuer.", "examples": [ "US" ], "title": "Issuer Country" }, "issuer_credit_rating": { "description": "Issuer credit rating.", "examples": [ "AA+" ], "title": "Issuer Credit Rating", "type": "string" }, "latest_auction_date": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "description": "Date of the latest auction, including tap issues.", "examples": [ "2025-01-27" ], "title": "Latest Auction Date" }, "latest_issue_date": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "description": "Date of the latest issue, including tap issues.", "examples": [ "2025-01-30" ], "title": "Latest Issue Date" }, "maturity_date": { "description": "Date the instrument matures.", "examples": [ "2025-07-03" ], "format": "date", "title": "Maturity Date", "type": "string" }, "minimum_initial_cash_investment": { "description": "Minimum cash amount accepted for an initial investment.", "examples": [ "1000.00" ], "title": "Minimum Initial Cash Investment", "type": "string" }, "minimum_trading_quantity": { "description": "Smallest quantity accepted for an order.", "examples": [ "1.00" ], "title": "Minimum Trading Quantity", "type": "string" }, "name": { "description": "Display name of the instrument.", "examples": [ "Apple Inc." ], "title": "Name", "type": "string" }, "par_value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Nominal value per unit used for price quotation.", "examples": [ "100.00" ], "title": "Par Value" }, "price_type": { "allOf": [ { "$ref": "#/components/schemas/PriceType" } ], "description": "Price quotation type." }, "pro_traders_only": { "description": "Whether the instrument is restricted to professional investors.", "title": "Pro Traders Only", "type": "boolean" }, "required_cash_increment": { "description": "Cash increment accepted above the minimum investment.", "examples": [ 100 ], "title": "Required Cash Increment", "type": "integer" }, "rollout_stage": { "anyOf": [ { "$ref": "#/components/schemas/InstrumentRolloutStage" }, { "type": "null" } ], "description": "Availability stage of the instrument." }, "supports_automatic_rollover": { "description": "Whether positions can roll over automatically at maturity.", "title": "Supports Automatic Rollover", "type": "boolean" }, "symbol": { "description": "Market identifier, such as an ISIN or currency pair.", "examples": [ "US5949181045" ], "title": "Symbol", "type": "string" }, "ticker": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Ticker symbol of the security.", "examples": [ "AAPL" ], "title": "Ticker" }, "trading_currency": { "allOf": [ { "$ref": "#/components/schemas/Currency" } ], "description": "Currency used to trade the instrument.", "examples": [ "USD" ] }, "trading_increment": { "description": "Smallest quantity increment accepted for orders.", "examples": [ "0.01" ], "title": "Trading Increment", "type": "string" }, "trading_status": { "allOf": [ { "$ref": "#/components/schemas/InstrumentTradingStatus" } ], "description": "Current trading status." } }, "required": [ "id", "name", "symbol", "instrument_type", "trading_status", "rollout_stage", "trading_increment", "decimal_precision", "pro_traders_only", "price_type", "isin", "issuer", "issuer_country", "minimum_trading_quantity", "trading_currency", "initial_issue_date", "enforce_trading_rules", "minimum_initial_cash_investment", "required_cash_increment", "maturity_date", "days_to_maturity", "supports_automatic_rollover", "issuer_credit_rating", "initial_auction_date", "latest_auction_date", "latest_issue_date", "par_value" ], "title": "Bill", "type": "object" }, "Bond": { "properties": { "about": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Summary of the instrument.", "examples": [ "Common stock listed on the Nasdaq Global Select Market." ], "title": "About" }, "coupon": { "description": "Annual coupon rate as a percentage.", "examples": [ "4.25" ], "title": "Coupon", "type": "string" }, "coupon_frequency": { "anyOf": [ { "$ref": "#/components/schemas/BondCouponFrequency" }, { "type": "null" } ], "description": "Frequency of coupon payments." }, "coupon_type": { "allOf": [ { "$ref": "#/components/schemas/BondCouponType" } ], "description": "Coupon payment type." }, "day_count_convention": { "anyOf": [ { "$ref": "#/components/schemas/DayCountConvention" }, { "type": "null" } ], "description": "Day-count convention used for coupon calculations." }, "days_to_maturity": { "description": "Calendar days remaining until maturity.", "examples": [ 182 ], "title": "Days To Maturity", "type": "integer" }, "decimal_precision": { "description": "Decimal places used by the trading increment.", "examples": [ 2 ], "title": "Decimal Precision", "type": "integer" }, "enforce_trading_rules": { "description": "Whether order amounts must satisfy the instrument trading rules.", "title": "Enforce Trading Rules", "type": "boolean" }, "exchange": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "MIC of the listing venue.", "examples": [ "XNAS" ], "title": "Exchange" }, "first_coupon_date": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "description": "Date of the first scheduled coupon payment.", "examples": [ "2025-07-15" ], "title": "First Coupon Date" }, "icon_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Public CDN URL of the instrument's icon.", "examples": [ "https://storage.googleapis.com/sophic-assets/instrument-icons/in_x7GqT.png" ], "title": "Icon Url" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "initial_auction_date": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "description": "Date of the first auction.", "examples": [ "2024-12-30" ], "title": "Initial Auction Date" }, "initial_issue_date": { "description": "Date the instrument was first issued.", "examples": [ "2025-01-02" ], "format": "date", "title": "Initial Issue Date", "type": "string" }, "instrument_type": { "const": "bond", "description": "Instrument type.", "title": "Instrument Type" }, "isin": { "description": "International Securities Identification Number.", "examples": [ "US5949181045" ], "title": "Isin", "type": "string" }, "issuer": { "description": "Name of the issuer.", "examples": [ "United States Department of the Treasury" ], "title": "Issuer", "type": "string" }, "issuer_country": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 3166-1 alpha-2 country code of the issuer.", "examples": [ "US" ], "title": "Issuer Country" }, "issuer_credit_rating": { "description": "Issuer credit rating.", "examples": [ "AA+" ], "title": "Issuer Credit Rating", "type": "string" }, "latest_auction_date": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "description": "Date of the latest auction, including tap issues.", "examples": [ "2025-01-27" ], "title": "Latest Auction Date" }, "latest_issue_date": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "description": "Date of the latest issue, including tap issues.", "examples": [ "2025-01-30" ], "title": "Latest Issue Date" }, "maturity_date": { "description": "Date the instrument matures.", "examples": [ "2025-07-03" ], "format": "date", "title": "Maturity Date", "type": "string" }, "minimum_initial_cash_investment": { "description": "Minimum cash amount accepted for an initial investment.", "examples": [ "1000.00" ], "title": "Minimum Initial Cash Investment", "type": "string" }, "minimum_trading_quantity": { "description": "Smallest quantity accepted for an order.", "examples": [ "1.00" ], "title": "Minimum Trading Quantity", "type": "string" }, "name": { "description": "Display name of the instrument.", "examples": [ "Apple Inc." ], "title": "Name", "type": "string" }, "next_coupon_date": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "description": "Next scheduled coupon payment date.", "examples": [ "2026-01-15" ], "title": "Next Coupon Date" }, "par_value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Nominal value per unit used for price quotation.", "examples": [ "100.00" ], "title": "Par Value" }, "price_type": { "allOf": [ { "$ref": "#/components/schemas/PriceType" } ], "description": "Price quotation type." }, "pro_traders_only": { "description": "Whether the instrument is restricted to professional investors.", "title": "Pro Traders Only", "type": "boolean" }, "required_cash_increment": { "description": "Cash increment accepted above the minimum investment.", "examples": [ 100 ], "title": "Required Cash Increment", "type": "integer" }, "rollout_stage": { "anyOf": [ { "$ref": "#/components/schemas/InstrumentRolloutStage" }, { "type": "null" } ], "description": "Availability stage of the instrument." }, "supports_automatic_rollover": { "description": "Whether positions can roll over automatically at maturity.", "title": "Supports Automatic Rollover", "type": "boolean" }, "symbol": { "description": "Market identifier, such as an ISIN or currency pair.", "examples": [ "US5949181045" ], "title": "Symbol", "type": "string" }, "ticker": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Ticker symbol of the security.", "examples": [ "AAPL" ], "title": "Ticker" }, "trading_currency": { "allOf": [ { "$ref": "#/components/schemas/Currency" } ], "description": "Currency used to trade the instrument.", "examples": [ "USD" ] }, "trading_increment": { "description": "Smallest quantity increment accepted for orders.", "examples": [ "0.01" ], "title": "Trading Increment", "type": "string" }, "trading_status": { "allOf": [ { "$ref": "#/components/schemas/InstrumentTradingStatus" } ], "description": "Current trading status." }, "upcoming_coupon_amount_per_unit": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Next coupon cash amount per unit of face quantity.", "examples": [ "0.0213" ], "title": "Upcoming Coupon Amount Per Unit" } }, "required": [ "id", "name", "symbol", "instrument_type", "trading_status", "rollout_stage", "trading_increment", "decimal_precision", "pro_traders_only", "price_type", "isin", "issuer", "issuer_country", "minimum_trading_quantity", "trading_currency", "initial_issue_date", "enforce_trading_rules", "minimum_initial_cash_investment", "required_cash_increment", "maturity_date", "days_to_maturity", "supports_automatic_rollover", "issuer_credit_rating", "initial_auction_date", "latest_auction_date", "latest_issue_date", "par_value", "coupon_type", "coupon_frequency", "coupon" ], "title": "Bond", "type": "object" }, "BondCouponFrequency": { "enum": [ "annual", "semi_annual", "quarterly", "monthly", "biennial" ], "properties": {}, "title": "BondCouponFrequency", "type": "string" }, "BondCouponType": { "enum": [ "fixed_coupon", "floating_coupon", "zero_coupon", "stepped_coupon", "deferred_coupon", "pay_in_kind_coupon", "indexed_coupon", "credit_linked_coupon" ], "properties": {}, "title": "BondCouponType", "type": "string" }, "BusinessCustomer": { "properties": { "address": { "anyOf": [ { "$ref": "#/components/schemas/Address" }, { "type": "null" } ], "description": "Customer's primary address." }, "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "customer_type": { "const": "business", "description": "Customer classification.", "title": "Customer Type" }, "entity_name": { "description": "Registered business name.", "title": "Entity Name", "type": "string" }, "entity_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Legal form of the business.", "title": "Entity Type" }, "full_name": { "description": "Customer's full display name.", "title": "Full Name", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "lei_code": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Legal Entity Identifier.", "title": "Lei Code" }, "lei_code_expiry_date": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "description": "Expiry date of the Legal Entity Identifier.", "examples": [ "2027-06-30" ], "title": "Lei Code Expiry Date" }, "mifid_category": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Customer's MiFID classification.", "title": "Mifid Category" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "onboarding": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ID of the customer's onboarding process.", "title": "Onboarding" }, "operating_address": { "anyOf": [ { "$ref": "#/components/schemas/Address" }, { "type": "null" } ], "description": "Primary operating address." }, "phone_number": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Customer's primary phone number.", "title": "Phone Number" }, "reference": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Customer-visible reference.", "title": "Reference" }, "referrer_code": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Referral code associated with the customer.", "title": "Referrer Code" }, "risk_profile": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Customer's assigned risk profile.", "title": "Risk Profile" }, "risk_score": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Customer's risk score.", "examples": [ "42.50" ], "title": "Risk Score" }, "status": { "allOf": [ { "$ref": "#/components/schemas/CustomerStatus" } ], "description": "Current customer status." } }, "required": [ "created_at", "modified_at", "id", "reference", "status", "full_name", "onboarding", "mifid_category", "address", "phone_number", "risk_profile", "risk_score", "referrer_code", "customer_type", "entity_name", "entity_type", "lei_code", "lei_code_expiry_date", "operating_address" ], "title": "BusinessCustomer", "type": "object" }, "BusinessNatureClaimSpec": { "additionalProperties": false, "description": "Spec for legal entity business nature and turnover claim data.", "properties": { "annual_turnover_eur": { "$ref": "#/components/schemas/EurAmountBand" }, "business_activity": { "$ref": "#/components/schemas/ClaimIndustry" }, "business_activity_other": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Business Activity Other" }, "claim_type": { "const": "business_nature", "title": "Claim Type" }, "has_nominee_shareholders": { "title": "Has Nominee Shareholders", "type": "boolean" }, "has_shell_bank_relationships": { "title": "Has Shell Bank Relationships", "type": "boolean" }, "is_regulated": { "title": "Is Regulated", "type": "boolean" }, "issues_bearer_shares": { "title": "Issues Bearer Shares", "type": "boolean" }, "license_number": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "License Number" } }, "required": [ "claim_type", "business_activity", "annual_turnover_eur", "is_regulated", "issues_bearer_shares", "has_nominee_shareholders", "has_shell_bank_relationships" ], "title": "BusinessNatureClaimSpec", "type": "object" }, "BusinessNaturePersonClaim": { "additionalProperties": false, "properties": { "annual_turnover_eur": { "$ref": "#/components/schemas/EurAmountBand" }, "archived_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer pending claim replaced this row; `null` if this is the current pending row.", "examples": [ "2026-07-20T08:15:00Z" ], "title": "Archived At" }, "business_activity": { "$ref": "#/components/schemas/ClaimIndustry" }, "business_activity_other": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Business Activity Other" }, "claim_type": { "const": "business_nature", "title": "Claim Type" }, "created_at": { "description": "Date and time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "has_nominee_shareholders": { "title": "Has Nominee Shareholders", "type": "boolean" }, "has_shell_bank_relationships": { "title": "Has Shell Bank Relationships", "type": "boolean" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "is_regulated": { "title": "Is Regulated", "type": "boolean" }, "issues_bearer_shares": { "title": "Issues Bearer Shares", "type": "boolean" }, "license_number": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "License Number" }, "lifecycle": { "description": "Derived lifecycle role from `status`, `archived_at`, and `superseded_at`.", "enum": [ "active", "in_flight", "historical" ], "readOnly": true, "title": "Lifecycle", "type": "string" }, "person": { "description": "ID of the person this claim belongs to.", "title": "Person", "type": "string" }, "status": { "description": "Claim status (`pending` or `verified`). Non-null `superseded_at` means a newer verified claim replaced this row.", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" }, "superseded_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer verified claim replaced this row; `null` if this is the current row.", "examples": [ "2026-08-01T12:00:00Z" ], "title": "Superseded At" }, "verified_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time the claim was verified; `null` while pending.", "examples": [ "2026-07-14T10:00:00Z" ], "title": "Verified At" } }, "required": [ "claim_type", "business_activity", "annual_turnover_eur", "is_regulated", "issues_bearer_shares", "has_nominee_shareholders", "has_shell_bank_relationships", "id", "person", "created_at", "status", "verified_at", "superseded_at", "archived_at", "lifecycle" ], "title": "BusinessNaturePersonClaim", "type": "object" }, "BusinessNaturePersonClaimSummary": { "additionalProperties": false, "properties": { "annual_turnover_eur": { "$ref": "#/components/schemas/EurAmountBand" }, "business_activity": { "$ref": "#/components/schemas/ClaimIndustry" }, "business_activity_other": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Business Activity Other" }, "claim_type": { "const": "business_nature", "title": "Claim Type" }, "created_at": { "description": "Time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "has_nominee_shareholders": { "title": "Has Nominee Shareholders", "type": "boolean" }, "has_shell_bank_relationships": { "title": "Has Shell Bank Relationships", "type": "boolean" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "is_regulated": { "title": "Is Regulated", "type": "boolean" }, "issues_bearer_shares": { "title": "Issues Bearer Shares", "type": "boolean" }, "license_number": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "License Number" }, "status": { "description": "The status of the claim (`pending` or `verified`).", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" } }, "required": [ "claim_type", "business_activity", "annual_turnover_eur", "is_regulated", "issues_bearer_shares", "has_nominee_shareholders", "has_shell_bank_relationships", "id", "created_at", "status" ], "title": "BusinessNaturePersonClaimSummary", "type": "object" }, "CashBalance": { "properties": { "available_for_trading": { "description": "Cash available for placing buy orders.", "examples": [ "10000.00" ], "title": "Available For Trading", "type": "string" }, "available_for_withdrawal": { "description": "Cash available for withdrawal.", "examples": [ "9750.00" ], "title": "Available For Withdrawal", "type": "string" }, "currency": { "allOf": [ { "$ref": "#/components/schemas/Currency" } ], "description": "Currency of the cash balance.", "examples": [ "EUR" ] }, "reserved": { "description": "Cash reserved for pending orders or withdrawals.", "examples": [ "250.00" ], "title": "Reserved", "type": "string" }, "total": { "description": "Total cash balance across all settlement states.", "examples": [ "12500.00" ], "title": "Total", "type": "string" } }, "required": [ "currency", "total", "available_for_trading", "available_for_withdrawal", "reserved" ], "title": "CashBalance", "type": "object" }, "CashValuation": { "properties": { "asof": { "description": "The time of the cash valuation.", "examples": [ "2026-07-14T09:34:12Z" ], "format": "date-time", "title": "Asof", "type": "string" }, "cash_balance": { "allOf": [ { "$ref": "#/components/schemas/CashBalance" } ], "description": "The valued cash balance." }, "currency": { "allOf": [ { "$ref": "#/components/schemas/Currency" } ], "description": "The currency of the cash value." }, "value": { "description": "The cash value.", "examples": [ "25000.00" ], "title": "Value", "type": "string" } }, "required": [ "cash_balance", "value", "currency", "asof" ], "title": "CashValuation", "type": "object" }, "ClaimAssetClass": { "enum": [ "treasury_bills", "bonds", "equities", "etfs", "mutual_funds", "fx", "cfds", "derivatives", "crypto" ], "properties": {}, "title": "ClaimAssetClass", "type": "string" }, "ClaimEducationLevel": { "enum": [ "none", "secondary", "bachelors", "masters", "doctorate", "professional" ], "properties": {}, "title": "ClaimEducationLevel", "type": "string" }, "ClaimEmploymentStatus": { "enum": [ "employed", "self_employed", "retired", "student", "unemployed" ], "properties": {}, "title": "ClaimEmploymentStatus", "type": "string" }, "ClaimIncomeSource": { "enum": [ "salary", "pension", "rental_income", "dividends", "interest" ], "properties": {}, "title": "ClaimIncomeSource", "type": "string" }, "ClaimIndustry": { "enum": [ "accountancy", "admin_secretarial", "agricultural", "arms_trade", "catering_hospitality", "company_services", "consulting", "creative_media", "defence_military", "education", "emergency_services", "energy", "export_import", "financial_services", "gambling", "government_public_sector", "health_medical", "legal", "leisure_entertainment_tourism", "manufacturing", "marketing_pr_advertising", "ngo", "nonprofit_charity", "oil_gas_mining", "pharmaceuticals", "precious_metals_stones", "professional_services", "property_construction_trade", "retail", "social_care_services", "technology", "telecommunications", "transport_logistics", "adult_entertainment", "cannabis_cbd", "cryptocurrencies", "embassy_consulate", "other" ], "properties": {}, "title": "ClaimIndustry", "type": "string" }, "ClaimRegistrationEntityType": { "enum": [ "private_company", "public_company", "listed_company", "investment_firm", "pension_provident_fund", "investment_fund", "insurance_firm", "trust", "partnership", "bank_emi" ], "properties": {}, "title": "ClaimRegistrationEntityType", "type": "string" }, "ClaimStatus": { "enum": [ "pending", "verified" ], "properties": {}, "title": "ClaimStatus", "type": "string" }, "ClaimType": { "enum": [ "identity", "nationalities", "residence", "tax_residencies", "fatca_status", "pep_status", "education_level", "employment", "financial_profile", "investment_experience", "expected_activity", "relationships", "registration", "contact_details", "lei", "registered_address", "operating_address", "business_nature" ], "properties": {}, "title": "ClaimType", "type": "string" }, "ClaimWealthSource": { "enum": [ "savings", "inheritance", "trust_fund", "investments", "borrowings", "real_estate" ], "properties": {}, "title": "ClaimWealthSource", "type": "string" }, "ClientCredentialsForm": { "description": "Form for the `client_credentials` grant type.", "properties": { "client_id": { "description": "OAuth client ID.", "title": "Client Id", "type": "string" }, "client_secret": { "description": "OAuth client secret.", "title": "Client Secret", "type": "string" }, "grant_type": { "const": "client_credentials", "description": "Must be `client_credentials`.", "title": "Grant Type" }, "scope": { "description": "Space-separated list of scopes.", "title": "Scope", "type": "string", "x-remove-null-from-type-union": true } }, "required": [ "client_id", "grant_type", "client_secret" ], "title": "ClientCredentialsForm", "type": "object" }, "ContactDetailsClaimSpec": { "additionalProperties": false, "description": "Spec for legal entity contact details claim data.", "properties": { "claim_type": { "const": "contact_details", "title": "Claim Type" }, "email": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Email" }, "phone_number": { "title": "Phone Number", "type": "string" } }, "required": [ "claim_type", "phone_number" ], "title": "ContactDetailsClaimSpec", "type": "object" }, "ContactDetailsPersonClaim": { "additionalProperties": false, "properties": { "archived_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer pending claim replaced this row; `null` if this is the current pending row.", "examples": [ "2026-07-20T08:15:00Z" ], "title": "Archived At" }, "claim_type": { "const": "contact_details", "title": "Claim Type" }, "created_at": { "description": "Date and time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "email": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Email" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "lifecycle": { "description": "Derived lifecycle role from `status`, `archived_at`, and `superseded_at`.", "enum": [ "active", "in_flight", "historical" ], "readOnly": true, "title": "Lifecycle", "type": "string" }, "person": { "description": "ID of the person this claim belongs to.", "title": "Person", "type": "string" }, "phone_number": { "title": "Phone Number", "type": "string" }, "status": { "description": "Claim status (`pending` or `verified`). Non-null `superseded_at` means a newer verified claim replaced this row.", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" }, "superseded_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer verified claim replaced this row; `null` if this is the current row.", "examples": [ "2026-08-01T12:00:00Z" ], "title": "Superseded At" }, "verified_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time the claim was verified; `null` while pending.", "examples": [ "2026-07-14T10:00:00Z" ], "title": "Verified At" } }, "required": [ "claim_type", "phone_number", "id", "person", "created_at", "status", "verified_at", "superseded_at", "archived_at", "lifecycle" ], "title": "ContactDetailsPersonClaim", "type": "object" }, "ContactDetailsPersonClaimSummary": { "additionalProperties": false, "properties": { "claim_type": { "const": "contact_details", "title": "Claim Type" }, "created_at": { "description": "Time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "email": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Email" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "phone_number": { "title": "Phone Number", "type": "string" }, "status": { "description": "The status of the claim (`pending` or `verified`).", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" } }, "required": [ "claim_type", "phone_number", "id", "created_at", "status" ], "title": "ContactDetailsPersonClaimSummary", "type": "object" }, "ControlType": { "enum": [ "ownership", "voting", "other" ], "properties": {}, "title": "ControlType", "type": "string" }, "CreateDepositRequest": { "properties": { "amount": { "anyOf": [ { "exclusiveMinimum": 0, "type": "number" }, { "type": "string" } ], "description": "Positive deposit amount with up to two decimal places.", "examples": [ "100.00" ], "title": "Amount" }, "currency": { "allOf": [ { "$ref": "#/components/schemas/Currency" } ], "description": "Supported account currency to credit." }, "payment_reference": { "description": "Reference used to match the inbound payment; generated when omitted and unique per funding batch when provided.", "title": "Payment Reference", "type": "string", "x-remove-null-from-type-union": true }, "request_advance": { "default": false, "description": "Request that the deposit amount is credited in advance as unsettled cash, which will settle once the deposit is funded.", "title": "Request Advance", "type": "boolean" } }, "required": [ "amount", "currency" ], "title": "CreateDepositRequest", "type": "object" }, "CreateFileFromSignedUploadRequest": { "properties": { "signed_upload": { "description": "ID of the signed upload to create the file from.", "title": "Signed Upload", "type": "string" } }, "required": [ "signed_upload" ], "title": "CreateFileFromSignedUploadRequest", "type": "object" }, "CreatePersonRequest": { "properties": { "claims": { "description": "Identity and business claims for the person.", "items": { "anyOf": [ { "$ref": "#/components/schemas/IdentityClaimSpec" }, { "$ref": "#/components/schemas/NationalitiesClaimSpec" }, { "$ref": "#/components/schemas/ResidenceClaimSpec" }, { "$ref": "#/components/schemas/TaxResidenciesClaimSpec" }, { "$ref": "#/components/schemas/FatcaStatusClaimSpec" }, { "$ref": "#/components/schemas/PepStatusClaimSpec" }, { "$ref": "#/components/schemas/EducationLevelClaimSpec" }, { "$ref": "#/components/schemas/EmploymentClaimSpec" }, { "$ref": "#/components/schemas/FinancialProfileClaimSpec" }, { "$ref": "#/components/schemas/InvestmentExperienceClaimSpec" }, { "$ref": "#/components/schemas/RegistrationClaimSpec" }, { "$ref": "#/components/schemas/ContactDetailsClaimSpec" }, { "$ref": "#/components/schemas/LeiClaimSpec" }, { "$ref": "#/components/schemas/RegisteredAddressClaimSpec" }, { "$ref": "#/components/schemas/OperatingAddressClaimSpec" }, { "$ref": "#/components/schemas/BusinessNatureClaimSpec" }, { "$ref": "#/components/schemas/ExpectedActivityClaimSpec" }, { "$ref": "#/components/schemas/RelationshipsClaimSpec" } ] }, "minItems": 1, "title": "Claims", "type": "array" }, "person_type": { "allOf": [ { "$ref": "#/components/schemas/PersonType" } ], "description": "Whether the person is natural or legal." } }, "required": [ "person_type", "claims" ], "title": "CreatePersonRequest", "type": "object" }, "CreateSignedUploadRequest": { "properties": { "content_type": { "description": "Media type of the file.", "examples": [ "application/pdf" ], "title": "Content Type", "type": "string", "x-remove-null-from-type-union": true }, "filename": { "description": "Original name of the file.", "examples": [ "identity-document.pdf" ], "title": "Filename", "type": "string" }, "purpose": { "const": "verification_evidence", "description": "The purpose of the uploaded file.", "title": "Purpose" } }, "required": [ "filename", "purpose" ], "title": "CreateSignedUploadRequest", "type": "object" }, "CreateWebhookRequest": { "properties": { "description": { "description": "Human-readable purpose of the webhook.", "title": "Description", "type": "string", "x-remove-null-from-type-union": true }, "url": { "description": "HTTPS URL that receives webhook deliveries; IP addresses are rejected.", "examples": [ "https://example.com/webhook" ], "title": "Url", "type": "string" } }, "required": [ "url" ], "title": "CreateWebhookRequest", "type": "object" }, "CreateWithdrawalRequest": { "properties": { "amount": { "anyOf": [ { "exclusiveMinimum": 0, "type": "number" }, { "type": "string" } ], "description": "Positive withdrawal amount with up to two decimal places.", "examples": [ "100.00" ], "title": "Amount" }, "currency": { "allOf": [ { "$ref": "#/components/schemas/Currency" } ], "description": "Supported account currency to withdraw without conversion." }, "funding_account": { "description": "ID of the funding account that receives the withdrawal. Must be registered on the parent account.", "title": "Funding Account", "type": "string" } }, "required": [ "amount", "currency", "funding_account" ], "title": "CreateWithdrawalRequest", "type": "object" }, "Currency": { "enum": [ "EUR", "USD", "GBP" ], "properties": {}, "title": "Currency", "type": "string" }, "CurrencyPair": { "properties": { "about": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Summary of the instrument.", "examples": [ "Common stock listed on the Nasdaq Global Select Market." ], "title": "About" }, "base_currency": { "allOf": [ { "$ref": "#/components/schemas/Currency" } ], "description": "Currency being bought or sold.", "examples": [ "EUR" ] }, "decimal_precision": { "description": "Decimal places used by the trading increment.", "examples": [ 2 ], "title": "Decimal Precision", "type": "integer" }, "exchange": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "MIC of the listing venue.", "examples": [ "XNAS" ], "title": "Exchange" }, "icon_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Public CDN URL of the instrument's icon.", "examples": [ "https://storage.googleapis.com/sophic-assets/instrument-icons/in_x7GqT.png" ], "title": "Icon Url" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "instrument_type": { "const": "currency_pair", "description": "Instrument type.", "title": "Instrument Type" }, "name": { "description": "Display name of the instrument.", "examples": [ "Apple Inc." ], "title": "Name", "type": "string" }, "price_type": { "allOf": [ { "$ref": "#/components/schemas/PriceType" } ], "description": "Price quotation type." }, "pro_traders_only": { "description": "Whether the instrument is restricted to professional investors.", "title": "Pro Traders Only", "type": "boolean" }, "quote_currency": { "allOf": [ { "$ref": "#/components/schemas/Currency" } ], "description": "Currency in which the pair is priced.", "examples": [ "USD" ] }, "rollout_stage": { "anyOf": [ { "$ref": "#/components/schemas/InstrumentRolloutStage" }, { "type": "null" } ], "description": "Availability stage of the instrument." }, "symbol": { "description": "Market identifier, such as an ISIN or currency pair.", "examples": [ "US5949181045" ], "title": "Symbol", "type": "string" }, "trading_increment": { "description": "Smallest quantity increment accepted for orders.", "examples": [ "0.01" ], "title": "Trading Increment", "type": "string" }, "trading_status": { "allOf": [ { "$ref": "#/components/schemas/InstrumentTradingStatus" } ], "description": "Current trading status." } }, "required": [ "id", "name", "symbol", "instrument_type", "trading_status", "rollout_stage", "trading_increment", "decimal_precision", "pro_traders_only", "price_type", "base_currency", "quote_currency" ], "title": "CurrencyPair", "type": "object" }, "CustomerAuthority": { "properties": { "authority_type": { "allOf": [ { "$ref": "#/components/schemas/AuthorityType" } ], "description": "Kind of authority granted." }, "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "customer": { "description": "Customer covered by the authority.", "discriminator": { "mapping": { "business": "#/components/schemas/BusinessCustomer", "individual": "#/components/schemas/IndividualCustomer", "joint": "#/components/schemas/JointCustomer" }, "propertyName": "customer_type" }, "oneOf": [ { "$ref": "#/components/schemas/IndividualCustomer" }, { "$ref": "#/components/schemas/JointCustomer" }, { "$ref": "#/components/schemas/BusinessCustomer" } ], "title": "Customer" }, "granted_at": { "description": "Date and time the authority was granted.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Granted At", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "person": { "description": "Person granted the authority.", "discriminator": { "mapping": { "legal": "#/components/schemas/LegalPerson", "natural": "#/components/schemas/NaturalPerson" }, "propertyName": "person_type" }, "oneOf": [ { "$ref": "#/components/schemas/NaturalPerson" }, { "$ref": "#/components/schemas/LegalPerson" } ], "title": "Person" }, "revoked_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time the authority was revoked; `null` while the authority is still active.", "examples": [ "2026-08-01T12:00:00Z" ], "title": "Revoked At" }, "status": { "allOf": [ { "$ref": "#/components/schemas/AuthorityStatus" } ], "description": "Current authority status." } }, "required": [ "created_at", "modified_at", "id", "authority_type", "status", "customer", "person", "granted_at", "revoked_at" ], "title": "CustomerAuthority", "type": "object" }, "CustomerStatus": { "enum": [ "active", "suspended", "closing", "closed" ], "properties": {}, "title": "CustomerStatus", "type": "string" }, "CustomerType": { "enum": [ "individual", "joint", "business" ], "properties": {}, "title": "CustomerType", "type": "string" }, "DayCountConvention": { "enum": [ "30_360", "actual_360", "actual_365_fixed", "actual_actual" ], "properties": {}, "title": "DayCountConvention", "type": "string" }, "Deposit": { "properties": { "account": { "description": "The ID of the parent account.", "title": "Account", "type": "string" }, "advanced_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "The time the deposit was advanced as unsettled cash.", "examples": [ "2026-07-14T09:32:00Z" ], "title": "Advanced At" }, "amount": { "description": "The amount of the deposit.", "examples": [ "100.00", "50.12" ], "title": "Amount", "type": "string" }, "completed_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "The time the deposit was completed.", "examples": [ "2026-07-14T09:34:12Z" ], "title": "Completed At" }, "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "currency": { "allOf": [ { "$ref": "#/components/schemas/Currency" } ], "description": "The currency of the deposit." }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "payment_reference": { "description": "The reference used to identify the inbound payment.", "examples": [ "202512161234" ], "title": "Payment Reference", "type": "string" }, "status": { "allOf": [ { "$ref": "#/components/schemas/DepositStatus" } ], "description": "The status of the deposit." }, "was_advanced": { "description": "Whether the deposit was advanced as unsettled cash.", "title": "Was Advanced", "type": "boolean" } }, "required": [ "created_at", "modified_at", "id", "account", "amount", "currency", "payment_reference", "was_advanced", "status" ], "title": "Deposit", "type": "object" }, "DepositStatus": { "enum": [ "open", "completed" ], "properties": {}, "title": "DepositStatus", "type": "string" }, "Document": { "properties": { "account": { "description": "ID of the account the document belongs to.", "title": "Account", "type": "string" }, "content_type": { "description": "MIME type of the document content.", "title": "Content Type", "type": "string" }, "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "document_type": { "allOf": [ { "$ref": "#/components/schemas/DocumentType-Output" } ], "description": "Kind of document." }, "file": { "description": "ID of the file containing the document.", "title": "File", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "is_downloadable": { "description": "Whether the document is available for download.", "title": "Is Downloadable", "type": "boolean" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "period_end": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "description": "End date of the period covered by the document.", "examples": [ "2026-03-31" ], "title": "Period End" }, "period_start": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "description": "Start date of the period covered by the document.", "examples": [ "2026-01-01" ], "title": "Period Start" }, "title": { "description": "Document title.", "title": "Title", "type": "string" } }, "required": [ "created_at", "modified_at", "id", "account", "title", "document_type", "content_type", "file", "period_start", "period_end", "is_downloadable" ], "title": "Document", "type": "object" }, "DocumentType-Output": { "enum": [ "welcome_letter", "trade_confirmation", "fee_statement", "account_statement" ], "properties": {}, "title": "DocumentType", "type": "string" }, "ETF": { "properties": { "about": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Summary of the instrument.", "examples": [ "Common stock listed on the Nasdaq Global Select Market." ], "title": "About" }, "decimal_precision": { "description": "Decimal places used by the trading increment.", "examples": [ 2 ], "title": "Decimal Precision", "type": "integer" }, "distribution_frequency": { "anyOf": [ { "$ref": "#/components/schemas/ETFDistributionFrequency" }, { "type": "null" } ], "description": "How often a distributing fund pays out income." }, "distribution_policy": { "anyOf": [ { "$ref": "#/components/schemas/ETFDistributionPolicy" }, { "type": "null" } ], "description": "Whether the fund accumulates or distributes its income." }, "enforce_trading_rules": { "description": "Whether order amounts must satisfy the instrument trading rules.", "title": "Enforce Trading Rules", "type": "boolean" }, "exchange": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "MIC of the listing venue.", "examples": [ "XNAS" ], "title": "Exchange" }, "expense_ratio": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Annual expense ratio as a fraction of assets.", "examples": [ "0.0020" ], "title": "Expense Ratio" }, "fund_category": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Fund category.", "examples": [ "Global Large-Cap Blend Equity" ], "title": "Fund Category" }, "fund_domicile": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 3166-1 alpha-2 domicile country code.", "examples": [ "IE" ], "title": "Fund Domicile" }, "fund_management": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Legal company that manages the fund.", "examples": [ "BlackRock Asset Management Ireland Limited" ], "title": "Fund Management" }, "hedge_currency": { "anyOf": [ { "$ref": "#/components/schemas/Currency" }, { "type": "null" } ], "description": "Currency into which foreign-exchange exposure is hedged.", "examples": [ "EUR" ] }, "icon_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Public CDN URL of the instrument's icon.", "examples": [ "https://storage.googleapis.com/sophic-assets/instrument-icons/in_x7GqT.png" ], "title": "Icon Url" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "initial_issue_date": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "description": "Fund inception date.", "examples": [ "2009-09-25" ], "title": "Initial Issue Date" }, "instrument_type": { "const": "etf", "description": "Instrument type.", "title": "Instrument Type" }, "isin": { "description": "International Securities Identification Number.", "examples": [ "US5949181045" ], "title": "Isin", "type": "string" }, "issuer": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Brand-level name of the fund issuer.", "examples": [ "iShares" ], "title": "Issuer" }, "issuer_country": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 3166-1 alpha-2 country code of the issuer.", "examples": [ "US" ], "title": "Issuer Country" }, "minimum_initial_cash_investment": { "description": "Minimum cash amount accepted for an initial investment.", "examples": [ "1000.00" ], "title": "Minimum Initial Cash Investment", "type": "string" }, "minimum_trading_quantity": { "description": "Smallest quantity accepted for an order.", "examples": [ "1.00" ], "title": "Minimum Trading Quantity", "type": "string" }, "name": { "description": "Display name of the instrument.", "examples": [ "Apple Inc." ], "title": "Name", "type": "string" }, "net_assets": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Total net asset value of the fund.", "examples": [ "84250000000.00" ], "title": "Net Assets" }, "price_type": { "allOf": [ { "$ref": "#/components/schemas/PriceType" } ], "description": "Price quotation type." }, "pro_traders_only": { "description": "Whether the instrument is restricted to professional investors.", "title": "Pro Traders Only", "type": "boolean" }, "replication_method": { "anyOf": [ { "$ref": "#/components/schemas/ETFReplicationMethod" }, { "type": "null" } ], "description": "How the fund replicates its tracking index." }, "required_cash_increment": { "description": "Cash increment accepted above the minimum investment.", "examples": [ 100 ], "title": "Required Cash Increment", "type": "integer" }, "rollout_stage": { "anyOf": [ { "$ref": "#/components/schemas/InstrumentRolloutStage" }, { "type": "null" } ], "description": "Availability stage of the instrument." }, "sri": { "anyOf": [ { "$ref": "#/components/schemas/SyntheticRiskIndicator" }, { "type": "null" } ], "description": "PRIIPs KID synthetic risk indicator." }, "symbol": { "description": "Market identifier, such as an ISIN or currency pair.", "examples": [ "US5949181045" ], "title": "Symbol", "type": "string" }, "ticker": { "description": "Ticker symbol of the ETF listing.", "examples": [ "IWDA" ], "title": "Ticker", "type": "string" }, "tracking_index": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Index tracked by the fund.", "examples": [ "MSCI World Index" ], "title": "Tracking Index" }, "trading_currency": { "allOf": [ { "$ref": "#/components/schemas/Currency" } ], "description": "Currency used to trade the instrument.", "examples": [ "USD" ] }, "trading_increment": { "description": "Smallest quantity increment accepted for orders.", "examples": [ "0.01" ], "title": "Trading Increment", "type": "string" }, "trading_status": { "allOf": [ { "$ref": "#/components/schemas/InstrumentTradingStatus" } ], "description": "Current trading status." } }, "required": [ "id", "name", "symbol", "instrument_type", "trading_status", "rollout_stage", "trading_increment", "decimal_precision", "pro_traders_only", "price_type", "isin", "ticker", "issuer", "issuer_country", "minimum_trading_quantity", "trading_currency", "initial_issue_date", "enforce_trading_rules", "minimum_initial_cash_investment", "required_cash_increment", "fund_management", "fund_category", "fund_domicile", "tracking_index", "expense_ratio", "replication_method", "distribution_policy", "distribution_frequency", "sri", "hedge_currency" ], "title": "ETF", "type": "object" }, "ETFDistributionFrequency": { "enum": [ "annual", "semi_annual", "quarterly", "monthly" ], "properties": {}, "title": "ETFDistributionFrequency", "type": "string" }, "ETFDistributionPolicy": { "enum": [ "accumulating", "distributing" ], "properties": {}, "title": "ETFDistributionPolicy", "type": "string" }, "ETFReplicationMethod": { "enum": [ "physical", "sampling", "synthetic" ], "properties": {}, "title": "ETFReplicationMethod", "type": "string" }, "EducationLevelClaimSpec": { "additionalProperties": false, "description": "Spec for education level claim data (MiFID II suitability).", "properties": { "claim_type": { "const": "education_level", "title": "Claim Type" }, "education_level": { "$ref": "#/components/schemas/ClaimEducationLevel" } }, "required": [ "claim_type", "education_level" ], "title": "EducationLevelClaimSpec", "type": "object" }, "EducationLevelPersonClaim": { "additionalProperties": false, "properties": { "archived_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer pending claim replaced this row; `null` if this is the current pending row.", "examples": [ "2026-07-20T08:15:00Z" ], "title": "Archived At" }, "claim_type": { "const": "education_level", "title": "Claim Type" }, "created_at": { "description": "Date and time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "education_level": { "$ref": "#/components/schemas/ClaimEducationLevel" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "lifecycle": { "description": "Derived lifecycle role from `status`, `archived_at`, and `superseded_at`.", "enum": [ "active", "in_flight", "historical" ], "readOnly": true, "title": "Lifecycle", "type": "string" }, "person": { "description": "ID of the person this claim belongs to.", "title": "Person", "type": "string" }, "status": { "description": "Claim status (`pending` or `verified`). Non-null `superseded_at` means a newer verified claim replaced this row.", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" }, "superseded_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer verified claim replaced this row; `null` if this is the current row.", "examples": [ "2026-08-01T12:00:00Z" ], "title": "Superseded At" }, "verified_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time the claim was verified; `null` while pending.", "examples": [ "2026-07-14T10:00:00Z" ], "title": "Verified At" } }, "required": [ "claim_type", "education_level", "id", "person", "created_at", "status", "verified_at", "superseded_at", "archived_at", "lifecycle" ], "title": "EducationLevelPersonClaim", "type": "object" }, "EducationLevelPersonClaimSummary": { "additionalProperties": false, "properties": { "claim_type": { "const": "education_level", "title": "Claim Type" }, "created_at": { "description": "Time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "education_level": { "$ref": "#/components/schemas/ClaimEducationLevel" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "status": { "description": "The status of the claim (`pending` or `verified`).", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" } }, "required": [ "claim_type", "education_level", "id", "created_at", "status" ], "title": "EducationLevelPersonClaimSummary", "type": "object" }, "EmploymentClaimSpec": { "additionalProperties": false, "description": "Spec for employment claim data (MiFID II suitability).", "properties": { "claim_type": { "const": "employment", "title": "Claim Type" }, "employment_status": { "$ref": "#/components/schemas/ClaimEmploymentStatus" }, "industry": { "anyOf": [ { "$ref": "#/components/schemas/ClaimIndustry" }, { "type": "null" } ] }, "industry_other": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Industry Other" } }, "required": [ "claim_type", "employment_status" ], "title": "EmploymentClaimSpec", "type": "object" }, "EmploymentPersonClaim": { "additionalProperties": false, "properties": { "archived_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer pending claim replaced this row; `null` if this is the current pending row.", "examples": [ "2026-07-20T08:15:00Z" ], "title": "Archived At" }, "claim_type": { "const": "employment", "title": "Claim Type" }, "created_at": { "description": "Date and time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "employment_status": { "$ref": "#/components/schemas/ClaimEmploymentStatus" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "industry": { "anyOf": [ { "$ref": "#/components/schemas/ClaimIndustry" }, { "type": "null" } ] }, "industry_other": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Industry Other" }, "lifecycle": { "description": "Derived lifecycle role from `status`, `archived_at`, and `superseded_at`.", "enum": [ "active", "in_flight", "historical" ], "readOnly": true, "title": "Lifecycle", "type": "string" }, "person": { "description": "ID of the person this claim belongs to.", "title": "Person", "type": "string" }, "status": { "description": "Claim status (`pending` or `verified`). Non-null `superseded_at` means a newer verified claim replaced this row.", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" }, "superseded_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer verified claim replaced this row; `null` if this is the current row.", "examples": [ "2026-08-01T12:00:00Z" ], "title": "Superseded At" }, "verified_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time the claim was verified; `null` while pending.", "examples": [ "2026-07-14T10:00:00Z" ], "title": "Verified At" } }, "required": [ "claim_type", "employment_status", "id", "person", "created_at", "status", "verified_at", "superseded_at", "archived_at", "lifecycle" ], "title": "EmploymentPersonClaim", "type": "object" }, "EmploymentPersonClaimSummary": { "additionalProperties": false, "properties": { "claim_type": { "const": "employment", "title": "Claim Type" }, "created_at": { "description": "Time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "employment_status": { "$ref": "#/components/schemas/ClaimEmploymentStatus" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "industry": { "anyOf": [ { "$ref": "#/components/schemas/ClaimIndustry" }, { "type": "null" } ] }, "industry_other": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Industry Other" }, "status": { "description": "The status of the claim (`pending` or `verified`).", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" } }, "required": [ "claim_type", "employment_status", "id", "created_at", "status" ], "title": "EmploymentPersonClaimSummary", "type": "object" }, "Error": { "properties": { "code": { "description": "A machine-readable error code.", "title": "Code", "type": "string" }, "context": { "additionalProperties": { "anyOf": [ { "type": "string" }, { "type": "integer" } ] }, "description": "An optional object for adding extra context to the error.", "title": "Context", "type": "object", "x-remove-null-from-type-union": true }, "detail": { "description": "A human-readable description of the error.", "title": "Detail", "type": "string" }, "docs": { "description": "A URL to documentation about this error code.", "title": "Docs", "type": "string", "x-remove-null-from-type-union": true }, "params": { "description": "An optional list of params that failed validation.", "items": { "$ref": "#/components/schemas/InvalidParam" }, "title": "Params", "type": "array", "x-remove-null-from-type-union": true } }, "required": [ "detail", "code" ], "title": "Error", "type": "object" }, "EurAmountBand": { "enum": [ "lt_50k", "50k_100k", "100k_250k", "250k_500k", "500k_1m", "1m_3m", "gt_3m" ], "properties": {}, "title": "EurAmountBand", "type": "string" }, "Event": { "properties": { "created_at": { "description": "Time the event was recorded.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "data": { "description": "Event-specific payload data.", "title": "Data", "type": "object" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "name": { "description": "Fully qualified event name, such as `customer.created`.", "title": "Name", "type": "string" }, "resource": { "allOf": [ { "$ref": "#/components/schemas/EventResource" } ], "description": "Resource associated with the event." } }, "required": [ "id", "name", "resource", "data", "created_at" ], "title": "Event", "type": "object" }, "EventResource": { "properties": { "id": { "description": "ID of the resource the event relates to.", "title": "Id", "type": "string" }, "resource_type": { "description": "Canonical resource type.", "title": "Resource Type", "type": "string" } }, "required": [ "id", "resource_type" ], "title": "EventResource", "type": "object" }, "EvidenceType": { "enum": [ "identity_document", "proof_of_address", "selfie", "certificate_of_shareholders", "certificate_of_directors", "certificate_of_good_standing", "financial_statements", "ownership_structure", "proof_of_registered_address", "proof_of_operating_address", "nominee_agreement", "board_resolution" ], "properties": {}, "title": "EvidenceType", "type": "string" }, "ExpectedActivityClaimSpec": { "additionalProperties": false, "description": "Spec for expected investment activity claim data.", "properties": { "annual_transactions": { "title": "Annual Transactions", "type": "string" }, "asset_classes": { "items": { "type": "string" }, "title": "Asset Classes", "type": "array" }, "claim_type": { "const": "expected_activity", "title": "Claim Type" }, "funding_currency": { "title": "Funding Currency", "type": "string" }, "investment_amount": { "title": "Investment Amount", "type": "string" } }, "required": [ "claim_type", "funding_currency", "asset_classes", "annual_transactions", "investment_amount" ], "title": "ExpectedActivityClaimSpec", "type": "object" }, "ExpectedActivityPersonClaim": { "additionalProperties": false, "properties": { "annual_transactions": { "title": "Annual Transactions", "type": "string" }, "archived_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer pending claim replaced this row; `null` if this is the current pending row.", "examples": [ "2026-07-20T08:15:00Z" ], "title": "Archived At" }, "asset_classes": { "items": { "type": "string" }, "title": "Asset Classes", "type": "array" }, "claim_type": { "const": "expected_activity", "title": "Claim Type" }, "created_at": { "description": "Date and time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "funding_currency": { "title": "Funding Currency", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "investment_amount": { "title": "Investment Amount", "type": "string" }, "lifecycle": { "description": "Derived lifecycle role from `status`, `archived_at`, and `superseded_at`.", "enum": [ "active", "in_flight", "historical" ], "readOnly": true, "title": "Lifecycle", "type": "string" }, "person": { "description": "ID of the person this claim belongs to.", "title": "Person", "type": "string" }, "status": { "description": "Claim status (`pending` or `verified`). Non-null `superseded_at` means a newer verified claim replaced this row.", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" }, "superseded_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer verified claim replaced this row; `null` if this is the current row.", "examples": [ "2026-08-01T12:00:00Z" ], "title": "Superseded At" }, "verified_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time the claim was verified; `null` while pending.", "examples": [ "2026-07-14T10:00:00Z" ], "title": "Verified At" } }, "required": [ "claim_type", "funding_currency", "asset_classes", "annual_transactions", "investment_amount", "id", "person", "created_at", "status", "verified_at", "superseded_at", "archived_at", "lifecycle" ], "title": "ExpectedActivityPersonClaim", "type": "object" }, "ExpectedActivityPersonClaimSummary": { "additionalProperties": false, "properties": { "annual_transactions": { "title": "Annual Transactions", "type": "string" }, "asset_classes": { "items": { "type": "string" }, "title": "Asset Classes", "type": "array" }, "claim_type": { "const": "expected_activity", "title": "Claim Type" }, "created_at": { "description": "Time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "funding_currency": { "title": "Funding Currency", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "investment_amount": { "title": "Investment Amount", "type": "string" }, "status": { "description": "The status of the claim (`pending` or `verified`).", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" } }, "required": [ "claim_type", "funding_currency", "asset_classes", "annual_transactions", "investment_amount", "id", "created_at", "status" ], "title": "ExpectedActivityPersonClaimSummary", "type": "object" }, "FatcaStatusClaimSpec": { "additionalProperties": false, "description": "Spec for FATCA US-person status (natural or legal person).", "properties": { "claim_type": { "const": "fatca_status", "title": "Claim Type" }, "is_us_person": { "title": "Is Us Person", "type": "boolean" } }, "required": [ "claim_type", "is_us_person" ], "title": "FatcaStatusClaimSpec", "type": "object" }, "FatcaStatusPersonClaim": { "additionalProperties": false, "properties": { "archived_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer pending claim replaced this row; `null` if this is the current pending row.", "examples": [ "2026-07-20T08:15:00Z" ], "title": "Archived At" }, "claim_type": { "const": "fatca_status", "title": "Claim Type" }, "created_at": { "description": "Date and time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "is_us_person": { "title": "Is Us Person", "type": "boolean" }, "lifecycle": { "description": "Derived lifecycle role from `status`, `archived_at`, and `superseded_at`.", "enum": [ "active", "in_flight", "historical" ], "readOnly": true, "title": "Lifecycle", "type": "string" }, "person": { "description": "ID of the person this claim belongs to.", "title": "Person", "type": "string" }, "status": { "description": "Claim status (`pending` or `verified`). Non-null `superseded_at` means a newer verified claim replaced this row.", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" }, "superseded_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer verified claim replaced this row; `null` if this is the current row.", "examples": [ "2026-08-01T12:00:00Z" ], "title": "Superseded At" }, "verified_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time the claim was verified; `null` while pending.", "examples": [ "2026-07-14T10:00:00Z" ], "title": "Verified At" } }, "required": [ "claim_type", "is_us_person", "id", "person", "created_at", "status", "verified_at", "superseded_at", "archived_at", "lifecycle" ], "title": "FatcaStatusPersonClaim", "type": "object" }, "FatcaStatusPersonClaimSummary": { "additionalProperties": false, "properties": { "claim_type": { "const": "fatca_status", "title": "Claim Type" }, "created_at": { "description": "Time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "is_us_person": { "title": "Is Us Person", "type": "boolean" }, "status": { "description": "The status of the claim (`pending` or `verified`).", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" } }, "required": [ "claim_type", "is_us_person", "id", "created_at", "status" ], "title": "FatcaStatusPersonClaimSummary", "type": "object" }, "Fee": { "properties": { "alias": { "description": "Stable alias of the fee.", "title": "Alias", "type": "string" }, "chargeable_currencies": { "additionalProperties": { "$ref": "#/components/schemas/FeeChargeableCurrency" }, "description": "Fee amounts by chargeable currency.", "title": "Chargeable Currencies", "type": "object" }, "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Description of the fee.", "title": "Description" }, "display_name": { "description": "Display name of the fee.", "title": "Display Name", "type": "string" }, "fee_type": { "allOf": [ { "$ref": "#/components/schemas/FeeType" } ], "description": "Type of fee." }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "name": { "description": "Internal name of the fee.", "title": "Name", "type": "string" }, "tax_rate": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Tax rate applied to the fee.", "examples": [ "0.20" ], "title": "Tax Rate" }, "transaction_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Transaction type to which the fee applies.", "title": "Transaction Type" } }, "required": [ "created_at", "modified_at", "id", "name", "display_name", "alias", "description", "tax_rate", "fee_type", "transaction_type", "chargeable_currencies" ], "title": "Fee", "type": "object" }, "FeeCharge": { "properties": { "amount_fee": { "description": "Fee amount before tax.", "examples": [ "10.00" ], "title": "Amount Fee", "type": "string" }, "amount_tax": { "description": "Tax amount charged.", "examples": [ "2.00" ], "title": "Amount Tax", "type": "string" }, "amount_total": { "description": "Total fee and tax amount.", "examples": [ "12.00" ], "title": "Amount Total", "type": "string" }, "collected_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time the charge was collected.", "examples": [ "2026-02-01T09:30:00Z" ], "title": "Collected At" }, "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "currency": { "allOf": [ { "$ref": "#/components/schemas/Currency" } ], "description": "Currency of the charge amounts." }, "fee": { "allOf": [ { "$ref": "#/components/schemas/Fee" } ], "description": "Fee represented by this charge." }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "is_fully_refunded": { "description": "Whether the full charge has been refunded.", "title": "Is Fully Refunded", "type": "boolean" }, "is_partially_refunded": { "description": "Whether part of the charge has been refunded.", "title": "Is Partially Refunded", "type": "boolean" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "period_end": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "description": "End date of the period covered by the charge.", "examples": [ "2026-01-31" ], "title": "Period End" }, "period_start": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "description": "Start date of the period covered by the charge.", "examples": [ "2026-01-01" ], "title": "Period Start" }, "refundable_amount": { "description": "Amount remaining eligible for refund.", "examples": [ "7.00" ], "title": "Refundable Amount", "type": "string" }, "refunded_amount": { "description": "Amount already refunded.", "examples": [ "5.00" ], "title": "Refunded Amount", "type": "string" }, "refunds": { "description": "Refunds issued for the fee charge.", "items": { "$ref": "#/components/schemas/Refund" }, "title": "Refunds", "type": "array" }, "related_transaction": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Transaction associated with the fee charge.", "title": "Related Transaction" }, "related_transaction_amount": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Amount of the associated transaction.", "examples": [ "250.00" ], "title": "Related Transaction Amount" }, "tax_rate": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Tax rate applied to the fee charge.", "examples": [ "0.20" ], "title": "Tax Rate" } }, "required": [ "created_at", "modified_at", "id", "tax_rate", "fee", "amount_fee", "amount_tax", "amount_total", "refunded_amount", "refundable_amount", "is_fully_refunded", "is_partially_refunded", "currency", "period_start", "period_end", "collected_at", "related_transaction", "related_transaction_amount", "refunds" ], "title": "FeeCharge", "type": "object" }, "FeeChargeableCurrency": { "properties": { "unit_amount": { "description": "Fee amount charged in this currency.", "examples": [ "2.50" ], "title": "Unit Amount", "type": "string" } }, "required": [ "unit_amount" ], "title": "FeeChargeableCurrency", "type": "object" }, "FeeType": { "enum": [ "transaction", "recurring" ], "properties": {}, "title": "FeeType", "type": "string" }, "File": { "properties": { "content_type": { "description": "MIME type of the uploaded file.", "title": "Content Type", "type": "string" }, "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "filename": { "description": "Name of the uploaded file.", "title": "Filename", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "purpose": { "description": "Purpose of the uploaded file.", "enum": [ "verification_evidence", "legal_document", "welcome_letter", "trade_confirmation", "fee_statement", "account_statement" ], "title": "Purpose", "type": "string" }, "signed_upload": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ID of the signed upload that created the file.", "title": "Signed Upload" } }, "required": [ "created_at", "modified_at", "id", "filename", "content_type", "purpose", "signed_upload" ], "title": "File", "type": "object" }, "FinancialProfileClaimSpec": { "additionalProperties": false, "description": "Spec for income and wealth financial profile claim data.", "properties": { "annual_income_eur": { "$ref": "#/components/schemas/EurAmountBand" }, "claim_type": { "const": "financial_profile", "title": "Claim Type" }, "income_sources": { "items": { "$ref": "#/components/schemas/ClaimIncomeSource" }, "minItems": 1, "title": "Income Sources", "type": "array" }, "net_worth_eur": { "$ref": "#/components/schemas/EurAmountBand" }, "wealth_sources": { "items": { "$ref": "#/components/schemas/ClaimWealthSource" }, "minItems": 1, "title": "Wealth Sources", "type": "array" } }, "required": [ "claim_type", "annual_income_eur", "income_sources", "net_worth_eur", "wealth_sources" ], "title": "FinancialProfileClaimSpec", "type": "object" }, "FinancialProfilePersonClaim": { "additionalProperties": false, "properties": { "annual_income_eur": { "$ref": "#/components/schemas/EurAmountBand" }, "archived_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer pending claim replaced this row; `null` if this is the current pending row.", "examples": [ "2026-07-20T08:15:00Z" ], "title": "Archived At" }, "claim_type": { "const": "financial_profile", "title": "Claim Type" }, "created_at": { "description": "Date and time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "income_sources": { "items": { "$ref": "#/components/schemas/ClaimIncomeSource" }, "minItems": 1, "title": "Income Sources", "type": "array" }, "lifecycle": { "description": "Derived lifecycle role from `status`, `archived_at`, and `superseded_at`.", "enum": [ "active", "in_flight", "historical" ], "readOnly": true, "title": "Lifecycle", "type": "string" }, "net_worth_eur": { "$ref": "#/components/schemas/EurAmountBand" }, "person": { "description": "ID of the person this claim belongs to.", "title": "Person", "type": "string" }, "status": { "description": "Claim status (`pending` or `verified`). Non-null `superseded_at` means a newer verified claim replaced this row.", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" }, "superseded_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer verified claim replaced this row; `null` if this is the current row.", "examples": [ "2026-08-01T12:00:00Z" ], "title": "Superseded At" }, "verified_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time the claim was verified; `null` while pending.", "examples": [ "2026-07-14T10:00:00Z" ], "title": "Verified At" }, "wealth_sources": { "items": { "$ref": "#/components/schemas/ClaimWealthSource" }, "minItems": 1, "title": "Wealth Sources", "type": "array" } }, "required": [ "claim_type", "annual_income_eur", "income_sources", "net_worth_eur", "wealth_sources", "id", "person", "created_at", "status", "verified_at", "superseded_at", "archived_at", "lifecycle" ], "title": "FinancialProfilePersonClaim", "type": "object" }, "FinancialProfilePersonClaimSummary": { "additionalProperties": false, "properties": { "annual_income_eur": { "$ref": "#/components/schemas/EurAmountBand" }, "claim_type": { "const": "financial_profile", "title": "Claim Type" }, "created_at": { "description": "Time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "income_sources": { "items": { "$ref": "#/components/schemas/ClaimIncomeSource" }, "minItems": 1, "title": "Income Sources", "type": "array" }, "net_worth_eur": { "$ref": "#/components/schemas/EurAmountBand" }, "status": { "description": "The status of the claim (`pending` or `verified`).", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" }, "wealth_sources": { "items": { "$ref": "#/components/schemas/ClaimWealthSource" }, "minItems": 1, "title": "Wealth Sources", "type": "array" } }, "required": [ "claim_type", "annual_income_eur", "income_sources", "net_worth_eur", "wealth_sources", "id", "created_at", "status" ], "title": "FinancialProfilePersonClaimSummary", "type": "object" }, "FundingAccount": { "properties": { "bank_code": { "description": "The bank code, such as a BIC or SWIFT code.", "title": "Bank Code", "type": "string" }, "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "currency": { "allOf": [ { "$ref": "#/components/schemas/Currency" } ], "description": "The currency of the funding account." }, "iban": { "description": "The IBAN of the funding account.", "title": "Iban", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "is_verified": { "default": false, "description": "Whether ownership of the funding account is verified.", "title": "Is Verified", "type": "boolean" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "nickname": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The user-provided nickname for the funding account.", "title": "Nickname" }, "owner_name": { "description": "The owner name as specified by the bank on the funding account.", "title": "Owner Name", "type": "string" } }, "required": [ "created_at", "modified_at", "id", "owner_name", "iban", "bank_code", "currency" ], "title": "FundingAccount", "type": "object" }, "GenerateAccountStatementRequest": { "properties": { "period_end": { "description": "The end of the period to generate the statement for, exclusive.", "examples": [ "2026-02-01" ], "format": "date", "title": "Period End", "type": "string" }, "period_start": { "description": "The start of the period to generate the statement for, inclusive.", "examples": [ "2026-01-01" ], "format": "date", "title": "Period Start", "type": "string" } }, "required": [ "period_start", "period_end" ], "title": "GenerateAccountStatementRequest", "type": "object" }, "HTTPValidationError": { "properties": { "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "title": "Detail", "type": "array" } }, "title": "HTTPValidationError", "type": "object" }, "IdentityClaimSpec": { "additionalProperties": false, "description": "Spec for identity claim data.", "properties": { "claim_type": { "const": "identity", "title": "Claim Type" }, "date_of_birth": { "format": "date", "title": "Date Of Birth", "type": "string" }, "first_name": { "title": "First Name", "type": "string" }, "last_name": { "title": "Last Name", "type": "string" } }, "required": [ "claim_type", "first_name", "last_name", "date_of_birth" ], "title": "IdentityClaimSpec", "type": "object" }, "IdentityPersonClaim": { "additionalProperties": false, "properties": { "archived_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer pending claim replaced this row; `null` if this is the current pending row.", "examples": [ "2026-07-20T08:15:00Z" ], "title": "Archived At" }, "claim_type": { "const": "identity", "title": "Claim Type" }, "created_at": { "description": "Date and time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "date_of_birth": { "format": "date", "title": "Date Of Birth", "type": "string" }, "first_name": { "title": "First Name", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "last_name": { "title": "Last Name", "type": "string" }, "lifecycle": { "description": "Derived lifecycle role from `status`, `archived_at`, and `superseded_at`.", "enum": [ "active", "in_flight", "historical" ], "readOnly": true, "title": "Lifecycle", "type": "string" }, "person": { "description": "ID of the person this claim belongs to.", "title": "Person", "type": "string" }, "status": { "description": "Claim status (`pending` or `verified`). Non-null `superseded_at` means a newer verified claim replaced this row.", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" }, "superseded_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer verified claim replaced this row; `null` if this is the current row.", "examples": [ "2026-08-01T12:00:00Z" ], "title": "Superseded At" }, "verified_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time the claim was verified; `null` while pending.", "examples": [ "2026-07-14T10:00:00Z" ], "title": "Verified At" } }, "required": [ "claim_type", "first_name", "last_name", "date_of_birth", "id", "person", "created_at", "status", "verified_at", "superseded_at", "archived_at", "lifecycle" ], "title": "IdentityPersonClaim", "type": "object" }, "IdentityPersonClaimSummary": { "additionalProperties": false, "properties": { "claim_type": { "const": "identity", "title": "Claim Type" }, "created_at": { "description": "Time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "date_of_birth": { "format": "date", "title": "Date Of Birth", "type": "string" }, "first_name": { "title": "First Name", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "last_name": { "title": "Last Name", "type": "string" }, "status": { "description": "The status of the claim (`pending` or `verified`).", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" } }, "required": [ "claim_type", "first_name", "last_name", "date_of_birth", "id", "created_at", "status" ], "title": "IdentityPersonClaimSummary", "type": "object" }, "IndividualCustomer": { "properties": { "address": { "anyOf": [ { "$ref": "#/components/schemas/Address" }, { "type": "null" } ], "description": "Customer's primary address." }, "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "customer_type": { "const": "individual", "description": "Customer classification.", "title": "Customer Type" }, "date_of_birth": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Customer's date and time of birth.", "examples": [ "1988-04-12T00:00:00Z" ], "title": "Date Of Birth" }, "first_name": { "description": "Customer's first name.", "title": "First Name", "type": "string" }, "full_name": { "description": "Customer's full display name.", "title": "Full Name", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "id_number": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Masked national identity number.", "title": "Id Number" }, "last_name": { "description": "Customer's last name.", "title": "Last Name", "type": "string" }, "mifid_category": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Customer's MiFID classification.", "title": "Mifid Category" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "nationalities": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "description": "ISO 3166-1 alpha-2 nationality codes.", "title": "Nationalities" }, "onboarding": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ID of the customer's onboarding process.", "title": "Onboarding" }, "passport_number": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Masked passport number.", "title": "Passport Number" }, "phone_number": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Customer's primary phone number.", "title": "Phone Number" }, "reference": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Customer-visible reference.", "title": "Reference" }, "referrer_code": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Referral code associated with the customer.", "title": "Referrer Code" }, "risk_profile": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Customer's assigned risk profile.", "title": "Risk Profile" }, "risk_score": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Customer's risk score.", "examples": [ "42.50" ], "title": "Risk Score" }, "status": { "allOf": [ { "$ref": "#/components/schemas/CustomerStatus" } ], "description": "Current customer status." }, "tax_number": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Masked tax identification number.", "title": "Tax Number" } }, "required": [ "created_at", "modified_at", "id", "reference", "status", "full_name", "onboarding", "mifid_category", "address", "phone_number", "risk_profile", "risk_score", "referrer_code", "customer_type", "first_name", "last_name", "date_of_birth", "nationalities", "passport_number", "id_number", "tax_number" ], "title": "IndividualCustomer", "type": "object" }, "InstrumentRolloutStage": { "enum": [ "ga", "beta", "provisional" ], "properties": {}, "title": "InstrumentRolloutStage", "type": "string" }, "InstrumentTradingStatus": { "enum": [ "buy_sell", "buy_only", "sell_only", "not_trading" ], "properties": {}, "title": "InstrumentTradingStatus", "type": "string" }, "InstrumentType": { "enum": [ "money_market_fund", "stock", "bill", "bond", "etf", "mutual_fund", "currency_pair", "amc" ], "properties": {}, "title": "InstrumentType", "type": "string" }, "InvalidParam": { "properties": { "code": { "description": "A machine-readable error code.", "title": "Code", "type": "string" }, "detail": { "description": "Human-readable detail for error.", "title": "Detail", "type": "string" }, "path": { "description": "Path to the field name (or index if a list) that errored.", "items": { "anyOf": [ { "type": "integer" }, { "type": "string" } ] }, "title": "Path", "type": "array" } }, "required": [ "path", "detail", "code" ], "title": "InvalidParam", "type": "object" }, "InvestmentExperienceClaimSpec": { "additionalProperties": false, "description": "Spec for prior investment experience claim data.", "properties": { "asset_classes": { "items": { "$ref": "#/components/schemas/ClaimAssetClass" }, "title": "Asset Classes", "type": "array" }, "claim_type": { "const": "investment_experience", "title": "Claim Type" }, "has_prior_experience": { "title": "Has Prior Experience", "type": "boolean" } }, "required": [ "claim_type", "has_prior_experience" ], "title": "InvestmentExperienceClaimSpec", "type": "object" }, "InvestmentExperiencePersonClaim": { "additionalProperties": false, "properties": { "archived_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer pending claim replaced this row; `null` if this is the current pending row.", "examples": [ "2026-07-20T08:15:00Z" ], "title": "Archived At" }, "asset_classes": { "items": { "$ref": "#/components/schemas/ClaimAssetClass" }, "title": "Asset Classes", "type": "array" }, "claim_type": { "const": "investment_experience", "title": "Claim Type" }, "created_at": { "description": "Date and time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "has_prior_experience": { "title": "Has Prior Experience", "type": "boolean" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "lifecycle": { "description": "Derived lifecycle role from `status`, `archived_at`, and `superseded_at`.", "enum": [ "active", "in_flight", "historical" ], "readOnly": true, "title": "Lifecycle", "type": "string" }, "person": { "description": "ID of the person this claim belongs to.", "title": "Person", "type": "string" }, "status": { "description": "Claim status (`pending` or `verified`). Non-null `superseded_at` means a newer verified claim replaced this row.", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" }, "superseded_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer verified claim replaced this row; `null` if this is the current row.", "examples": [ "2026-08-01T12:00:00Z" ], "title": "Superseded At" }, "verified_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time the claim was verified; `null` while pending.", "examples": [ "2026-07-14T10:00:00Z" ], "title": "Verified At" } }, "required": [ "claim_type", "has_prior_experience", "id", "person", "created_at", "status", "verified_at", "superseded_at", "archived_at", "lifecycle" ], "title": "InvestmentExperiencePersonClaim", "type": "object" }, "InvestmentExperiencePersonClaimSummary": { "additionalProperties": false, "properties": { "asset_classes": { "items": { "$ref": "#/components/schemas/ClaimAssetClass" }, "title": "Asset Classes", "type": "array" }, "claim_type": { "const": "investment_experience", "title": "Claim Type" }, "created_at": { "description": "Time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "has_prior_experience": { "title": "Has Prior Experience", "type": "boolean" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "status": { "description": "The status of the claim (`pending` or `verified`).", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" } }, "required": [ "claim_type", "has_prior_experience", "id", "created_at", "status" ], "title": "InvestmentExperiencePersonClaimSummary", "type": "object" }, "JointCustomer": { "properties": { "address": { "anyOf": [ { "$ref": "#/components/schemas/Address" }, { "type": "null" } ], "description": "Customer's primary address." }, "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "customer_type": { "const": "joint", "description": "Customer classification.", "title": "Customer Type" }, "first_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Combined first names of the joint owners.", "title": "First Name" }, "full_name": { "description": "Customer's full display name.", "title": "Full Name", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "last_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Combined last names of the joint owners.", "title": "Last Name" }, "mifid_category": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Customer's MiFID classification.", "title": "Mifid Category" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "onboarding": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ID of the customer's onboarding process.", "title": "Onboarding" }, "phone_number": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Customer's primary phone number.", "title": "Phone Number" }, "reference": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Customer-visible reference.", "title": "Reference" }, "referrer_code": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Referral code associated with the customer.", "title": "Referrer Code" }, "risk_profile": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Customer's assigned risk profile.", "title": "Risk Profile" }, "risk_score": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Customer's risk score.", "examples": [ "42.50" ], "title": "Risk Score" }, "status": { "allOf": [ { "$ref": "#/components/schemas/CustomerStatus" } ], "description": "Current customer status." } }, "required": [ "created_at", "modified_at", "id", "reference", "status", "full_name", "onboarding", "mifid_category", "address", "phone_number", "risk_profile", "risk_score", "referrer_code", "customer_type", "first_name", "last_name" ], "title": "JointCustomer", "type": "object" }, "LegalDocument": { "properties": { "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "document_type": { "allOf": [ { "$ref": "#/components/schemas/LegalDocumentType" } ], "description": "Legal document type." }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "latest_version": { "anyOf": [ { "$ref": "#/components/schemas/LegalDocumentVersion" }, { "type": "null" } ], "description": "Latest version of the legal document." }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "name": { "description": "Legal document name.", "title": "Name", "type": "string" } }, "required": [ "created_at", "modified_at", "id", "name", "document_type", "latest_version" ], "title": "LegalDocument", "type": "object" }, "LegalDocumentType": { "enum": [ "investment_services_agreement", "risk_disclosures", "conflicts_of_interest_policy", "complaints_handling_policy", "client_assets_safeguarding_policy", "investor_compensation_fund_policy", "order_execution_policy", "costs_and_charges", "pccpc_prospectus", "pccpc_special_regulations", "pccpc_acceptance_declaration" ], "properties": {}, "title": "LegalDocumentType", "type": "string" }, "LegalDocumentVersion": { "properties": { "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "effective_at": { "description": "Time the legal document version becomes effective.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Effective At", "type": "string" }, "file": { "description": "ID of the file for the legal document version.", "title": "File", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "legal_document": { "description": "ID of the parent legal document.", "title": "Legal Document", "type": "string" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "version": { "description": "Version of the legal document.", "title": "Version", "type": "string" } }, "required": [ "created_at", "modified_at", "id", "legal_document", "version", "effective_at", "file" ], "title": "LegalDocumentVersion", "type": "object" }, "LegalDocumentVersionWithDownloadUrl": { "properties": { "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "download_url": { "description": "Download URL for the legal document version.", "title": "Download Url", "type": "string" }, "effective_at": { "description": "Time the legal document version becomes effective.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Effective At", "type": "string" }, "file": { "description": "ID of the file for the legal document version.", "title": "File", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "legal_document": { "description": "ID of the parent legal document.", "title": "Legal Document", "type": "string" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "version": { "description": "Version of the legal document.", "title": "Version", "type": "string" } }, "required": [ "created_at", "modified_at", "id", "legal_document", "version", "effective_at", "file", "download_url" ], "title": "LegalDocumentVersionWithDownloadUrl", "type": "object" }, "LegalEntityType": { "enum": [ "limited_company", "partnership", "sole_proprietorship", "foundation", "trust", "cooperative", "other" ], "properties": {}, "title": "LegalEntityType", "type": "string" }, "LegalPerson": { "properties": { "address": { "anyOf": [ { "$ref": "#/components/schemas/Address" }, { "type": "null" } ], "description": "Registered address: residential for natural persons, registered office for legal persons." }, "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "entity_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Registered legal entity name.", "title": "Entity Name" }, "entity_type": { "anyOf": [ { "$ref": "#/components/schemas/LegalEntityType" }, { "type": "null" } ], "description": "Legal entity type (e.g. `limited_company`, `partnership`)." }, "full_name": { "description": "Full name: first and last for natural persons, entity name for legal persons.", "title": "Full Name", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "lei_code": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Legal Entity Identifier.", "title": "Lei Code" }, "lei_code_expiry_date": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "description": "Expiry date of the Legal Entity Identifier.", "examples": [ "2027-06-30" ], "title": "Lei Code Expiry Date" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "operating_address": { "anyOf": [ { "$ref": "#/components/schemas/Address" }, { "type": "null" } ], "description": "Primary operating address." }, "person_type": { "const": "legal", "description": "Person classification.", "title": "Person Type" }, "phone_number": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Person's primary phone number.", "title": "Phone Number" } }, "required": [ "created_at", "modified_at", "id", "person_type", "full_name", "address", "phone_number", "entity_name", "entity_type", "lei_code", "lei_code_expiry_date", "operating_address" ], "title": "LegalPerson", "type": "object" }, "LeiClaimSpec": { "additionalProperties": false, "description": "Spec for Legal Entity Identifier (LEI) claim data.", "properties": { "claim_type": { "const": "lei", "title": "Claim Type" }, "expiry_date": { "format": "date", "title": "Expiry Date", "type": "string" }, "identifier": { "title": "Identifier", "type": "string" } }, "required": [ "claim_type", "identifier", "expiry_date" ], "title": "LeiClaimSpec", "type": "object" }, "LeiPersonClaim": { "additionalProperties": false, "properties": { "archived_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer pending claim replaced this row; `null` if this is the current pending row.", "examples": [ "2026-07-20T08:15:00Z" ], "title": "Archived At" }, "claim_type": { "const": "lei", "title": "Claim Type" }, "created_at": { "description": "Date and time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "expiry_date": { "format": "date", "title": "Expiry Date", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "identifier": { "title": "Identifier", "type": "string" }, "lifecycle": { "description": "Derived lifecycle role from `status`, `archived_at`, and `superseded_at`.", "enum": [ "active", "in_flight", "historical" ], "readOnly": true, "title": "Lifecycle", "type": "string" }, "person": { "description": "ID of the person this claim belongs to.", "title": "Person", "type": "string" }, "status": { "description": "Claim status (`pending` or `verified`). Non-null `superseded_at` means a newer verified claim replaced this row.", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" }, "superseded_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer verified claim replaced this row; `null` if this is the current row.", "examples": [ "2026-08-01T12:00:00Z" ], "title": "Superseded At" }, "verified_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time the claim was verified; `null` while pending.", "examples": [ "2026-07-14T10:00:00Z" ], "title": "Verified At" } }, "required": [ "claim_type", "identifier", "expiry_date", "id", "person", "created_at", "status", "verified_at", "superseded_at", "archived_at", "lifecycle" ], "title": "LeiPersonClaim", "type": "object" }, "LeiPersonClaimSummary": { "additionalProperties": false, "properties": { "claim_type": { "const": "lei", "title": "Claim Type" }, "created_at": { "description": "Time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "expiry_date": { "format": "date", "title": "Expiry Date", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "identifier": { "title": "Identifier", "type": "string" }, "status": { "description": "The status of the claim (`pending` or `verified`).", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" } }, "required": [ "claim_type", "identifier", "expiry_date", "id", "created_at", "status" ], "title": "LeiPersonClaimSummary", "type": "object" }, "MoneyMarketFund": { "properties": { "about": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Summary of the instrument.", "examples": [ "Common stock listed on the Nasdaq Global Select Market." ], "title": "About" }, "benchmark": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Benchmark used to evaluate fund performance.", "examples": [ "Euro Short-Term Rate (€STR)" ], "title": "Benchmark" }, "dealing_deadline": { "description": "Daily cutoff time for placing orders.", "examples": [ "13:00:00" ], "format": "time", "title": "Dealing Deadline", "type": "string" }, "dealing_deadline_time_and_day": { "description": "Next dealing cutoff shown as time and date.", "examples": [ "13:00 Jul 15, 2026" ], "title": "Dealing Deadline Time And Day", "type": "string" }, "decimal_precision": { "description": "Decimal places used by the trading increment.", "examples": [ 2 ], "title": "Decimal Precision", "type": "integer" }, "enforce_trading_rules": { "description": "Whether order amounts must satisfy the instrument trading rules.", "title": "Enforce Trading Rules", "type": "boolean" }, "exchange": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "MIC of the listing venue.", "examples": [ "XNAS" ], "title": "Exchange" }, "fund_management_company": { "description": "Company that manages the fund.", "examples": [ "BlackRock Asset Management Ireland Limited" ], "title": "Fund Management Company", "type": "string" }, "fund_ongoing_charges": { "description": "Annual ongoing charges as a percentage.", "examples": [ "0.15" ], "title": "Fund Ongoing Charges", "type": "string" }, "icon_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Public CDN URL of the instrument's icon.", "examples": [ "https://storage.googleapis.com/sophic-assets/instrument-icons/in_x7GqT.png" ], "title": "Icon Url" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "initial_issue_date": { "description": "Date the fund was first issued.", "examples": [ "2013-07-15" ], "format": "date", "title": "Initial Issue Date", "type": "string" }, "instrument_type": { "const": "money_market_fund", "description": "Instrument type.", "title": "Instrument Type" }, "investment_objective": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Investment objective of the fund.", "examples": [ "Preserve capital while providing daily liquidity and income." ], "title": "Investment Objective" }, "is_passed_dealing_deadline": { "description": "Whether today's dealing cutoff has passed.", "title": "Is Passed Dealing Deadline", "type": "boolean" }, "is_qualifying_mmf": { "description": "Whether the fund qualifies as a QMMF under MiFID.", "title": "Is Qualifying Mmf", "type": "boolean" }, "isin": { "description": "International Securities Identification Number.", "examples": [ "US5949181045" ], "title": "Isin", "type": "string" }, "issuer": { "description": "Name of the issuer.", "examples": [ "BlackRock Asset Management Ireland Limited" ], "title": "Issuer", "type": "string" }, "issuer_country": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 3166-1 alpha-2 country code of the issuer.", "examples": [ "US" ], "title": "Issuer Country" }, "issuer_credit_rating": { "description": "Issuer credit rating.", "examples": [ "AAA" ], "title": "Issuer Credit Rating", "type": "string" }, "minimum_initial_cash_investment": { "description": "Minimum cash amount accepted for an initial investment.", "examples": [ "1000.00" ], "title": "Minimum Initial Cash Investment", "type": "string" }, "minimum_trading_quantity": { "description": "Smallest quantity accepted for an order.", "examples": [ "1.00" ], "title": "Minimum Trading Quantity", "type": "string" }, "name": { "description": "Display name of the instrument.", "examples": [ "Apple Inc." ], "title": "Name", "type": "string" }, "price_type": { "allOf": [ { "$ref": "#/components/schemas/PriceType" } ], "description": "Price quotation type." }, "pro_traders_only": { "description": "Whether the instrument is restricted to professional investors.", "title": "Pro Traders Only", "type": "boolean" }, "required_cash_increment": { "description": "Cash increment accepted above the minimum investment.", "examples": [ 100 ], "title": "Required Cash Increment", "type": "integer" }, "rollout_stage": { "anyOf": [ { "$ref": "#/components/schemas/InstrumentRolloutStage" }, { "type": "null" } ], "description": "Availability stage of the instrument." }, "symbol": { "description": "Market identifier, such as an ISIN or currency pair.", "examples": [ "US5949181045" ], "title": "Symbol", "type": "string" }, "ticker": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Ticker symbol of the security.", "examples": [ "AAPL" ], "title": "Ticker" }, "trading_currency": { "allOf": [ { "$ref": "#/components/schemas/Currency" } ], "description": "Currency used to trade the instrument.", "examples": [ "USD" ] }, "trading_increment": { "description": "Smallest quantity increment accepted for orders.", "examples": [ "0.01" ], "title": "Trading Increment", "type": "string" }, "trading_status": { "allOf": [ { "$ref": "#/components/schemas/InstrumentTradingStatus" } ], "description": "Current trading status." } }, "required": [ "id", "name", "symbol", "instrument_type", "trading_status", "rollout_stage", "trading_increment", "decimal_precision", "pro_traders_only", "price_type", "isin", "issuer", "issuer_country", "minimum_trading_quantity", "trading_currency", "initial_issue_date", "enforce_trading_rules", "minimum_initial_cash_investment", "required_cash_increment", "issuer_credit_rating", "dealing_deadline", "dealing_deadline_time_and_day", "fund_management_company", "investment_objective", "is_passed_dealing_deadline", "benchmark", "fund_ongoing_charges", "is_qualifying_mmf" ], "title": "MoneyMarketFund", "type": "object" }, "NationalitiesClaimSpec": { "additionalProperties": false, "description": "Spec for nationalities claim data.", "properties": { "claim_type": { "const": "nationalities", "title": "Claim Type" }, "nationalities": { "items": { "$ref": "#/components/schemas/NationalityEntry" }, "title": "Nationalities", "type": "array" } }, "required": [ "claim_type" ], "title": "NationalitiesClaimSpec", "type": "object" }, "NationalitiesPersonClaim": { "additionalProperties": false, "properties": { "archived_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer pending claim replaced this row; `null` if this is the current pending row.", "examples": [ "2026-07-20T08:15:00Z" ], "title": "Archived At" }, "claim_type": { "const": "nationalities", "title": "Claim Type" }, "created_at": { "description": "Date and time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "lifecycle": { "description": "Derived lifecycle role from `status`, `archived_at`, and `superseded_at`.", "enum": [ "active", "in_flight", "historical" ], "readOnly": true, "title": "Lifecycle", "type": "string" }, "nationalities": { "items": { "$ref": "#/components/schemas/NationalityEntry" }, "title": "Nationalities", "type": "array" }, "person": { "description": "ID of the person this claim belongs to.", "title": "Person", "type": "string" }, "status": { "description": "Claim status (`pending` or `verified`). Non-null `superseded_at` means a newer verified claim replaced this row.", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" }, "superseded_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer verified claim replaced this row; `null` if this is the current row.", "examples": [ "2026-08-01T12:00:00Z" ], "title": "Superseded At" }, "verified_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time the claim was verified; `null` while pending.", "examples": [ "2026-07-14T10:00:00Z" ], "title": "Verified At" } }, "required": [ "claim_type", "id", "person", "created_at", "status", "verified_at", "superseded_at", "archived_at", "lifecycle" ], "title": "NationalitiesPersonClaim", "type": "object" }, "NationalitiesPersonClaimSummary": { "additionalProperties": false, "properties": { "claim_type": { "const": "nationalities", "title": "Claim Type" }, "created_at": { "description": "Time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "nationalities": { "items": { "$ref": "#/components/schemas/NationalityEntry" }, "title": "Nationalities", "type": "array" }, "status": { "description": "The status of the claim (`pending` or `verified`).", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" } }, "required": [ "claim_type", "id", "created_at", "status" ], "title": "NationalitiesPersonClaimSummary", "type": "object" }, "NationalityBasis": { "enum": [ "birth", "naturalisation", "descent", "marriage", "investment_programme", "other" ], "properties": {}, "title": "NationalityBasis", "type": "string" }, "NationalityEntry": { "additionalProperties": false, "properties": { "basis": { "anyOf": [ { "$ref": "#/components/schemas/NationalityBasis" }, { "type": "null" } ] }, "country_code": { "title": "Country Code", "type": "string" } }, "required": [ "country_code" ], "title": "NationalityEntry", "type": "object" }, "NaturalPerson": { "properties": { "address": { "anyOf": [ { "$ref": "#/components/schemas/Address" }, { "type": "null" } ], "description": "Registered address: residential for natural persons, registered office for legal persons." }, "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "date_of_birth": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "description": "Person's date of birth.", "examples": [ "1988-04-12" ], "title": "Date Of Birth" }, "first_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Person's first name.", "title": "First Name" }, "full_name": { "description": "Full name: first and last for natural persons, entity name for legal persons.", "title": "Full Name", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "id_number": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Masked national identity number.", "title": "Id Number" }, "last_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Person's last name.", "title": "Last Name" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "nationalities": { "description": "ISO 3166-1 alpha-2 nationality codes.", "items": { "type": "string" }, "title": "Nationalities", "type": "array" }, "passport_number": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Masked passport number.", "title": "Passport Number" }, "person_type": { "const": "natural", "description": "Person classification.", "title": "Person Type" }, "phone_number": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Person's primary phone number.", "title": "Phone Number" }, "tax_number": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Masked tax identification number.", "title": "Tax Number" } }, "required": [ "created_at", "modified_at", "id", "person_type", "full_name", "address", "phone_number", "first_name", "last_name", "passport_number", "id_number", "tax_number", "nationalities", "date_of_birth" ], "title": "NaturalPerson", "type": "object" }, "OAuthErrorBody": { "description": "RFC 6749 §5.2 error body returned by the OAuth protocol endpoints.\n\nReferenced in the OpenAPI schema only; responses are never serialized from\nthis model.", "properties": { "error": { "description": "The RFC 6749 error code, e.g. `invalid_grant`.", "title": "Error", "type": "string" }, "error_description": { "description": "A human-readable description of the error.", "title": "Error Description", "type": "string" } }, "required": [ "error", "error_description" ], "title": "OAuthErrorBody", "type": "object" }, "OAuthToken": { "properties": { "access_token": { "description": "The access token.", "title": "Access Token", "type": "string" }, "expires_in": { "description": "The number of seconds until the token expires.", "title": "Expires In", "type": "integer" }, "refresh_token": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "A refresh token for obtaining new access tokens without re-authentication.", "title": "Refresh Token" }, "scope": { "description": "The scopes of the token, comma-separated.", "title": "Scope", "type": "string" }, "token_type": { "description": "The token type. Always 'bearer' for JWT tokens.", "title": "Token Type", "type": "string" } }, "required": [ "access_token", "token_type", "expires_in", "scope" ], "title": "OAuthToken", "type": "object" }, "OnboardingApplicationOutcome": { "enum": [ "approved", "rejected", "expired" ], "properties": {}, "title": "OnboardingApplicationOutcome", "type": "string" }, "OnboardingApplicationResponse": { "properties": { "application": { "description": "Submitted application data.", "title": "Application", "type": "object" }, "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "customer_type": { "allOf": [ { "$ref": "#/components/schemas/CustomerType" } ], "description": "Customer type for the application." }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "outcome": { "anyOf": [ { "$ref": "#/components/schemas/OnboardingApplicationOutcome" }, { "type": "null" } ], "description": "Final application outcome." }, "status": { "allOf": [ { "$ref": "#/components/schemas/OnboardingApplicationStatus" } ], "description": "Lifecycle status of the application." } }, "required": [ "created_at", "modified_at", "id", "customer_type", "status", "application" ], "title": "OnboardingApplicationResponse", "type": "object" }, "OnboardingApplicationStatus": { "enum": [ "pending", "processing", "completed" ], "properties": {}, "title": "OnboardingApplicationStatus", "type": "string" }, "OnboardingAuthoritySpec": { "additionalProperties": false, "description": "A person reference with authority type.", "properties": { "authority_type": { "$ref": "#/components/schemas/AuthorityType" }, "person": { "title": "Person", "type": "string" } }, "required": [ "person", "authority_type" ], "title": "OnboardingAuthoritySpec", "type": "object" }, "OnboardingConsentSpec": { "additionalProperties": false, "description": "A consent declaration captured during onboarding.\n\nThe `person_id` attributes the consent to a specific person -- an\nauthority on the application, or a related person referenced by\nthe legal entity's relationships claim. Validation of required\nconsents happens per-person.\n\n`consent_type` is either a `LegalDocumentType` (the person accepted\na specific legal document -- `legal_document_version` is required)\nor an `AttestationType` (the person made a self-attestation --\n`legal_document_version` must be omitted).", "properties": { "consent_type": { "anyOf": [ { "$ref": "#/components/schemas/LegalDocumentType" }, { "$ref": "#/components/schemas/AttestationType" } ], "title": "Consent Type" }, "consented_at": { "format": "date-time", "title": "Consented At", "type": "string" }, "legal_document_version": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Legal Document Version" }, "person": { "title": "Person", "type": "string" } }, "required": [ "person", "consent_type", "consented_at" ], "title": "OnboardingConsentSpec", "type": "object" }, "OnboardingEvidenceSpec": { "additionalProperties": false, "description": "An evidence file reference captured during onboarding.\n\nThe `person_id` attributes the evidence to a specific person, so\nper-authority and per-relationship requirements can be validated\nagainst the subset of items belonging to that person.", "properties": { "document_type": { "anyOf": [ { "$ref": "#/components/schemas/sophic__domain__onboarding__enums__DocumentType" }, { "type": "null" } ] }, "evidence_type": { "$ref": "#/components/schemas/EvidenceType" }, "file": { "title": "File", "type": "string" }, "person": { "title": "Person", "type": "string" } }, "required": [ "person", "evidence_type", "file" ], "title": "OnboardingEvidenceSpec", "type": "object" }, "OperatingAddressClaimSpec": { "additionalProperties": false, "description": "Spec for legal entity operating (principal place of business) address.", "properties": { "city": { "title": "City", "type": "string" }, "claim_type": { "const": "operating_address", "title": "Claim Type" }, "country_code": { "title": "Country Code", "type": "string" }, "district_county": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "District County" }, "line1": { "title": "Line1", "type": "string" }, "line2": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Line2" }, "line3": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Line3" }, "postal_code": { "title": "Postal Code", "type": "string" } }, "required": [ "line1", "postal_code", "city", "country_code", "claim_type" ], "title": "OperatingAddressClaimSpec", "type": "object" }, "OperatingAddressPersonClaim": { "additionalProperties": false, "properties": { "archived_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer pending claim replaced this row; `null` if this is the current pending row.", "examples": [ "2026-07-20T08:15:00Z" ], "title": "Archived At" }, "city": { "title": "City", "type": "string" }, "claim_type": { "const": "operating_address", "title": "Claim Type" }, "country_code": { "title": "Country Code", "type": "string" }, "created_at": { "description": "Date and time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "district_county": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "District County" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "lifecycle": { "description": "Derived lifecycle role from `status`, `archived_at`, and `superseded_at`.", "enum": [ "active", "in_flight", "historical" ], "readOnly": true, "title": "Lifecycle", "type": "string" }, "line1": { "title": "Line1", "type": "string" }, "line2": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Line2" }, "line3": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Line3" }, "person": { "description": "ID of the person this claim belongs to.", "title": "Person", "type": "string" }, "postal_code": { "title": "Postal Code", "type": "string" }, "status": { "description": "Claim status (`pending` or `verified`). Non-null `superseded_at` means a newer verified claim replaced this row.", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" }, "superseded_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer verified claim replaced this row; `null` if this is the current row.", "examples": [ "2026-08-01T12:00:00Z" ], "title": "Superseded At" }, "verified_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time the claim was verified; `null` while pending.", "examples": [ "2026-07-14T10:00:00Z" ], "title": "Verified At" } }, "required": [ "line1", "postal_code", "city", "country_code", "claim_type", "id", "person", "created_at", "status", "verified_at", "superseded_at", "archived_at", "lifecycle" ], "title": "OperatingAddressPersonClaim", "type": "object" }, "OperatingAddressPersonClaimSummary": { "additionalProperties": false, "properties": { "city": { "title": "City", "type": "string" }, "claim_type": { "const": "operating_address", "title": "Claim Type" }, "country_code": { "title": "Country Code", "type": "string" }, "created_at": { "description": "Time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "district_county": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "District County" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "line1": { "title": "Line1", "type": "string" }, "line2": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Line2" }, "line3": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Line3" }, "postal_code": { "title": "Postal Code", "type": "string" }, "status": { "description": "The status of the claim (`pending` or `verified`).", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" } }, "required": [ "line1", "postal_code", "city", "country_code", "claim_type", "id", "created_at", "status" ], "title": "OperatingAddressPersonClaimSummary", "type": "object" }, "Order": { "properties": { "account": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ID of the parent account. Present on customer orders; `null` for system-placed orders.", "title": "Account" }, "automatic_rollover": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Customer's automatic rollover preference; set only on eligible buy orders.", "title": "Automatic Rollover" }, "cancelled_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "The time the order was cancelled.", "examples": [ "2026-07-14T09:34:12Z" ], "title": "Cancelled At" }, "cancelled_reason": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The reason for cancelling the order, if cancelled.", "title": "Cancelled Reason" }, "cash_amount": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The amount to invest (before fees). Buy orders are cash-based (you specify how much to invest, not how many units to buy).", "examples": [ "1000.00" ], "title": "Cash Amount" }, "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "currency": { "anyOf": [ { "$ref": "#/components/schemas/Currency" }, { "type": "null" } ], "description": "Order currency: the instrument trading currency for securities, or the base currency for FX." }, "fees": { "description": "The total fees for this order.", "examples": [ "1.50" ], "title": "Fees", "type": "string" }, "filled_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "The time the order was filled.", "examples": [ "2026-07-14T09:34:12Z" ], "title": "Filled At" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "instrument": { "description": "The instrument to buy or sell.", "discriminator": { "mapping": { "amc": "#/components/schemas/AMC", "bill": "#/components/schemas/Bill", "bond": "#/components/schemas/Bond", "currency_pair": "#/components/schemas/CurrencyPair", "etf": "#/components/schemas/ETF", "money_market_fund": "#/components/schemas/MoneyMarketFund" }, "propertyName": "instrument_type" }, "oneOf": [ { "$ref": "#/components/schemas/Bill" }, { "$ref": "#/components/schemas/CurrencyPair" }, { "$ref": "#/components/schemas/Bond" }, { "$ref": "#/components/schemas/MoneyMarketFund" }, { "$ref": "#/components/schemas/AMC" }, { "$ref": "#/components/schemas/ETF" } ], "title": "Instrument" }, "is_cancellable": { "description": "Whether the order can be cancelled now; true only for limit orders in a cancellable phase with no fills.", "title": "Is Cancellable", "type": "boolean" }, "limit_price": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Limit price per unit; `null` for market orders.", "examples": [ "95.1000" ], "title": "Limit Price" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "net_cash_amount": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The amount to invest after fees. This is what gets traded.", "examples": [ "998.50" ], "title": "Net Cash Amount" }, "order_type": { "allOf": [ { "$ref": "#/components/schemas/OrderType" } ], "description": "The order type (e.g. market, limit)." }, "position": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ID of the position this order belongs to; `null` until the order executes.", "title": "Position" }, "purpose": { "allOf": [ { "$ref": "#/components/schemas/OrderPurpose" } ], "description": "The purpose of the order." }, "quantity": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Requested unit quantity for sell orders.", "examples": [ "10.5" ], "title": "Quantity" }, "quote": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ID of the quote used to place this order. On FX orders, locks the executing rate; when omitted, the order trades at the live rate.", "title": "Quote" }, "settled_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "The time the order was settled.", "examples": [ "2026-07-16T09:34:12Z" ], "title": "Settled At" }, "side": { "allOf": [ { "$ref": "#/components/schemas/OrderSide" } ], "description": "Buy or sell." }, "status": { "allOf": [ { "$ref": "#/components/schemas/OrderStatus" } ], "description": "The order status." }, "traded_notional": { "description": "The total notional value executed.", "examples": [ "998.50" ], "title": "Traded Notional", "type": "string" }, "traded_quantity": { "description": "The total quantity executed.", "examples": [ "10.5" ], "title": "Traded Quantity", "type": "string" }, "trades": { "description": "All trades executed to fill this order.", "items": { "$ref": "#/components/schemas/OrderTrade" }, "title": "Trades", "type": "array" } }, "required": [ "created_at", "modified_at", "id", "status", "order_type", "purpose", "side", "instrument", "traded_quantity", "traded_notional", "fees", "is_cancellable", "trades" ], "title": "Order", "type": "object" }, "OrderPurpose": { "enum": [ "user_request", "rollover", "square_off", "backfill" ], "properties": {}, "title": "OrderPurpose", "type": "string" }, "OrderQuote": { "description": "Quote returned by `/order-quotes`. Security quotes are persisted and\ncarry an `id` and `expires_at` so they can be referenced via `quote_id`\nat order placement; they are non-binding references to the previewed\nterms. Currency-pair quotes issued through this endpoint are id-less\npreviews.", "properties": { "cash_amount": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The gross cash amount (before fees). Set for buys.", "examples": [ "1000.00" ], "title": "Cash Amount" }, "estimated_cash": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The estimated cash value.", "examples": [ "998.55" ], "title": "Estimated Cash" }, "estimated_price": { "description": "The estimated price per unit.", "examples": [ "95.10" ], "title": "Estimated Price", "type": "string" }, "estimated_quantity": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Estimated unit quantity that would be traded.", "examples": [ "10.5" ], "title": "Estimated Quantity" }, "expires_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "When the quote expires. Null only for currency-pair previews.", "examples": [ "2026-07-14T09:35:00Z" ], "title": "Expires At" }, "fees": { "description": "The estimated fees.", "examples": [ "1.50" ], "title": "Fees", "type": "string" }, "id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The quote ID, redeemable via `quote_id` at order placement. Null only for currency-pair previews.", "title": "Id" }, "instrument": { "description": "The ID of the instrument being quoted.", "title": "Instrument", "type": "string" }, "is_binding": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether the quote's price is binding at execution.", "title": "Is Binding" }, "limit_price": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The worst-case limit price the quote is bounded by. Set on limit quotes; a placement referencing the quote must use the same limit.", "examples": [ "95.1000" ], "title": "Limit Price" }, "max_cost": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Maximum cash a limit buy can consume; set on limit buy quotes.", "examples": [ "1000.00" ], "title": "Max Cost" }, "min_proceeds": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Minimum proceeds a limit sell yields; set on limit sell quotes.", "examples": [ "950.00" ], "title": "Min Proceeds" }, "net_cash_amount": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The net cash amount (after fees).", "examples": [ "998.50" ], "title": "Net Cash Amount" }, "quantity": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The unit quantity. Set for sells.", "examples": [ "10.5" ], "title": "Quantity" }, "side": { "allOf": [ { "$ref": "#/components/schemas/OrderSide" } ], "description": "Buy or sell." } }, "required": [ "instrument", "side", "fees", "estimated_price" ], "title": "OrderQuote", "type": "object" }, "OrderQuoteRequest": { "properties": { "cash_amount": { "anyOf": [ { "type": "number" }, { "type": "string" }, { "type": "null" } ], "description": "The cash amount for a buy order.", "examples": [ "1000.00" ], "title": "Cash Amount" }, "instrument_id": { "description": "ID of the instrument to quote.", "title": "Instrument Id", "type": "string" }, "limit_price": { "anyOf": [ { "anyOf": [ { "type": "number" }, { "type": "string" } ], "gt": 0 }, { "type": "null" } ], "description": "Optional limit price. When set, the quote is a deterministic bound: `estimated_price` echoes the limit, a cash buy returns affordable quantity and `max_cost`, a sell returns `min_proceeds`.", "examples": [ "25.7500" ], "title": "Limit Price" }, "quantity": { "anyOf": [ { "type": "number" }, { "type": "string" }, { "type": "null" } ], "description": "The unit quantity for a sell order.", "examples": [ "12.5000" ], "title": "Quantity" }, "return_only_fees": { "default": false, "description": "Whether to return only applicable fees.", "title": "Return Only Fees", "type": "boolean" }, "side": { "allOf": [ { "$ref": "#/components/schemas/OrderSide" } ], "description": "The order side, buy or sell." } }, "required": [ "instrument_id", "side" ], "title": "OrderQuoteRequest", "type": "object" }, "OrderSide": { "enum": [ "buy", "sell" ], "properties": {}, "title": "OrderSide", "type": "string" }, "OrderStatus": { "enum": [ "held", "placed", "executing", "cancelling", "filled", "settled", "cancelled" ], "properties": {}, "title": "OrderStatus", "type": "string" }, "OrderTrade": { "properties": { "account": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ID of the account that owns the trade.", "title": "Account" }, "accrued_interest": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The accrued interest included in the notional amount.", "examples": [ "871.23" ], "title": "Accrued Interest" }, "counterparty": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The ID of the counterparty.", "title": "Counterparty" }, "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "executed_at": { "description": "The time the trade was executed.", "examples": [ "2026-07-14T09:34:12Z" ], "format": "date-time", "title": "Executed At", "type": "string" }, "execution_audit_trail": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The execution audit trail.", "title": "Execution Audit Trail" }, "execution_broker": { "description": "The executing broker.", "title": "Execution Broker", "type": "string" }, "execution_reference": { "description": "The execution reference.", "title": "Execution Reference", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "instrument": { "description": "The traded instrument.", "discriminator": { "mapping": { "amc": "#/components/schemas/AMC", "bill": "#/components/schemas/Bill", "bond": "#/components/schemas/Bond", "currency_pair": "#/components/schemas/CurrencyPair", "etf": "#/components/schemas/ETF", "money_market_fund": "#/components/schemas/MoneyMarketFund" }, "propertyName": "instrument_type" }, "oneOf": [ { "$ref": "#/components/schemas/Bill" }, { "$ref": "#/components/schemas/CurrencyPair" }, { "$ref": "#/components/schemas/Bond" }, { "$ref": "#/components/schemas/MoneyMarketFund" }, { "$ref": "#/components/schemas/AMC" }, { "$ref": "#/components/schemas/ETF" } ], "title": "Instrument" }, "is_reportable": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether the trade is reportable.", "title": "Is Reportable" }, "meta": { "anyOf": [ { "type": "object" }, { "type": "null" } ], "description": "Additional trade metadata.", "title": "Meta" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "notional": { "description": "The executed notional amount.", "examples": [ "99250.00" ], "title": "Notional", "type": "string" }, "notional_currency": { "allOf": [ { "$ref": "#/components/schemas/Currency" } ], "description": "The currency of the notional amount." }, "order": { "description": "The ID of the order.", "title": "Order", "type": "string" }, "position": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ID of the resulting position.", "title": "Position" }, "price": { "description": "The execution price per unit.", "examples": [ "99.25" ], "title": "Price", "type": "string" }, "quantity": { "description": "The executed quantity.", "examples": [ "1000" ], "title": "Quantity", "type": "string" }, "quantity_currency": { "anyOf": [ { "$ref": "#/components/schemas/Currency" }, { "type": "null" } ], "description": "The currency in which the quantity is denominated." }, "settled_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "The time the trade settled.", "examples": [ "2026-07-16T10:15:00Z" ], "title": "Settled At" }, "settlement_batch_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The ID of the settlement batch.", "title": "Settlement Batch Id" }, "settlement_date": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "description": "The scheduled settlement date.", "examples": [ "2026-07-16" ], "title": "Settlement Date" }, "side": { "allOf": [ { "$ref": "#/components/schemas/OrderSide" } ], "description": "The executed order side." }, "status": { "allOf": [ { "$ref": "#/components/schemas/OrderTradeStatus" } ], "description": "The trade status." }, "trading_venue": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The venue where the trade was executed.", "title": "Trading Venue" }, "tvtic": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The trading venue transaction identification code.", "title": "Tvtic" }, "ytm": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The yield to maturity at execution.", "examples": [ "4.25" ], "title": "Ytm" } }, "required": [ "created_at", "modified_at", "id", "price", "quantity", "quantity_currency", "notional", "notional_currency", "side", "status", "position", "account", "order", "counterparty", "instrument", "ytm", "trading_venue", "tvtic", "execution_reference", "execution_broker", "execution_audit_trail", "settlement_batch_id", "is_reportable", "settlement_date", "executed_at", "settled_at", "meta" ], "title": "OrderTrade", "type": "object" }, "OrderTradeStatus": { "enum": [ "executed", "settled" ], "properties": {}, "title": "OrderTradeStatus", "type": "string" }, "OrderType": { "enum": [ "market", "limit" ], "properties": {}, "title": "OrderType", "type": "string" }, "PepStatusClaimSpec": { "additionalProperties": false, "description": "Spec for politically exposed person (PEP) declaration claim data.", "properties": { "claim_type": { "const": "pep_status", "title": "Claim Type" }, "has_pep_association": { "title": "Has Pep Association", "type": "boolean" }, "is_pep": { "title": "Is Pep", "type": "boolean" }, "pep_associate_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Pep Associate Name" }, "pep_associate_relationship": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Pep Associate Relationship" }, "pep_role": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Pep Role" }, "pep_role_end_date": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "title": "Pep Role End Date" }, "pep_role_start_date": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "title": "Pep Role Start Date" } }, "required": [ "claim_type", "is_pep", "has_pep_association" ], "title": "PepStatusClaimSpec", "type": "object" }, "PepStatusPersonClaim": { "additionalProperties": false, "properties": { "archived_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer pending claim replaced this row; `null` if this is the current pending row.", "examples": [ "2026-07-20T08:15:00Z" ], "title": "Archived At" }, "claim_type": { "const": "pep_status", "title": "Claim Type" }, "created_at": { "description": "Date and time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "has_pep_association": { "title": "Has Pep Association", "type": "boolean" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "is_pep": { "title": "Is Pep", "type": "boolean" }, "lifecycle": { "description": "Derived lifecycle role from `status`, `archived_at`, and `superseded_at`.", "enum": [ "active", "in_flight", "historical" ], "readOnly": true, "title": "Lifecycle", "type": "string" }, "pep_associate_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Pep Associate Name" }, "pep_associate_relationship": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Pep Associate Relationship" }, "pep_role": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Pep Role" }, "pep_role_end_date": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "title": "Pep Role End Date" }, "pep_role_start_date": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "title": "Pep Role Start Date" }, "person": { "description": "ID of the person this claim belongs to.", "title": "Person", "type": "string" }, "status": { "description": "Claim status (`pending` or `verified`). Non-null `superseded_at` means a newer verified claim replaced this row.", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" }, "superseded_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer verified claim replaced this row; `null` if this is the current row.", "examples": [ "2026-08-01T12:00:00Z" ], "title": "Superseded At" }, "verified_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time the claim was verified; `null` while pending.", "examples": [ "2026-07-14T10:00:00Z" ], "title": "Verified At" } }, "required": [ "claim_type", "is_pep", "has_pep_association", "id", "person", "created_at", "status", "verified_at", "superseded_at", "archived_at", "lifecycle" ], "title": "PepStatusPersonClaim", "type": "object" }, "PepStatusPersonClaimSummary": { "additionalProperties": false, "properties": { "claim_type": { "const": "pep_status", "title": "Claim Type" }, "created_at": { "description": "Time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "has_pep_association": { "title": "Has Pep Association", "type": "boolean" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "is_pep": { "title": "Is Pep", "type": "boolean" }, "pep_associate_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Pep Associate Name" }, "pep_associate_relationship": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Pep Associate Relationship" }, "pep_role": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Pep Role" }, "pep_role_end_date": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "title": "Pep Role End Date" }, "pep_role_start_date": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "title": "Pep Role Start Date" }, "status": { "description": "The status of the claim (`pending` or `verified`).", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" } }, "required": [ "claim_type", "is_pep", "has_pep_association", "id", "created_at", "status" ], "title": "PepStatusPersonClaimSummary", "type": "object" }, "Period": { "enum": [ "1d", "1w", "1m", "this-month", "3m", "6m", "ytd", "1y", "all" ], "properties": {}, "title": "Period", "type": "string" }, "Permission": { "properties": { "permission": { "description": "Permission in `resource.action` form (e.g. `user.read`).", "title": "Permission", "type": "string" }, "scopes": { "description": "Concrete scope paths where this permission applies in the current realm (e.g. `tenant/T1` or `tenant/T1/customer/C5`).", "items": { "type": "string" }, "title": "Scopes", "type": "array" }, "when": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Stable condition id when the permission is conditional (e.g. `is_own_user`). Omitted when unconditional.", "title": "When" } }, "required": [ "permission", "scopes" ], "title": "Permission", "type": "object" }, "PersonCreationResponse": { "properties": { "claims": { "description": "Claims created for this person.", "items": { "discriminator": { "mapping": { "business_nature": "#/components/schemas/BusinessNaturePersonClaimSummary", "contact_details": "#/components/schemas/ContactDetailsPersonClaimSummary", "education_level": "#/components/schemas/EducationLevelPersonClaimSummary", "employment": "#/components/schemas/EmploymentPersonClaimSummary", "expected_activity": "#/components/schemas/ExpectedActivityPersonClaimSummary", "fatca_status": "#/components/schemas/FatcaStatusPersonClaimSummary", "financial_profile": "#/components/schemas/FinancialProfilePersonClaimSummary", "identity": "#/components/schemas/IdentityPersonClaimSummary", "investment_experience": "#/components/schemas/InvestmentExperiencePersonClaimSummary", "lei": "#/components/schemas/LeiPersonClaimSummary", "nationalities": "#/components/schemas/NationalitiesPersonClaimSummary", "operating_address": "#/components/schemas/OperatingAddressPersonClaimSummary", "pep_status": "#/components/schemas/PepStatusPersonClaimSummary", "registered_address": "#/components/schemas/RegisteredAddressPersonClaimSummary", "registration": "#/components/schemas/RegistrationPersonClaimSummary", "relationships": "#/components/schemas/RelationshipsPersonClaimSummary", "residence": "#/components/schemas/ResidencePersonClaimSummary", "tax_residencies": "#/components/schemas/TaxResidenciesPersonClaimSummary" }, "propertyName": "claim_type" }, "oneOf": [ { "$ref": "#/components/schemas/IdentityPersonClaimSummary" }, { "$ref": "#/components/schemas/NationalitiesPersonClaimSummary" }, { "$ref": "#/components/schemas/ResidencePersonClaimSummary" }, { "$ref": "#/components/schemas/TaxResidenciesPersonClaimSummary" }, { "$ref": "#/components/schemas/FatcaStatusPersonClaimSummary" }, { "$ref": "#/components/schemas/PepStatusPersonClaimSummary" }, { "$ref": "#/components/schemas/EducationLevelPersonClaimSummary" }, { "$ref": "#/components/schemas/EmploymentPersonClaimSummary" }, { "$ref": "#/components/schemas/FinancialProfilePersonClaimSummary" }, { "$ref": "#/components/schemas/InvestmentExperiencePersonClaimSummary" }, { "$ref": "#/components/schemas/RegistrationPersonClaimSummary" }, { "$ref": "#/components/schemas/ContactDetailsPersonClaimSummary" }, { "$ref": "#/components/schemas/LeiPersonClaimSummary" }, { "$ref": "#/components/schemas/RegisteredAddressPersonClaimSummary" }, { "$ref": "#/components/schemas/OperatingAddressPersonClaimSummary" }, { "$ref": "#/components/schemas/BusinessNaturePersonClaimSummary" }, { "$ref": "#/components/schemas/ExpectedActivityPersonClaimSummary" }, { "$ref": "#/components/schemas/RelationshipsPersonClaimSummary" } ] }, "title": "Claims", "type": "array" }, "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "full_name": { "description": "Person's full name.", "title": "Full Name", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "person_type": { "allOf": [ { "$ref": "#/components/schemas/PersonType" } ], "description": "Person type." } }, "required": [ "created_at", "modified_at", "id", "person_type", "full_name", "claims" ], "title": "PersonCreationResponse", "type": "object" }, "PersonRelationshipType": { "enum": [ "director", "shareholder", "beneficial_owner", "trustee", "settlor", "authorised_signatory", "senior_management" ], "properties": {}, "title": "PersonRelationshipType", "type": "string" }, "PersonType": { "enum": [ "natural", "legal" ], "properties": {}, "title": "PersonType", "type": "string" }, "PlaceOrderRequest": { "properties": { "automatic_rollover": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "description": "Whether the resulting position rolls into a similar instrument at maturity; valid only for eligible buy orders.", "title": "Automatic Rollover" }, "cash_amount": { "anyOf": [ { "anyOf": [ { "type": "number" }, { "type": "string" } ], "gt": 0 }, { "type": "null" } ], "description": "Pre-fee cash amount required for buy orders.", "examples": [ "1000.00" ], "title": "Cash Amount" }, "instrument": { "description": "The ID of the instrument to buy or sell.", "title": "Instrument", "type": "string" }, "limit_price": { "anyOf": [ { "anyOf": [ { "type": "number" }, { "type": "string" } ], "gt": 0 }, { "type": "null" } ], "description": "Positive price required for limit orders and rejected for market orders.", "examples": [ "25.7500" ], "title": "Limit Price" }, "order_type": { "allOf": [ { "$ref": "#/components/schemas/OrderType" } ], "description": "The order type, market or limit. Limit orders are ETFs only." }, "quantity": { "anyOf": [ { "anyOf": [ { "type": "number" }, { "type": "string" } ], "gt": 0 }, { "type": "null" } ], "description": "Positive unit quantity required for sell orders.", "examples": [ "12.5" ], "title": "Quantity" }, "quote": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ID of a previously issued order quote. FX orders replay the locked rate; security cash buys may reference a prior quote for a deviation check against the quoted amount.", "title": "Quote" }, "side": { "allOf": [ { "$ref": "#/components/schemas/OrderSide" } ], "description": "The order side, buy or sell." } }, "required": [ "instrument", "order_type", "side" ], "title": "PlaceOrderRequest", "type": "object" }, "Position": { "properties": { "account": { "description": "ID of the account that owns the position.", "title": "Account", "type": "string" }, "automatic_rollover": { "description": "Whether automatic rollover is enabled.", "title": "Automatic Rollover", "type": "boolean" }, "automatic_rollover_cutoff": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "description": "Last date automatic rollover can be changed.", "examples": [ "2025-09-25" ], "title": "Automatic Rollover Cutoff" }, "available_for_trading": { "description": "Instrument quantity available for trading.", "examples": [ "1000.00" ], "title": "Available For Trading", "type": "string" }, "average_price": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Average acquisition price per instrument unit.", "examples": [ "98.75" ], "title": "Average Price" }, "can_update_automatic_rollover": { "description": "Whether automatic rollover can currently be changed.", "title": "Can Update Automatic Rollover", "type": "boolean" }, "closed_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Time the position was closed.", "examples": [ "2025-07-15T10:30:00Z" ], "title": "Closed At" }, "created_at": { "description": "Time the position record was created.", "examples": [ "2025-01-15T10:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "id": { "description": "ID of the position.", "title": "Id", "type": "string" }, "instrument": { "description": "Instrument held in the position.", "discriminator": { "mapping": { "amc": "#/components/schemas/AMC", "bill": "#/components/schemas/Bill", "bond": "#/components/schemas/Bond", "currency_pair": "#/components/schemas/CurrencyPair", "etf": "#/components/schemas/ETF", "money_market_fund": "#/components/schemas/MoneyMarketFund" }, "propertyName": "instrument_type" }, "oneOf": [ { "$ref": "#/components/schemas/Bill" }, { "$ref": "#/components/schemas/CurrencyPair" }, { "$ref": "#/components/schemas/Bond" }, { "$ref": "#/components/schemas/MoneyMarketFund" }, { "$ref": "#/components/schemas/AMC" }, { "$ref": "#/components/schemas/ETF" } ], "title": "Instrument" }, "modified_at": { "description": "Time the position record was last modified.", "examples": [ "2025-07-01T14:32:18Z" ], "format": "date-time", "title": "Modified At", "type": "string" }, "most_recent_maturity_period": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Most recent maturity period used for rollover.", "examples": [ "3m" ], "title": "Most Recent Maturity Period" }, "opened_at": { "description": "Time the position was opened.", "examples": [ "2025-01-15T10:30:00Z" ], "format": "date-time", "title": "Opened At", "type": "string" }, "reserved": { "description": "Instrument quantity reserved by pending orders.", "examples": [ "50.00" ], "title": "Reserved", "type": "string" }, "settled": { "description": "Settled instrument quantity.", "examples": [ "1000.00" ], "title": "Settled", "type": "string" }, "status": { "allOf": [ { "$ref": "#/components/schemas/PositionStatus" } ], "description": "Current lifecycle status of the position." }, "total": { "description": "Total instrument quantity held.", "examples": [ "1250.00" ], "title": "Total", "type": "string" }, "total_buy_trades": { "description": "Number of buy trades contributing to the position.", "examples": [ 3 ], "title": "Total Buy Trades", "type": "integer" }, "unsettled": { "description": "Instrument quantity awaiting settlement.", "examples": [ "250.00" ], "title": "Unsettled", "type": "string" }, "ytm": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Yield to maturity as a percentage.", "examples": [ "4.25" ], "title": "Ytm" } }, "required": [ "created_at", "modified_at", "id", "account", "status", "instrument", "total", "available_for_trading", "settled", "unsettled", "reserved", "automatic_rollover", "can_update_automatic_rollover", "average_price", "most_recent_maturity_period", "ytm", "total_buy_trades", "opened_at", "closed_at" ], "title": "Position", "type": "object" }, "PositionEarnings": { "properties": { "cost_basis": { "description": "Total acquisition cost of the position.", "examples": [ "2000.00" ], "title": "Cost Basis", "type": "string" }, "currency": { "allOf": [ { "$ref": "#/components/schemas/Currency" } ], "description": "Currency of the earnings amounts." }, "gross_realized": { "description": "Realized earnings before fees and taxes.", "examples": [ "125.50" ], "title": "Gross Realized", "type": "string" }, "gross_total": { "description": "Total realized and unrealized gross earnings.", "examples": [ "209.75" ], "title": "Gross Total", "type": "string" }, "gross_unrealized": { "description": "Unrealized earnings before fees and taxes.", "examples": [ "84.25" ], "title": "Gross Unrealized", "type": "string" }, "gross_unrealized_percentage": { "description": "Unrealized gross earnings as a proportion of cost basis.", "examples": [ "0.0421" ], "title": "Gross Unrealized Percentage", "type": "string" }, "period_end": { "description": "End date and time of the earnings period.", "examples": [ "2026-03-31T23:59:59Z" ], "format": "date-time", "title": "Period End", "type": "string" }, "period_start": { "description": "Start date and time of the earnings period.", "examples": [ "2026-01-01T00:00:00Z" ], "format": "date-time", "title": "Period Start", "type": "string" }, "position": { "description": "ID of the position the earnings were computed for.", "title": "Position", "type": "string" }, "realized_capital": { "description": "Realized earnings from capital appreciation.", "examples": [ "100.00" ], "title": "Realized Capital", "type": "string" }, "realized_income": { "description": "Realized earnings from income.", "examples": [ "25.50" ], "title": "Realized Income", "type": "string" }, "unrealized_capital": { "description": "Unrealized earnings from capital appreciation.", "examples": [ "75.00" ], "title": "Unrealized Capital", "type": "string" }, "unrealized_income": { "description": "Unrealized earnings from income.", "examples": [ "9.25" ], "title": "Unrealized Income", "type": "string" } }, "required": [ "position", "gross_realized", "gross_unrealized", "gross_total", "gross_unrealized_percentage", "realized_capital", "realized_income", "unrealized_capital", "unrealized_income", "cost_basis", "currency", "period_start", "period_end" ], "title": "PositionEarnings", "type": "object" }, "PositionReturns": { "properties": { "flags": { "description": "Signals explaining clamps, missing data, or uncomputable rates.", "items": { "$ref": "#/components/schemas/ReturnsFlag" }, "title": "Flags", "type": "array" }, "mwrr": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Cumulative money-weighted rate of return as a decimal; `null` when uncomputable.", "examples": [ "0.0925" ], "title": "Mwrr" }, "period": { "allOf": [ { "$ref": "#/components/schemas/Period" } ], "description": "Requested period the returns were computed over." }, "period_end": { "description": "Resolved end of the period (the `asof` time of the computation).", "examples": [ "2026-07-14T09:34:12Z" ], "format": "date-time", "title": "Period End", "type": "string" }, "period_start": { "description": "Resolved start of the period, inclusive. Clamped to the scope's inception when the requested period starts earlier.", "examples": [ "2026-01-01T00:00:00Z" ], "format": "date-time", "title": "Period Start", "type": "string" }, "position": { "description": "ID of the position the returns were computed for.", "title": "Position", "type": "string" }, "twrr": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Cumulative time-weighted rate of return as a decimal; `null` when uncomputable.", "examples": [ "0.0875" ], "title": "Twrr" } }, "required": [ "period", "period_start", "period_end", "mwrr", "twrr", "flags", "position" ], "title": "PositionReturns", "type": "object" }, "PositionStatus": { "enum": [ "open", "closing", "closed" ], "properties": {}, "title": "PositionStatus", "type": "string" }, "PositionValuation": { "properties": { "asof": { "description": "The time of the position valuation.", "examples": [ "2026-07-14T09:34:12Z" ], "format": "date-time", "title": "Asof", "type": "string" }, "currency": { "allOf": [ { "$ref": "#/components/schemas/Currency" } ], "description": "The currency of the position value." }, "position": { "allOf": [ { "$ref": "#/components/schemas/Position" } ], "description": "The valued position." }, "price": { "description": "The price used to value the position.", "examples": [ "99.25" ], "title": "Price", "type": "string" }, "value": { "description": "The position value.", "examples": [ "99250.00" ], "title": "Value", "type": "string" } }, "required": [ "position", "value", "currency", "price", "asof" ], "title": "PositionValuation", "type": "object" }, "Price": { "properties": { "accrued_interest": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The accrued interest at standard settlement.", "examples": [ "0.87123288" ], "title": "Accrued Interest" }, "ask": { "description": "The ask price.", "examples": [ "99.50" ], "title": "Ask", "type": "string" }, "bid": { "description": "The bid price.", "examples": [ "99.25" ], "title": "Bid", "type": "string" }, "currency": { "allOf": [ { "$ref": "#/components/schemas/Currency" } ], "description": "The trading currency associated with the price." }, "dirty_ask": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The ask price including accrued interest.", "examples": [ "100.37" ], "title": "Dirty Ask" }, "dirty_bid": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The bid price including accrued interest.", "examples": [ "100.12" ], "title": "Dirty Bid" }, "dirty_mid": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The midpoint price including accrued interest.", "examples": [ "100.245" ], "title": "Dirty Mid" }, "mid": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The midpoint between the bid and ask prices.", "examples": [ "99.375" ], "title": "Mid" }, "price_type": { "allOf": [ { "$ref": "#/components/schemas/PriceType" } ], "description": "The price quotation type." }, "quality": { "allOf": [ { "$ref": "#/components/schemas/PriceQuality" } ], "description": "The timeliness quality of the price." }, "symbol": { "description": "The instrument symbol, such as an ISIN or ticker.", "title": "Symbol", "type": "string" }, "timestamp": { "description": "The time the price took effect.", "examples": [ "2026-07-14T09:34:12Z" ], "format": "date-time", "title": "Timestamp", "type": "string" }, "ytm_ask": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The ask yield to maturity for a fixed-income instrument.", "examples": [ "4.20" ], "title": "Ytm Ask" }, "ytm_bid": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The bid yield to maturity for a fixed-income instrument.", "examples": [ "4.25" ], "title": "Ytm Bid" }, "ytm_mid": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The midpoint yield to maturity for a fixed-income instrument.", "examples": [ "4.23" ], "title": "Ytm Mid" } }, "required": [ "symbol", "price_type", "quality", "currency", "bid", "ask", "mid", "ytm_bid", "ytm_ask", "ytm_mid", "accrued_interest", "timestamp" ], "title": "Price", "type": "object" }, "PriceQuality": { "enum": [ "closing", "intraday", "realtime", "delayed" ], "properties": {}, "title": "PriceQuality", "type": "string" }, "PriceType": { "enum": [ "percent", "money" ], "properties": {}, "title": "PriceType", "type": "string" }, "ReferenceType": { "enum": [ "deposit", "withdrawal", "order", "fee_charge", "refund", "corporate_action", "position_migration_in", "book_transfer", "portfolio_transfer" ], "properties": {}, "title": "ReferenceType", "type": "string" }, "Refund": { "properties": { "amount": { "description": "Amount refunded.", "examples": [ "25.00" ], "title": "Amount", "type": "string" }, "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "currency": { "allOf": [ { "$ref": "#/components/schemas/Currency" } ], "description": "Currency of the refund amount." }, "fee_charge": { "description": "Fee charge associated with the refund.", "title": "Fee Charge", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" } }, "required": [ "created_at", "modified_at", "id", "amount", "currency", "fee_charge", "fee_charge" ], "title": "Refund", "type": "object" }, "RegisteredAddressClaimSpec": { "additionalProperties": false, "description": "Spec for legal entity registered address claim data.\n\nWhen `operating_address_is_same` is True, onboarding applications for\nthis entity do not need a separate `operating_address` claim or\n`proof_of_operating_address` evidence -- compliance treats the\nregistered address as both. Defaults to False so existing behaviour\n(distinct operating address required) is preserved.", "properties": { "city": { "title": "City", "type": "string" }, "claim_type": { "const": "registered_address", "title": "Claim Type" }, "country_code": { "title": "Country Code", "type": "string" }, "district_county": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "District County" }, "line1": { "title": "Line1", "type": "string" }, "line2": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Line2" }, "line3": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Line3" }, "operating_address_is_same": { "default": false, "title": "Operating Address Is Same", "type": "boolean" }, "postal_code": { "title": "Postal Code", "type": "string" } }, "required": [ "line1", "postal_code", "city", "country_code", "claim_type" ], "title": "RegisteredAddressClaimSpec", "type": "object" }, "RegisteredAddressPersonClaim": { "additionalProperties": false, "properties": { "archived_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer pending claim replaced this row; `null` if this is the current pending row.", "examples": [ "2026-07-20T08:15:00Z" ], "title": "Archived At" }, "city": { "title": "City", "type": "string" }, "claim_type": { "const": "registered_address", "title": "Claim Type" }, "country_code": { "title": "Country Code", "type": "string" }, "created_at": { "description": "Date and time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "district_county": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "District County" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "lifecycle": { "description": "Derived lifecycle role from `status`, `archived_at`, and `superseded_at`.", "enum": [ "active", "in_flight", "historical" ], "readOnly": true, "title": "Lifecycle", "type": "string" }, "line1": { "title": "Line1", "type": "string" }, "line2": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Line2" }, "line3": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Line3" }, "operating_address_is_same": { "default": false, "title": "Operating Address Is Same", "type": "boolean" }, "person": { "description": "ID of the person this claim belongs to.", "title": "Person", "type": "string" }, "postal_code": { "title": "Postal Code", "type": "string" }, "status": { "description": "Claim status (`pending` or `verified`). Non-null `superseded_at` means a newer verified claim replaced this row.", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" }, "superseded_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer verified claim replaced this row; `null` if this is the current row.", "examples": [ "2026-08-01T12:00:00Z" ], "title": "Superseded At" }, "verified_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time the claim was verified; `null` while pending.", "examples": [ "2026-07-14T10:00:00Z" ], "title": "Verified At" } }, "required": [ "line1", "postal_code", "city", "country_code", "claim_type", "id", "person", "created_at", "status", "verified_at", "superseded_at", "archived_at", "lifecycle" ], "title": "RegisteredAddressPersonClaim", "type": "object" }, "RegisteredAddressPersonClaimSummary": { "additionalProperties": false, "properties": { "city": { "title": "City", "type": "string" }, "claim_type": { "const": "registered_address", "title": "Claim Type" }, "country_code": { "title": "Country Code", "type": "string" }, "created_at": { "description": "Time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "district_county": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "District County" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "line1": { "title": "Line1", "type": "string" }, "line2": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Line2" }, "line3": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Line3" }, "operating_address_is_same": { "default": false, "title": "Operating Address Is Same", "type": "boolean" }, "postal_code": { "title": "Postal Code", "type": "string" }, "status": { "description": "The status of the claim (`pending` or `verified`).", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" } }, "required": [ "line1", "postal_code", "city", "country_code", "claim_type", "id", "created_at", "status" ], "title": "RegisteredAddressPersonClaimSummary", "type": "object" }, "RegistrationClaimSpec": { "additionalProperties": false, "description": "Spec for legal entity registration claim data.", "properties": { "claim_type": { "const": "registration", "title": "Claim Type" }, "country_of_incorporation": { "title": "Country Of Incorporation", "type": "string" }, "date_of_incorporation": { "format": "date", "title": "Date Of Incorporation", "type": "string" }, "entity_type": { "$ref": "#/components/schemas/ClaimRegistrationEntityType" }, "legal_name": { "title": "Legal Name", "type": "string" }, "registration_number": { "title": "Registration Number", "type": "string" }, "trading_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Trading Name" } }, "required": [ "claim_type", "legal_name", "registration_number", "date_of_incorporation", "country_of_incorporation", "entity_type" ], "title": "RegistrationClaimSpec", "type": "object" }, "RegistrationPersonClaim": { "additionalProperties": false, "properties": { "archived_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer pending claim replaced this row; `null` if this is the current pending row.", "examples": [ "2026-07-20T08:15:00Z" ], "title": "Archived At" }, "claim_type": { "const": "registration", "title": "Claim Type" }, "country_of_incorporation": { "title": "Country Of Incorporation", "type": "string" }, "created_at": { "description": "Date and time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "date_of_incorporation": { "format": "date", "title": "Date Of Incorporation", "type": "string" }, "entity_type": { "$ref": "#/components/schemas/ClaimRegistrationEntityType" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "legal_name": { "title": "Legal Name", "type": "string" }, "lifecycle": { "description": "Derived lifecycle role from `status`, `archived_at`, and `superseded_at`.", "enum": [ "active", "in_flight", "historical" ], "readOnly": true, "title": "Lifecycle", "type": "string" }, "person": { "description": "ID of the person this claim belongs to.", "title": "Person", "type": "string" }, "registration_number": { "title": "Registration Number", "type": "string" }, "status": { "description": "Claim status (`pending` or `verified`). Non-null `superseded_at` means a newer verified claim replaced this row.", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" }, "superseded_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer verified claim replaced this row; `null` if this is the current row.", "examples": [ "2026-08-01T12:00:00Z" ], "title": "Superseded At" }, "trading_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Trading Name" }, "verified_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time the claim was verified; `null` while pending.", "examples": [ "2026-07-14T10:00:00Z" ], "title": "Verified At" } }, "required": [ "claim_type", "legal_name", "registration_number", "date_of_incorporation", "country_of_incorporation", "entity_type", "id", "person", "created_at", "status", "verified_at", "superseded_at", "archived_at", "lifecycle" ], "title": "RegistrationPersonClaim", "type": "object" }, "RegistrationPersonClaimSummary": { "additionalProperties": false, "properties": { "claim_type": { "const": "registration", "title": "Claim Type" }, "country_of_incorporation": { "title": "Country Of Incorporation", "type": "string" }, "created_at": { "description": "Time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "date_of_incorporation": { "format": "date", "title": "Date Of Incorporation", "type": "string" }, "entity_type": { "$ref": "#/components/schemas/ClaimRegistrationEntityType" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "legal_name": { "title": "Legal Name", "type": "string" }, "registration_number": { "title": "Registration Number", "type": "string" }, "status": { "description": "The status of the claim (`pending` or `verified`).", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" }, "trading_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Trading Name" } }, "required": [ "claim_type", "legal_name", "registration_number", "date_of_incorporation", "country_of_incorporation", "entity_type", "id", "created_at", "status" ], "title": "RegistrationPersonClaimSummary", "type": "object" }, "RelationshipEntry-Input": { "additionalProperties": false, "description": "A single relationship entry within a relationships claim.", "properties": { "appointment_date": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "title": "Appointment Date" }, "authority_scope": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Authority Scope" }, "control_type": { "anyOf": [ { "$ref": "#/components/schemas/ControlType" }, { "type": "null" } ] }, "end_date": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "title": "End Date" }, "ownership_percentage": { "anyOf": [ { "type": "number" }, { "type": "string" }, { "type": "null" } ], "title": "Ownership Percentage" }, "position": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Position" }, "related_person": { "title": "Related Person", "type": "string" }, "relationship_type": { "$ref": "#/components/schemas/PersonRelationshipType" } }, "required": [ "related_person", "relationship_type" ], "title": "RelationshipEntry", "type": "object" }, "RelationshipEntry-Output": { "additionalProperties": false, "description": "A single relationship entry within a relationships claim.", "properties": { "appointment_date": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "title": "Appointment Date" }, "authority_scope": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Authority Scope" }, "control_type": { "anyOf": [ { "$ref": "#/components/schemas/ControlType" }, { "type": "null" } ] }, "end_date": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "title": "End Date" }, "ownership_percentage": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Ownership Percentage" }, "position": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Position" }, "related_person": { "title": "Related Person", "type": "string" }, "relationship_type": { "$ref": "#/components/schemas/PersonRelationshipType" } }, "required": [ "related_person", "relationship_type" ], "title": "RelationshipEntry", "type": "object" }, "RelationshipsClaimSpec": { "additionalProperties": false, "description": "Spec for person relationships (UBOs, directors, shareholders, etc.).", "properties": { "claim_type": { "const": "relationships", "title": "Claim Type" }, "relationships": { "items": { "$ref": "#/components/schemas/RelationshipEntry-Input" }, "minItems": 1, "title": "Relationships", "type": "array" } }, "required": [ "claim_type", "relationships" ], "title": "RelationshipsClaimSpec", "type": "object" }, "RelationshipsPersonClaim": { "additionalProperties": false, "properties": { "archived_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer pending claim replaced this row; `null` if this is the current pending row.", "examples": [ "2026-07-20T08:15:00Z" ], "title": "Archived At" }, "claim_type": { "const": "relationships", "title": "Claim Type" }, "created_at": { "description": "Date and time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "lifecycle": { "description": "Derived lifecycle role from `status`, `archived_at`, and `superseded_at`.", "enum": [ "active", "in_flight", "historical" ], "readOnly": true, "title": "Lifecycle", "type": "string" }, "person": { "description": "ID of the person this claim belongs to.", "title": "Person", "type": "string" }, "relationships": { "items": { "$ref": "#/components/schemas/RelationshipEntry-Output" }, "minItems": 1, "title": "Relationships", "type": "array" }, "status": { "description": "Claim status (`pending` or `verified`). Non-null `superseded_at` means a newer verified claim replaced this row.", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" }, "superseded_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer verified claim replaced this row; `null` if this is the current row.", "examples": [ "2026-08-01T12:00:00Z" ], "title": "Superseded At" }, "verified_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time the claim was verified; `null` while pending.", "examples": [ "2026-07-14T10:00:00Z" ], "title": "Verified At" } }, "required": [ "claim_type", "relationships", "id", "person", "created_at", "status", "verified_at", "superseded_at", "archived_at", "lifecycle" ], "title": "RelationshipsPersonClaim", "type": "object" }, "RelationshipsPersonClaimSummary": { "additionalProperties": false, "properties": { "claim_type": { "const": "relationships", "title": "Claim Type" }, "created_at": { "description": "Time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "relationships": { "items": { "$ref": "#/components/schemas/RelationshipEntry-Output" }, "minItems": 1, "title": "Relationships", "type": "array" }, "status": { "description": "The status of the claim (`pending` or `verified`).", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" } }, "required": [ "claim_type", "relationships", "id", "created_at", "status" ], "title": "RelationshipsPersonClaimSummary", "type": "object" }, "ResidenceClaimSpec": { "additionalProperties": false, "description": "Spec for residence claim data (aligned with Address).", "properties": { "city": { "title": "City", "type": "string" }, "claim_type": { "const": "residence", "title": "Claim Type" }, "country_code": { "title": "Country Code", "type": "string" }, "district_county": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "District County" }, "line1": { "title": "Line1", "type": "string" }, "line2": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Line2" }, "line3": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Line3" }, "postal_code": { "title": "Postal Code", "type": "string" } }, "required": [ "line1", "postal_code", "city", "country_code", "claim_type" ], "title": "ResidenceClaimSpec", "type": "object" }, "ResidencePersonClaim": { "additionalProperties": false, "properties": { "archived_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer pending claim replaced this row; `null` if this is the current pending row.", "examples": [ "2026-07-20T08:15:00Z" ], "title": "Archived At" }, "city": { "title": "City", "type": "string" }, "claim_type": { "const": "residence", "title": "Claim Type" }, "country_code": { "title": "Country Code", "type": "string" }, "created_at": { "description": "Date and time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "district_county": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "District County" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "lifecycle": { "description": "Derived lifecycle role from `status`, `archived_at`, and `superseded_at`.", "enum": [ "active", "in_flight", "historical" ], "readOnly": true, "title": "Lifecycle", "type": "string" }, "line1": { "title": "Line1", "type": "string" }, "line2": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Line2" }, "line3": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Line3" }, "person": { "description": "ID of the person this claim belongs to.", "title": "Person", "type": "string" }, "postal_code": { "title": "Postal Code", "type": "string" }, "status": { "description": "Claim status (`pending` or `verified`). Non-null `superseded_at` means a newer verified claim replaced this row.", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" }, "superseded_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer verified claim replaced this row; `null` if this is the current row.", "examples": [ "2026-08-01T12:00:00Z" ], "title": "Superseded At" }, "verified_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time the claim was verified; `null` while pending.", "examples": [ "2026-07-14T10:00:00Z" ], "title": "Verified At" } }, "required": [ "line1", "postal_code", "city", "country_code", "claim_type", "id", "person", "created_at", "status", "verified_at", "superseded_at", "archived_at", "lifecycle" ], "title": "ResidencePersonClaim", "type": "object" }, "ResidencePersonClaimSummary": { "additionalProperties": false, "properties": { "city": { "title": "City", "type": "string" }, "claim_type": { "const": "residence", "title": "Claim Type" }, "country_code": { "title": "Country Code", "type": "string" }, "created_at": { "description": "Time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "district_county": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "District County" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "line1": { "title": "Line1", "type": "string" }, "line2": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Line2" }, "line3": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Line3" }, "postal_code": { "title": "Postal Code", "type": "string" }, "status": { "description": "The status of the claim (`pending` or `verified`).", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" } }, "required": [ "line1", "postal_code", "city", "country_code", "claim_type", "id", "created_at", "status" ], "title": "ResidencePersonClaimSummary", "type": "object" }, "ReturnsFlag": { "enum": [ "inception_after_period_start", "missing_history", "twrr_uncomputable", "mwrr_uncomputable", "xirr_no_sign_change", "xirr_single_cashflow" ], "properties": {}, "title": "ReturnsFlag", "type": "string" }, "SeriesPoint": { "maxItems": 2, "minItems": 2, "prefixItems": [ { "format": "date-time", "type": "string" }, { "type": "string" } ], "properties": {}, "title": "SeriesPoint", "type": "array" }, "Service": { "properties": { "id": { "title": "Id", "type": "string" } }, "required": [ "id" ], "title": "Service", "type": "object" }, "SignedUpload": { "properties": { "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "expires_at": { "description": "Date and time the signed upload expires.", "examples": [ "2026-07-14T10:00:00Z" ], "format": "date-time", "title": "Expires At", "type": "string" }, "filename": { "description": "Name of the file to upload.", "title": "Filename", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "purpose": { "const": "verification_evidence", "description": "Purpose of the file upload.", "title": "Purpose" }, "signed_upload_url": { "description": "Signed URL for uploading the file.", "title": "Signed Upload Url", "type": "string" } }, "required": [ "created_at", "modified_at", "id", "filename", "expires_at", "purpose", "signed_upload_url" ], "title": "SignedUpload", "type": "object" }, "SubmitOnboardingApplicationRequest": { "properties": { "authorities": { "description": "People authorized to act and their authority types.", "items": { "$ref": "#/components/schemas/OnboardingAuthoritySpec" }, "minItems": 1, "title": "Authorities", "type": "array" }, "consents": { "description": "Consent declarations attached to the application.", "items": { "$ref": "#/components/schemas/OnboardingConsentSpec" }, "title": "Consents", "type": "array" }, "customer_type": { "allOf": [ { "$ref": "#/components/schemas/CustomerType" } ], "description": "Customer structure for the application." }, "evidence": { "description": "Evidence files attached to the application.", "items": { "$ref": "#/components/schemas/OnboardingEvidenceSpec" }, "title": "Evidence", "type": "array" } }, "required": [ "customer_type", "authorities" ], "title": "SubmitOnboardingApplicationRequest", "type": "object" }, "SyntheticRiskIndicator": { "enum": [ 1, 2, 3, 4, 5, 6, 7 ], "properties": {}, "title": "SyntheticRiskIndicator", "type": "integer" }, "TaxResidenciesClaimSpec": { "additionalProperties": false, "description": "Spec for tax residencies claim data.", "properties": { "claim_type": { "const": "tax_residencies", "title": "Claim Type" }, "tax_residencies": { "items": { "$ref": "#/components/schemas/TaxResidencyEntry" }, "title": "Tax Residencies", "type": "array" } }, "required": [ "claim_type" ], "title": "TaxResidenciesClaimSpec", "type": "object" }, "TaxResidenciesPersonClaim": { "additionalProperties": false, "properties": { "archived_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer pending claim replaced this row; `null` if this is the current pending row.", "examples": [ "2026-07-20T08:15:00Z" ], "title": "Archived At" }, "claim_type": { "const": "tax_residencies", "title": "Claim Type" }, "created_at": { "description": "Date and time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "lifecycle": { "description": "Derived lifecycle role from `status`, `archived_at`, and `superseded_at`.", "enum": [ "active", "in_flight", "historical" ], "readOnly": true, "title": "Lifecycle", "type": "string" }, "person": { "description": "ID of the person this claim belongs to.", "title": "Person", "type": "string" }, "status": { "description": "Claim status (`pending` or `verified`). Non-null `superseded_at` means a newer verified claim replaced this row.", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" }, "superseded_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time a newer verified claim replaced this row; `null` if this is the current row.", "examples": [ "2026-08-01T12:00:00Z" ], "title": "Superseded At" }, "tax_residencies": { "items": { "$ref": "#/components/schemas/TaxResidencyEntry" }, "title": "Tax Residencies", "type": "array" }, "verified_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Date and time the claim was verified; `null` while pending.", "examples": [ "2026-07-14T10:00:00Z" ], "title": "Verified At" } }, "required": [ "claim_type", "id", "person", "created_at", "status", "verified_at", "superseded_at", "archived_at", "lifecycle" ], "title": "TaxResidenciesPersonClaim", "type": "object" }, "TaxResidenciesPersonClaimSummary": { "additionalProperties": false, "properties": { "claim_type": { "const": "tax_residencies", "title": "Claim Type" }, "created_at": { "description": "Time the claim was created.", "examples": [ "2026-07-14T09:30:00Z" ], "format": "date-time", "title": "Created At", "type": "string" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "status": { "description": "The status of the claim (`pending` or `verified`).", "enum": [ "pending", "verified" ], "title": "Status", "type": "string" }, "tax_residencies": { "items": { "$ref": "#/components/schemas/TaxResidencyEntry" }, "title": "Tax Residencies", "type": "array" } }, "required": [ "claim_type", "id", "created_at", "status" ], "title": "TaxResidenciesPersonClaimSummary", "type": "object" }, "TaxResidencyEntry": { "additionalProperties": false, "properties": { "country_code": { "title": "Country Code", "type": "string" }, "tin": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Tin" }, "tin_exemption_reason": { "anyOf": [ { "$ref": "#/components/schemas/TinExemptionReason" }, { "type": "null" } ] } }, "required": [ "country_code" ], "title": "TaxResidencyEntry", "type": "object" }, "TinExemptionReason": { "enum": [ "not_issued", "pending_application", "not_required" ], "properties": {}, "title": "TinExemptionReason", "type": "string" }, "Transaction": { "properties": { "accrued_interest": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The accrued interest included in a fixed-income transaction.", "examples": [ "871.23" ], "title": "Accrued Interest" }, "booked_at": { "description": "The time the transaction was booked.", "examples": [ "2026-07-14T09:34:12Z" ], "format": "date-time", "title": "Booked At", "type": "string" }, "cash_amount": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The transaction cash amount.", "examples": [ "-99250.00" ], "title": "Cash Amount" }, "currency": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The currency of the transaction amounts.", "title": "Currency" }, "id": { "description": "The ID of the transaction.", "title": "Id", "type": "string" }, "instrument": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The ID of the instrument.", "title": "Instrument" }, "reference": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ID of the related source resource (order, trade, etc.).", "title": "Reference" }, "reference_type": { "allOf": [ { "$ref": "#/components/schemas/ReferenceType" } ], "description": "The type of the related resource." }, "settlement_date": { "anyOf": [ { "format": "date", "type": "string" }, { "type": "null" } ], "description": "The settlement date.", "examples": [ "2026-07-16" ], "title": "Settlement Date" }, "summary": { "description": "A summary of the transaction.", "title": "Summary", "type": "string" }, "tax": { "description": "The total tax amount.", "examples": [ "19.85" ], "title": "Tax", "type": "string" }, "taxes": { "description": "The taxes applied to the transaction.", "items": { "$ref": "#/components/schemas/TransactionTax" }, "title": "Taxes", "type": "array" }, "transaction_type": { "allOf": [ { "$ref": "#/components/schemas/TransactionType" } ], "description": "The transaction type." }, "unit_price": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The transaction price per unit.", "examples": [ "99.25" ], "title": "Unit Price" }, "unit_quantity": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The number of units transacted.", "examples": [ "1000.00" ], "title": "Unit Quantity" } }, "required": [ "id", "summary", "booked_at", "settlement_date", "cash_amount", "unit_quantity", "unit_price", "tax", "currency", "instrument", "transaction_type", "reference", "reference_type", "taxes" ], "title": "Transaction", "type": "object" }, "TransactionTax": { "properties": { "amount": { "description": "The tax amount.", "examples": [ "19.85" ], "title": "Amount", "type": "string" }, "currency": { "description": "The currency of the tax amount.", "title": "Currency", "type": "string" }, "rate": { "description": "The tax rate as a percentage.", "examples": [ "20.00" ], "title": "Rate", "type": "string" } }, "required": [ "rate", "amount", "currency" ], "title": "TransactionTax", "type": "object" }, "TransactionType": { "enum": [ "deposit", "withdrawal", "buy", "sell", "fee", "refund", "maturity", "coupon_payment", "merger", "fx", "position_migration_in", "book_transfer", "portfolio_transfer" ], "properties": {}, "title": "TransactionType", "type": "string" }, "UpdatePositionRequest": { "properties": { "automatic_rollover": { "description": "Automatic rollover setting, updateable only before the cutoff date.", "title": "Automatic Rollover", "type": "boolean" } }, "required": [ "automatic_rollover" ], "title": "UpdatePositionRequest", "type": "object" }, "UpdateWebhookRequest": { "properties": { "description": { "description": "Human-readable purpose of the webhook.", "title": "Description", "type": "string", "x-remove-null-from-type-union": true }, "is_active": { "description": "Whether the webhook is active.", "title": "Is Active", "type": "boolean", "x-remove-null-from-type-union": true }, "url": { "description": "HTTPS URL that receives webhook deliveries; IP addresses are rejected.", "examples": [ "https://example.com/webhook" ], "title": "Url", "type": "string", "x-remove-null-from-type-union": true } }, "title": "UpdateWebhookRequest", "type": "object" }, "User": { "properties": { "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "email": { "description": "The (verified) email address of the user.", "title": "Email", "type": "string" }, "first_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The first name of the user. Also referred to as the preferred name, as it can be the name the user wants to be called. It does not have to be the legal name.", "title": "First Name" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "last_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The last name of the user.", "title": "Last Name" }, "locale": { "description": "The locale of the user e.g 'en_GB' or 'en_US'.", "title": "Locale", "type": "string" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "profile_photo_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Relative URL of the user's profile photo, or null if none is set. Resolve it against the API base; the endpoint redirects to a short-lived image URL.", "readOnly": true, "title": "Profile Photo Url" } }, "required": [ "created_at", "modified_at", "id", "email", "first_name", "last_name", "locale", "profile_photo_url" ], "title": "User", "type": "object" }, "ValidationError": { "properties": { "loc": { "items": { "anyOf": [ { "type": "string" }, { "type": "integer" } ] }, "title": "Location", "type": "array" }, "msg": { "title": "Message", "type": "string" }, "type": { "title": "Error Type", "type": "string" } }, "required": [ "loc", "msg", "type" ], "title": "ValidationError", "type": "object" }, "Valuation": { "properties": { "account": { "description": "The ID of the account.", "title": "Account", "type": "string" }, "asof": { "description": "The time of the account valuation.", "examples": [ "2026-07-14T09:34:12Z" ], "format": "date-time", "title": "Asof", "type": "string" }, "cash_valuations": { "description": "The valuations of the account cash balances.", "items": { "$ref": "#/components/schemas/CashValuation" }, "title": "Cash Valuations", "type": "array" }, "currency": { "allOf": [ { "$ref": "#/components/schemas/Currency" } ], "description": "The currency of the aggregate values." }, "position_valuations": { "description": "The valuations of the account positions.", "items": { "$ref": "#/components/schemas/PositionValuation" }, "title": "Position Valuations", "type": "array" }, "total_cash_value": { "description": "The total value of the account cash balances.", "examples": [ "25000.00" ], "title": "Total Cash Value", "type": "string" }, "total_position_value": { "description": "The total value of the account positions.", "examples": [ "99250.00" ], "title": "Total Position Value", "type": "string" }, "total_value": { "description": "The total account value.", "examples": [ "124250.00" ], "title": "Total Value", "type": "string" } }, "required": [ "account", "total_value", "total_position_value", "total_cash_value", "currency", "cash_valuations", "position_valuations", "asof" ], "title": "Valuation", "type": "object" }, "ValuationHistory": { "properties": { "resolution": { "allOf": [ { "$ref": "#/components/schemas/AccountHistoryResolution" } ], "description": "The time interval between valuation points." }, "series": { "description": "The chronological valuation points as timestamp and value pairs.", "examples": [ [ [ "2026-07-13T09:34:12Z", "12345.67" ], [ "2026-07-14T09:34:12Z", "12350.12" ] ] ], "items": { "$ref": "#/components/schemas/SeriesPoint" }, "title": "Series", "type": "array" } }, "required": [ "resolution", "series" ], "title": "ValuationHistory", "type": "object" }, "Webhook": { "properties": { "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Webhook purpose.", "title": "Description" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "is_active": { "description": "Whether the webhook is active.", "title": "Is Active", "type": "boolean" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "url": { "description": "Webhook destination URL.", "title": "Url", "type": "string" } }, "required": [ "created_at", "modified_at", "id", "url", "is_active", "description" ], "title": "Webhook", "type": "object" }, "WebhookDelivery": { "properties": { "attempts": { "description": "Delivery attempts.", "items": { "$ref": "#/components/schemas/WebhookDeliveryAttempt" }, "title": "Attempts", "type": "array" }, "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "event": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ID of the event being delivered; `null` for test deliveries.", "title": "Event" }, "failed_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Time the delivery permanently failed.", "examples": [ "2026-07-14T09:30:00Z" ], "title": "Failed At" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "next_attempt_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Time the next delivery attempt is scheduled.", "examples": [ "2026-07-14T09:35:00Z" ], "title": "Next Attempt At" }, "payload": { "description": "Delivery payload.", "title": "Payload", "type": "object" }, "status": { "allOf": [ { "$ref": "#/components/schemas/WebhookDeliveryStatus" } ], "description": "The delivery lifecycle status." }, "succeeded_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "Time the delivery succeeded.", "examples": [ "2026-07-14T09:30:00Z" ], "title": "Succeeded At" }, "webhook": { "description": "ID of the webhook this delivery targets.", "title": "Webhook", "type": "string" } }, "required": [ "created_at", "modified_at", "id", "webhook", "event", "status", "payload", "succeeded_at", "failed_at", "next_attempt_at", "attempts" ], "title": "WebhookDelivery", "type": "object" }, "WebhookDeliveryAttempt": { "properties": { "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "error": { "anyOf": [ { "$ref": "#/components/schemas/WebhookDeliveryAttemptError" }, { "type": "null" } ], "description": "Error details, or `null` if the attempt succeeded.", "readOnly": true }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "outcome": { "allOf": [ { "$ref": "#/components/schemas/WebhookDeliveryAttemptOutcome" } ], "description": "Delivery attempt outcome." }, "response": { "anyOf": [ { "$ref": "#/components/schemas/WebhookDeliveryAttemptResponse" }, { "type": "null" } ], "description": "HTTP response details, or `null` if no response was received.", "readOnly": true } }, "required": [ "created_at", "modified_at", "id", "outcome", "response", "error" ], "title": "WebhookDeliveryAttempt", "type": "object" }, "WebhookDeliveryAttemptError": { "properties": { "error_type": { "allOf": [ { "$ref": "#/components/schemas/WebhookDeliveryAttemptErrorType" } ], "description": "Classification of the failure." }, "message": { "description": "Human-readable error detail.", "title": "Message", "type": "string" } }, "required": [ "error_type", "message" ], "title": "WebhookDeliveryAttemptError", "type": "object" }, "WebhookDeliveryAttemptErrorType": { "enum": [ "http", "timeout", "dns", "tls", "connection", "validation", "unknown" ], "properties": {}, "title": "WebhookDeliveryAttemptErrorType", "type": "string" }, "WebhookDeliveryAttemptOutcome": { "enum": [ "succeeded", "failed" ], "properties": {}, "title": "WebhookDeliveryAttemptOutcome", "type": "string" }, "WebhookDeliveryAttemptResponse": { "properties": { "duration": { "description": "Response duration in milliseconds.", "examples": [ 125 ], "title": "Duration", "type": "integer" }, "status": { "description": "HTTP response status code.", "examples": [ 200 ], "title": "Status", "type": "integer" } }, "required": [ "status", "duration" ], "title": "WebhookDeliveryAttemptResponse", "type": "object" }, "WebhookDeliveryStatus": { "enum": [ "pending", "in_progress", "succeeded", "failed" ], "properties": {}, "title": "WebhookDeliveryStatus", "type": "string" }, "WebhookWithSecret": { "properties": { "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Webhook purpose.", "title": "Description" }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "is_active": { "description": "Whether the webhook is active.", "title": "Is Active", "type": "boolean" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "secret": { "description": "Signing secret returned when the webhook is created.", "title": "Secret", "type": "string" }, "url": { "description": "Webhook destination URL.", "title": "Url", "type": "string" } }, "required": [ "created_at", "modified_at", "id", "url", "is_active", "description", "secret" ], "title": "WebhookWithSecret", "type": "object" }, "Withdrawal": { "properties": { "account": { "description": "The ID of the parent account.", "title": "Account", "type": "string" }, "amount": { "description": "The amount to withdraw.", "examples": [ "100.00", "50.12" ], "title": "Amount", "type": "string" }, "completed_at": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "description": "The time the withdrawal was completed.", "examples": [ "2026-07-14T09:34:12Z" ], "title": "Completed At" }, "created_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.", "format": "date-time", "title": "Created At", "type": "string" }, "currency": { "allOf": [ { "$ref": "#/components/schemas/Currency" } ], "description": "The currency to withdraw." }, "funding_account": { "allOf": [ { "$ref": "#/components/schemas/FundingAccount" } ], "description": "The funding account that will receive the funds." }, "id": { "description": "Unique resource identifier.", "title": "Id", "type": "string" }, "modified_at": { "description": "The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.", "format": "date-time", "title": "Modified At", "type": "string" }, "status": { "allOf": [ { "$ref": "#/components/schemas/WithdrawalStatus" } ], "description": "The status of the withdrawal." } }, "required": [ "created_at", "modified_at", "id", "account", "amount", "currency", "status", "funding_account" ], "title": "Withdrawal", "type": "object" }, "WithdrawalStatus": { "enum": [ "created", "completed" ], "properties": {}, "title": "WithdrawalStatus", "type": "string" }, "sophic__domain__broker__enums__DocumentType": { "enum": [ "welcome_letter", "trade_confirmation", "fee_statement", "account_statement" ], "properties": {}, "title": "DocumentType", "type": "string" }, "sophic__domain__onboarding__enums__DocumentType": { "enum": [ "passport", "national_id_front", "national_id_back", "driving_license", "driving_license_front", "driving_license_back", "utility_bill", "bank_statement", "tax_document", "shareholder_register", "share_certificate", "director_register", "board_minutes", "certificate_of_good_standing", "incumbency_certificate", "audited_accounts", "management_accounts", "ubo_declaration", "org_chart", "trust_deed", "nominee_agreement", "board_resolution" ], "properties": {}, "title": "DocumentType", "type": "string" } }, "securitySchemes": { "HTTPBearer": { "scheme": "bearer", "type": "http" } } }, "info": { "title": "Sophic Engine API", "version": "0.1.0" }, "openapi": "3.1.0", "paths": { "/accounts/{account_id}/cash-balances": { "get": { "description": "Retrieve an account's cash balances (one for each supported currency).", "operationId": "list_cash_balances_accounts__account_id__cash_balances_get", "parameters": [ { "in": "path", "name": "account_id", "required": true, "schema": { "title": "Account Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/CashBalance" }, "title": "Response List Cash Balances Accounts Account Id Cash Balances Get", "type": "array" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "List cash balances", "tags": [ "holdings" ] } }, "/accounts/{account_id}/deposits": { "post": { "description": "Create a deposit, funded by bank transfer. The deposit amount can be optionally advanced, to increase the account's buying power before the deposit is funded.", "operationId": "create_deposit_accounts__account_id__deposits_post", "parameters": [ { "in": "path", "name": "account_id", "required": true, "schema": { "title": "Account Id", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateDepositRequest" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Deposit" } } }, "description": "Created" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Create a deposit", "tags": [ "payments" ] } }, "/accounts/{account_id}/deposits/{deposit_id}": { "get": { "description": "Retrieve a deposit by ID.", "operationId": "get_deposit_accounts__account_id__deposits__deposit_id__get", "parameters": [ { "in": "path", "name": "account_id", "required": true, "schema": { "title": "Account Id", "type": "string" } }, { "in": "path", "name": "deposit_id", "required": true, "schema": { "title": "Deposit Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Deposit" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve a deposit", "tags": [ "payments" ] } }, "/accounts/{account_id}/documents": { "get": { "description": "Retrieve all account documents.", "operationId": "list_documents_accounts__account_id__documents_get", "parameters": [ { "in": "path", "name": "account_id", "required": true, "schema": { "title": "Account Id", "type": "string" } }, { "in": "query", "name": "document_type", "required": false, "schema": { "anyOf": [ { "items": { "$ref": "#/components/schemas/sophic__domain__broker__enums__DocumentType" }, "type": "array" }, { "type": "null" } ], "title": "Document Type" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/Document" }, "title": "Response List Documents Accounts Account Id Documents Get", "type": "array" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "List account documents", "tags": [ "accounts" ] } }, "/accounts/{account_id}/earnings": { "get": { "description": "Retrieve an account's earnings (P&L) for the requested period. Note the period supports full date-times, with timezone information.", "operationId": "get_earnings_accounts__account_id__earnings_get", "parameters": [ { "in": "path", "name": "account_id", "required": true, "schema": { "title": "Account Id", "type": "string" } }, { "description": "Predefined period over which earnings are computed. Takes precedence over `period_start`/`period_end` when provided.", "in": "query", "name": "period", "required": false, "schema": { "anyOf": [ { "$ref": "#/components/schemas/Period" }, { "type": "null" } ], "description": "Predefined period over which earnings are computed. Takes precedence over `period_start`/`period_end` when provided.", "title": "Period" } }, { "description": "The period start (in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format). If omitted, it defaults to the account opening date/time. Note that the period is interpreted as a half-open interval with `period_start` included and `period_end` excluded.", "in": "query", "name": "period_start", "required": false, "schema": { "description": "The period start (in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format). If omitted, it defaults to the account opening date/time. Note that the period is interpreted as a half-open interval with `period_start` included and `period_end` excluded.", "examples": [ "period_start=2025-11-12T00:00:00Z", "period_start=2025-11-12" ], "format": "date-time", "title": "Period Start", "type": "string", "x-remove-null-from-type-union": true } }, { "description": "The period end (in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format). If omitted, it defaults to the current date/time. Note the period is interpreted as a half-open interval with `period_start` included and `period_end` excluded.", "in": "query", "name": "period_end", "required": false, "schema": { "description": "The period end (in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format). If omitted, it defaults to the current date/time. Note the period is interpreted as a half-open interval with `period_start` included and `period_end` excluded.", "examples": [ "period_end=2025-11-12T00:00:00Z", "period_end=2025-11-12" ], "format": "date-time", "title": "Period End", "type": "string", "x-remove-null-from-type-union": true } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccountEarnings" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve earnings (P&L)", "tags": [ "performance" ] } }, "/accounts/{account_id}/funding-accounts": { "get": { "description": "Retrieve the funding bank accounts registered on the parent account. Funding accounts are automatically registered using the bank details from a deposit when received. These can be used to withdraw funds out of the account.", "operationId": "list_funding_accounts_accounts__account_id__funding_accounts_get", "parameters": [ { "in": "path", "name": "account_id", "required": true, "schema": { "title": "Account Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/FundingAccount" }, "title": "Response List Funding Accounts Accounts Account Id Funding Accounts Get", "type": "array" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "List funding accounts", "tags": [ "payments" ] } }, "/accounts/{account_id}/order-quotes": { "post": { "description": "Issues a quote for a prospective order. The quote captures the fees and estimated price/quantity that would apply, is persisted, and carries an `id` and `expires_at`; pass the `id` as `quote_id` at order placement to reference the previewed terms. Placement rejects expired quotes.", "operationId": "create_order_quote_accounts__account_id__order_quotes_post", "parameters": [ { "in": "path", "name": "account_id", "required": true, "schema": { "title": "Account Id", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderQuoteRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderQuote" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Get an order quote", "tags": [ "trading" ] } }, "/accounts/{account_id}/orders": { "get": { "description": "Retrieve all orders associated with the given account.", "operationId": "list_orders_accounts__account_id__orders_get", "parameters": [ { "in": "path", "name": "account_id", "required": true, "schema": { "title": "Account Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/Order" }, "title": "Response List Orders Accounts Account Id Orders Get", "type": "array" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "List orders", "tags": [ "trading" ] }, "post": { "description": "Places a buy-side or sell-side market or limit order. Buys are cash-based; sells require a unit quantity.", "operationId": "place_order_accounts__account_id__orders_post", "parameters": [ { "in": "path", "name": "account_id", "required": true, "schema": { "title": "Account Id", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlaceOrderRequest" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Order" } } }, "description": "Created" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Place an order", "tags": [ "trading" ] } }, "/accounts/{account_id}/orders/{order_id}": { "get": { "description": "Retrieve an order by ID.", "operationId": "get_order_accounts__account_id__orders__order_id__get", "parameters": [ { "in": "path", "name": "account_id", "required": true, "schema": { "title": "Account Id", "type": "string" } }, { "in": "path", "name": "order_id", "required": true, "schema": { "title": "Order Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Order" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve an order", "tags": [ "trading" ] } }, "/accounts/{account_id}/pending-orders": { "get": { "description": "Retrieve all orders associated with the given account that are pending execution.", "operationId": "list_orders_pending_execution_accounts__account_id__pending_orders_get", "parameters": [ { "in": "path", "name": "account_id", "required": true, "schema": { "title": "Account Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/Order" }, "title": "Response List Orders Pending Execution Accounts Account Id Pending Orders Get", "type": "array" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "List pending orders", "tags": [ "trading" ] } }, "/accounts/{account_id}/positions": { "get": { "description": "List an account's positions, optionally filtered to only include open positions.", "operationId": "list_positions_accounts__account_id__positions_get", "parameters": [ { "in": "path", "name": "account_id", "required": true, "schema": { "title": "Account Id", "type": "string" } }, { "description": "If true, only open positions are returned.", "in": "query", "name": "open_only", "required": false, "schema": { "default": false, "description": "If true, only open positions are returned.", "title": "Open Only", "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/Position" }, "title": "Response List Positions Accounts Account Id Positions Get", "type": "array" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "List positions", "tags": [ "holdings" ] } }, "/accounts/{account_id}/positions/{position_id}": { "get": { "description": "Retrieve a position within an account.", "operationId": "get_position_accounts__account_id__positions__position_id__get", "parameters": [ { "in": "path", "name": "account_id", "required": true, "schema": { "title": "Account Id", "type": "string" } }, { "in": "path", "name": "position_id", "required": true, "schema": { "title": "Position Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Position" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve a position", "tags": [ "holdings" ] } }, "/accounts/{account_id}/returns": { "get": { "description": "Retrieve the account's MWRR and TWRR for the requested period.", "operationId": "get_account_returns_accounts__account_id__returns_get", "parameters": [ { "in": "path", "name": "account_id", "required": true, "schema": { "title": "Account Id", "type": "string" } }, { "description": "Predefined period over which returns are computed.", "in": "query", "name": "period", "required": true, "schema": { "allOf": [ { "$ref": "#/components/schemas/Period" } ], "description": "Predefined period over which returns are computed.", "title": "Period" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccountReturns" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve Account Returns (MWRR / TWRR)", "tags": [ "performance" ] } }, "/accounts/{account_id}/statements": { "post": { "description": "Creates a new statement", "operationId": "create_account_statement_accounts__account_id__statements_post", "parameters": [ { "in": "path", "name": "account_id", "required": true, "schema": { "title": "Account Id", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenerateAccountStatementRequest" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Document" } } }, "description": "Created" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Create an account statement", "tags": [ "accounts" ] } }, "/accounts/{account_id}/valuation": { "get": { "description": "Retrieve an account's current valuation.", "operationId": "get_current_valuation_accounts__account_id__valuation_get", "parameters": [ { "description": "The ID of the account to retrieve the valuation for.", "in": "path", "name": "account_id", "required": true, "schema": { "description": "The ID of the account to retrieve the valuation for.", "title": "Account Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Valuation" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve current valuation", "tags": [ "valuation" ] } }, "/accounts/{account_id}/valuation-history": { "get": { "description": "Retrieve an account's valuation time series for the requested period. Suitable for charting an account's valuation over time.", "operationId": "get_account_history_time_series_accounts__account_id__valuation_history_get", "parameters": [ { "description": "The ID of the account to retrieve the valuation history for.", "in": "path", "name": "account_id", "required": true, "schema": { "description": "The ID of the account to retrieve the valuation history for.", "title": "Account Id", "type": "string" } }, { "description": "The period start (in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) date format). Note the period is interpreted as a closed interval with both `period_start` and `period_end` included.", "in": "query", "name": "period_start", "required": true, "schema": { "description": "The period start (in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) date format). Note the period is interpreted as a closed interval with both `period_start` and `period_end` included.", "examples": [ "period_start=2025-11-12" ], "format": "date", "title": "Period Start", "type": "string" } }, { "description": "The period end (in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) date format). Note the period is interpreted as a closed period is interpreted as a closed interval with both `period_start` and `period_end` included.", "in": "query", "name": "period_end", "required": false, "schema": { "description": "The period end (in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) date format). Note the period is interpreted as a closed period is interpreted as a closed interval with both `period_start` and `period_end` included.", "examples": [ "period_end=2025-11-12" ], "format": "date", "title": "Period End", "type": "string", "x-remove-null-from-type-union": true } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValuationHistory" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve valuation history", "tags": [ "valuation" ] } }, "/accounts/{account_id}/withdrawals": { "post": { "description": "Initiates a withdrawal of cash out of the account.", "operationId": "create_withdrawal_accounts__account_id__withdrawals_post", "parameters": [ { "in": "path", "name": "account_id", "required": true, "schema": { "title": "Account Id", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWithdrawalRequest" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Withdrawal" } } }, "description": "Created" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Create a withdrawal", "tags": [ "payments" ] } }, "/accounts/{account_id}/withdrawals/{withdrawal_id}": { "get": { "description": "Retrieve a withdrawal by ID.", "operationId": "get_withdrawal_accounts__account_id__withdrawals__withdrawal_id__get", "parameters": [ { "in": "path", "name": "account_id", "required": true, "schema": { "title": "Account Id", "type": "string" } }, { "in": "path", "name": "withdrawal_id", "required": true, "schema": { "title": "Withdrawal Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Withdrawal" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve a withdrawal", "tags": [ "payments" ] } }, "/accounts/{id_or_reference}": { "get": { "description": "Retrieve an account by ID or reference.", "operationId": "get_account_accounts__id_or_reference__get", "parameters": [ { "in": "path", "name": "id_or_reference", "required": true, "schema": { "title": "Id Or Reference", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Account" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve an account", "tags": [ "accounts" ] } }, "/accounts/{id}/transactions": { "get": { "description": "Retrieve the account's transaction activity.", "operationId": "list_account_transactions_accounts__id__transactions_get", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "title": "Id", "type": "string" } }, { "in": "query", "name": "limit", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Limit", "x-remove-null": true } }, { "in": "query", "name": "transaction_types", "required": false, "schema": { "anyOf": [ { "items": { "$ref": "#/components/schemas/TransactionType" }, "type": "array" }, { "type": "null" } ], "title": "Transaction Types" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/Transaction" }, "title": "Response List Account Transactions Accounts Id Transactions Get", "type": "array" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "List account transactions", "tags": [ "activity" ] } }, "/auth/token": { "post": { "description": "Issue an OAuth token using client credentials.", "operationId": "issue_token_auth_token_post", "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ClientCredentialsForm" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthToken" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthErrorBody" } } }, "description": "OAuth error response (RFC 6749 §5.2). Malformed form fields return the standard error envelope instead." }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthErrorBody" } } }, "description": "Client authentication failed (RFC 6749 §5.2)." } }, "summary": "Issue an OAuth token", "tags": [ "auth" ] } }, "/bills/otr": { "get": { "description": "Returns the on-the-run treasury bill for each standard maturity period of the given issuer country that currently has a matching bill. Periods with no matching bill are omitted from the response.", "operationId": "get_on_the_run_bill_matrix_bills_otr_get", "parameters": [ { "in": "query", "name": "issuer_country", "required": true, "schema": { "title": "Issuer Country", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "default": { "summary": "EU on-the-run matrix with no 6m match", "value": { "12m": { "days_to_maturity": 366, "id": "instrument_def456", "instrument_type": "bill", "isin": "EU0000000011", "issuer": "EU", "issuer_country": "EU", "maturity_date": "2024-10-04", "name": "EU 12M T-Bill 2024-10-04", "symbol": "EU0000000011", "trading_currency": "EUR" }, "3m": { "days_to_maturity": 92, "id": "instrument_abc123", "instrument_type": "bill", "isin": "EU0000000001", "issuer": "EU", "issuer_country": "EU", "maturity_date": "2024-01-04", "name": "EU 3M T-Bill 2024-01-04", "symbol": "EU0000000001", "trading_currency": "EUR" } } } }, "schema": { "additionalProperties": { "$ref": "#/components/schemas/Bill" }, "title": "Response Get On The Run Bill Matrix Bills Otr Get", "type": "object" } } }, "description": "Successful Response" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "List on-the-run bills", "tags": [ "catalog" ] } }, "/customers/{id}": { "get": { "description": "Retrieve a customer by ID.", "operationId": "get_customer_customers__id__get", "parameters": [ { "description": "The ID of the customer.", "in": "path", "name": "id", "required": true, "schema": { "description": "The ID of the customer.", "title": "Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "discriminator": { "mapping": { "business": "#/components/schemas/BusinessCustomer", "individual": "#/components/schemas/IndividualCustomer", "joint": "#/components/schemas/JointCustomer" }, "propertyName": "customer_type" }, "oneOf": [ { "$ref": "#/components/schemas/IndividualCustomer" }, { "$ref": "#/components/schemas/JointCustomer" }, { "$ref": "#/components/schemas/BusinessCustomer" } ], "title": "Response Get Customer Customers Id Get" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve a customer", "tags": [ "customers" ] } }, "/customers/{id}/account-ownerships": { "get": { "description": "Retrieve the account ownerships for a customer.", "operationId": "list_customer_account_ownerships_customers__id__account_ownerships_get", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "title": "Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/AccountOwnership" }, "title": "Response List Customer Account Ownerships Customers Id Account Ownerships Get", "type": "array" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "List Customer Account Ownerships", "tags": [ "customers" ] } }, "/documents/{document_id}/file": { "get": { "description": "Downloads the underlying document file. Note that this endpoint is implemented using a redirect which should be followed by the client for downloading directly from file storage. Clients that cannot follow a redirect can make the request with ?redirect=false and manually open the URL in `download_url` to trigger the download.", "operationId": "download_document_file_documents__document_id__file_get", "parameters": [ { "in": "path", "name": "document_id", "required": true, "schema": { "title": "Document Id", "type": "string" } }, { "in": "query", "name": "redirect", "required": false, "schema": { "default": true, "title": "Redirect", "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Download Document File", "tags": [ "accounts" ] } }, "/events": { "get": { "description": "Retrieve events, optionally filtered by name, resource ID, or creation time.", "operationId": "list_events_events_get", "parameters": [ { "description": "Filter by fully-qualified event name, e.g. `customer.created`.", "in": "query", "name": "name", "required": false, "schema": { "description": "Filter by fully-qualified event name, e.g. `customer.created`.", "title": "Name", "type": "string", "x-remove-null-from-type-union": true } }, { "description": "Filter by the resource ID that the events describe.", "in": "query", "name": "resource[id]", "required": false, "schema": { "description": "Filter by the resource ID that the events describe.", "title": "Resource[Id]", "type": "string", "x-remove-null-from-type-union": true } }, { "description": "Return events created strictly after this timestamp.", "in": "query", "name": "created[gt]", "required": false, "schema": { "description": "Return events created strictly after this timestamp.", "format": "date-time", "title": "Created[Gt]", "type": "string", "x-remove-null-from-type-union": true } }, { "description": "Return events created on or after this timestamp.", "in": "query", "name": "created[gte]", "required": false, "schema": { "description": "Return events created on or after this timestamp.", "format": "date-time", "title": "Created[Gte]", "type": "string", "x-remove-null-from-type-union": true } }, { "description": "Return events created strictly before this timestamp.", "in": "query", "name": "created[lt]", "required": false, "schema": { "description": "Return events created strictly before this timestamp.", "format": "date-time", "title": "Created[Lt]", "type": "string", "x-remove-null-from-type-union": true } }, { "description": "Return events created on or before this timestamp.", "in": "query", "name": "created[lte]", "required": false, "schema": { "description": "Return events created on or before this timestamp.", "format": "date-time", "title": "Created[Lte]", "type": "string", "x-remove-null-from-type-union": true } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/Event" }, "title": "Response List Events Events Get", "type": "array" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "List events", "tags": [ "events" ] } }, "/events/{event_id}": { "get": { "description": "Retrieve an event by ID.", "operationId": "get_event_events__event_id__get", "parameters": [ { "in": "path", "name": "event_id", "required": true, "schema": { "title": "Event Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Event" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve event", "tags": [ "events" ] } }, "/fee-charges/{fee_charge_id}": { "get": { "description": "Retrieve a fee charge by ID.", "operationId": "get_fee_charge_fee_charges__fee_charge_id__get", "parameters": [ { "in": "path", "name": "fee_charge_id", "required": true, "schema": { "title": "Fee Charge Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FeeCharge" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve a fee charge", "tags": [ "billing" ] } }, "/files": { "post": { "description": "Create a file from a signed upload. **Please use the `id` that was returned when the signed upload was requested.**", "operationId": "create_file_from_signed_upload_files_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateFileFromSignedUploadRequest" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/File" } } }, "description": "Created" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Create a file", "tags": [ "files" ] } }, "/instruments": { "get": { "description": "Retrieve all instruments. Note that only instruments visible for your tenant will be returned.", "operationId": "list_instruments_instruments_get", "parameters": [ { "description": "Return instruments of the given types.", "in": "query", "name": "instrument_type", "required": false, "schema": { "description": "Return instruments of the given types.", "items": { "$ref": "#/components/schemas/InstrumentType" }, "title": "Instrument Type", "type": "array", "x-remove-null-from-type-union": true } }, { "description": "Return instruments with the given trading statuses.", "in": "query", "name": "trading_status", "required": false, "schema": { "description": "Return instruments with the given trading statuses.", "items": { "$ref": "#/components/schemas/InstrumentTradingStatus" }, "title": "Trading Status", "type": "array", "x-remove-null-from-type-union": true } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "discriminator": { "mapping": { "amc": "#/components/schemas/AMC", "bill": "#/components/schemas/Bill", "bond": "#/components/schemas/Bond", "currency_pair": "#/components/schemas/CurrencyPair", "etf": "#/components/schemas/ETF", "money_market_fund": "#/components/schemas/MoneyMarketFund" }, "propertyName": "instrument_type" }, "oneOf": [ { "$ref": "#/components/schemas/Bill" }, { "$ref": "#/components/schemas/CurrencyPair" }, { "$ref": "#/components/schemas/Bond" }, { "$ref": "#/components/schemas/MoneyMarketFund" }, { "$ref": "#/components/schemas/AMC" }, { "$ref": "#/components/schemas/ETF" } ] }, "title": "Response List Instruments Instruments Get", "type": "array" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "List instruments", "tags": [ "catalog" ] } }, "/instruments/{id_or_symbol}": { "get": { "description": "Retrieve an instrument by ID or symbol. Note that the instrument has to be visible for your tenant to be accessible.", "operationId": "get_instrument_instruments__id_or_symbol__get", "parameters": [ { "description": "The ID or symbol of the instrument to retrieve.", "in": "path", "name": "id_or_symbol", "required": true, "schema": { "description": "The ID or symbol of the instrument to retrieve.", "title": "Id Or Symbol", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "discriminator": { "mapping": { "amc": "#/components/schemas/AMC", "bill": "#/components/schemas/Bill", "bond": "#/components/schemas/Bond", "currency_pair": "#/components/schemas/CurrencyPair", "etf": "#/components/schemas/ETF", "money_market_fund": "#/components/schemas/MoneyMarketFund" }, "propertyName": "instrument_type" }, "oneOf": [ { "$ref": "#/components/schemas/Bill" }, { "$ref": "#/components/schemas/CurrencyPair" }, { "$ref": "#/components/schemas/Bond" }, { "$ref": "#/components/schemas/MoneyMarketFund" }, { "$ref": "#/components/schemas/AMC" }, { "$ref": "#/components/schemas/ETF" } ], "title": "Response Get Instrument Instruments Id Or Symbol Get" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve an instrument", "tags": [ "catalog" ] } }, "/legal-documents": { "get": { "description": "Retrieve all available legal documents, optionally filtered by document type.", "operationId": "list_legal_documents_legal_documents_get", "parameters": [ { "description": "Return legal documents of the given type.", "in": "query", "name": "document_type", "required": false, "schema": { "$ref": "#/components/schemas/LegalDocumentType", "description": "Return legal documents of the given type.", "title": "Document Type", "x-remove-null-from-type-union": true } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/LegalDocument" }, "title": "Response List Legal Documents Legal Documents Get", "type": "array" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "List legal documents", "tags": [ "legal-documents" ] } }, "/legal-documents/{legal_document_id}": { "get": { "description": "Retrieve a legal document by ID.", "operationId": "get_legal_document_legal_documents__legal_document_id__get", "parameters": [ { "description": "The ID of the legal document to retrieve.", "in": "path", "name": "legal_document_id", "required": true, "schema": { "description": "The ID of the legal document to retrieve.", "title": "Legal Document Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LegalDocument" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve a legal document", "tags": [ "legal-documents" ] } }, "/legal-documents/{legal_document_id}/latest": { "get": { "description": "Retrieves the latest version of a legal document alongside its download URL.", "operationId": "get_latest_legal_document_legal_documents__legal_document_id__latest_get", "parameters": [ { "description": "The ID of the legal document.", "in": "path", "name": "legal_document_id", "required": true, "schema": { "description": "The ID of the legal document.", "title": "Legal Document Id", "type": "string" } }, { "in": "query", "name": "inline", "required": false, "schema": { "default": false, "title": "Inline", "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LegalDocumentVersionWithDownloadUrl" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve the latest version of a legal document", "tags": [ "legal-documents" ] } }, "/legal-documents/{legal_document_id}/latest/file": { "get": { "description": "Downloads the file for the latest version of a legal document (by effective date). This endpoint redirects to a signed download URL. Clients that cannot follow a redirect can make the request with ?redirect=false and manually open the URL in `download_url` to trigger the download. If you want to open the file inline,add ?inline=true to the request.", "operationId": "download_latest_legal_document_legal_documents__legal_document_id__latest_file_get", "parameters": [ { "description": "The ID of the legal document.", "in": "path", "name": "legal_document_id", "required": true, "schema": { "description": "The ID of the legal document.", "title": "Legal Document Id", "type": "string" } }, { "in": "query", "name": "redirect", "required": false, "schema": { "default": true, "title": "Redirect", "type": "boolean" } }, { "in": "query", "name": "inline", "required": false, "schema": { "default": false, "title": "Inline", "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Download the latest version of a legal document", "tags": [ "legal-documents" ] } }, "/legal-documents/{legal_document_id}/versions": { "get": { "description": "Returns all versions of the given legal document, ordered by effective date descending (most recent first).", "operationId": "list_legal_document_versions_legal_documents__legal_document_id__versions_get", "parameters": [ { "description": "The ID of the legal document.", "in": "path", "name": "legal_document_id", "required": true, "schema": { "description": "The ID of the legal document.", "title": "Legal Document Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/LegalDocumentVersion" }, "title": "Response List Legal Document Versions Legal Documents Legal Document Id Versions Get", "type": "array" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "List versions of a legal document", "tags": [ "legal-documents" ] } }, "/legal-documents/{legal_document_id}/versions/{version_id}": { "get": { "description": "Retrieve a specific version of a legal document.", "operationId": "get_legal_document_version_legal_documents__legal_document_id__versions__version_id__get", "parameters": [ { "description": "The ID of the legal document.", "in": "path", "name": "legal_document_id", "required": true, "schema": { "description": "The ID of the legal document.", "title": "Legal Document Id", "type": "string" } }, { "description": "The ID of the version to retrieve.", "in": "path", "name": "version_id", "required": true, "schema": { "description": "The ID of the version to retrieve.", "title": "Version Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LegalDocumentVersion" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve a legal document version", "tags": [ "legal-documents" ] } }, "/legal-documents/{legal_document_id}/versions/{version_id}/file": { "get": { "description": "Downloads the file for a specific version of a legal document. This endpoint redirects to a signed download URL. Clients that cannot follow a redirect can make the request with ?redirect=false and manually open the URL in `download_url` to trigger the download. If you want to open the file inline, add ?inline=true to the request.", "operationId": "download_legal_document_version_legal_documents__legal_document_id__versions__version_id__file_get", "parameters": [ { "description": "The ID of the legal document.", "in": "path", "name": "legal_document_id", "required": true, "schema": { "description": "The ID of the legal document.", "title": "Legal Document Id", "type": "string" } }, { "description": "The ID of the version to download.", "in": "path", "name": "version_id", "required": true, "schema": { "description": "The ID of the version to download.", "title": "Version Id", "type": "string" } }, { "in": "query", "name": "redirect", "required": false, "schema": { "default": true, "title": "Redirect", "type": "boolean" } }, { "in": "query", "name": "inline", "required": false, "schema": { "default": false, "title": "Inline", "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Download a legal document version", "tags": [ "legal-documents" ] } }, "/me": { "get": { "description": "Retrieves the authenticated user or service actor for inspection and debugging.", "operationId": "me_me_get", "responses": { "200": { "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/User" }, { "$ref": "#/components/schemas/Service" } ], "title": "Response Me Me Get" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve current actor", "tags": [ "identity" ] } }, "/me/permissions": { "get": { "description": "Lists all effective permissions for the authenticated actor. Conditional permissions include a stable `when` condition id.", "operationId": "list_permissions_me_permissions_get", "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/Permission" }, "title": "Response List Permissions Me Permissions Get", "type": "array" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "List current actor permissions", "tags": [ "identity" ] } }, "/onboarding-applications": { "post": { "description": "Submits an onboarding application for compliance review. All referenced persons must already exist. The application is validated against the onboarding requirements for the given customer type.", "operationId": "submit_onboarding_application_onboarding_applications_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubmitOnboardingApplicationRequest" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnboardingApplicationResponse" } } }, "description": "Created" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Submit an onboarding application", "tags": [ "onboarding" ] } }, "/onboarding-applications/{id}": { "get": { "description": "Retrieve a persisted onboarding application by its ID.", "operationId": "get_onboarding_application_onboarding_applications__id__get", "parameters": [ { "description": "The ID of the onboarding application.", "in": "path", "name": "id", "required": true, "schema": { "description": "The ID of the onboarding application.", "title": "Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnboardingApplicationResponse" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve an onboarding application", "tags": [ "onboarding" ] } }, "/persons": { "post": { "description": "Creates a person from claims with optional verification evidence. Supports both natural and legal persons.", "operationId": "create_person_persons_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatePersonRequest" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PersonCreationResponse" } } }, "description": "Created" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Create a person", "tags": [ "customers" ] } }, "/persons/{id}": { "get": { "description": "Retrieve a person by ID.", "operationId": "get_person_persons__id__get", "parameters": [ { "description": "The ID of the person.", "in": "path", "name": "id", "required": true, "schema": { "description": "The ID of the person.", "title": "Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "discriminator": { "mapping": { "legal": "#/components/schemas/LegalPerson", "natural": "#/components/schemas/NaturalPerson" }, "propertyName": "person_type" }, "oneOf": [ { "$ref": "#/components/schemas/NaturalPerson" }, { "$ref": "#/components/schemas/LegalPerson" } ], "title": "Response Get Person Persons Id Get" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve a person", "tags": [ "customers" ] } }, "/persons/{id}/authorities": { "get": { "description": "List all authorities for a person by ID, optionally including revoked authorities.", "operationId": "list_person_authorities_persons__id__authorities_get", "parameters": [ { "description": "The ID of the person.", "in": "path", "name": "id", "required": true, "schema": { "description": "The ID of the person.", "title": "Id", "type": "string" } }, { "description": "Whether to include revoked authorities.", "in": "query", "name": "include_revoked", "required": false, "schema": { "default": false, "description": "Whether to include revoked authorities.", "title": "Include Revoked", "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/CustomerAuthority" }, "title": "Response List Person Authorities Persons Id Authorities Get", "type": "array" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "List authorities for a person", "tags": [ "customers" ] } }, "/persons/{person_id}/claims": { "get": { "description": "List claims for a person by ID.", "operationId": "list_person_claims_persons__person_id__claims_get", "parameters": [ { "description": "The ID of the person.", "in": "path", "name": "person_id", "required": true, "schema": { "description": "The ID of the person.", "title": "Person Id", "type": "string" } }, { "description": "If set, only claims of this type.", "in": "query", "name": "claim_type", "required": false, "schema": { "anyOf": [ { "$ref": "#/components/schemas/ClaimType" }, { "type": "null" } ], "description": "If set, only claims of this type.", "title": "Claim Type" } }, { "description": "Filter by claim status (pending or verified). If omitted, claims of all statuses are returned.", "in": "query", "name": "status", "required": false, "schema": { "anyOf": [ { "$ref": "#/components/schemas/ClaimStatus" }, { "type": "null" } ], "description": "Filter by claim status (pending or verified). If omitted, claims of all statuses are returned.", "title": "Status" } }, { "description": "Default `true`: every row for this person is returned (archived pendings and superseded verifieds included), newest-first. Set to `false` to collapse to the two current rows per claim type -- the `active` verified row and the `in_flight` pending update, if any.", "in": "query", "name": "include_history", "required": false, "schema": { "default": true, "description": "Default `true`: every row for this person is returned (archived pendings and superseded verifieds included), newest-first. Set to `false` to collapse to the two current rows per claim type -- the `active` verified row and the `in_flight` pending update, if any.", "title": "Include History", "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "discriminator": { "mapping": { "business_nature": "#/components/schemas/BusinessNaturePersonClaim", "contact_details": "#/components/schemas/ContactDetailsPersonClaim", "education_level": "#/components/schemas/EducationLevelPersonClaim", "employment": "#/components/schemas/EmploymentPersonClaim", "expected_activity": "#/components/schemas/ExpectedActivityPersonClaim", "fatca_status": "#/components/schemas/FatcaStatusPersonClaim", "financial_profile": "#/components/schemas/FinancialProfilePersonClaim", "identity": "#/components/schemas/IdentityPersonClaim", "investment_experience": "#/components/schemas/InvestmentExperiencePersonClaim", "lei": "#/components/schemas/LeiPersonClaim", "nationalities": "#/components/schemas/NationalitiesPersonClaim", "operating_address": "#/components/schemas/OperatingAddressPersonClaim", "pep_status": "#/components/schemas/PepStatusPersonClaim", "registered_address": "#/components/schemas/RegisteredAddressPersonClaim", "registration": "#/components/schemas/RegistrationPersonClaim", "relationships": "#/components/schemas/RelationshipsPersonClaim", "residence": "#/components/schemas/ResidencePersonClaim", "tax_residencies": "#/components/schemas/TaxResidenciesPersonClaim" }, "propertyName": "claim_type" }, "oneOf": [ { "$ref": "#/components/schemas/IdentityPersonClaim" }, { "$ref": "#/components/schemas/NationalitiesPersonClaim" }, { "$ref": "#/components/schemas/ResidencePersonClaim" }, { "$ref": "#/components/schemas/TaxResidenciesPersonClaim" }, { "$ref": "#/components/schemas/FatcaStatusPersonClaim" }, { "$ref": "#/components/schemas/PepStatusPersonClaim" }, { "$ref": "#/components/schemas/EducationLevelPersonClaim" }, { "$ref": "#/components/schemas/EmploymentPersonClaim" }, { "$ref": "#/components/schemas/FinancialProfilePersonClaim" }, { "$ref": "#/components/schemas/InvestmentExperiencePersonClaim" }, { "$ref": "#/components/schemas/RegistrationPersonClaim" }, { "$ref": "#/components/schemas/ContactDetailsPersonClaim" }, { "$ref": "#/components/schemas/LeiPersonClaim" }, { "$ref": "#/components/schemas/RegisteredAddressPersonClaim" }, { "$ref": "#/components/schemas/OperatingAddressPersonClaim" }, { "$ref": "#/components/schemas/BusinessNaturePersonClaim" }, { "$ref": "#/components/schemas/ExpectedActivityPersonClaim" }, { "$ref": "#/components/schemas/RelationshipsPersonClaim" } ] }, "title": "Response List Person Claims Persons Person Id Claims Get", "type": "array" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "List claims for a person", "tags": [ "customers" ] }, "post": { "description": "Submit a claim of any type for a person. The claim is created with pending status and will need verification.", "operationId": "create_person_claim_persons__person_id__claims_post", "parameters": [ { "description": "The ID of the person.", "in": "path", "name": "person_id", "required": true, "schema": { "description": "The ID of the person.", "title": "Person Id", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/IdentityClaimSpec" }, { "$ref": "#/components/schemas/NationalitiesClaimSpec" }, { "$ref": "#/components/schemas/ResidenceClaimSpec" }, { "$ref": "#/components/schemas/TaxResidenciesClaimSpec" }, { "$ref": "#/components/schemas/FatcaStatusClaimSpec" }, { "$ref": "#/components/schemas/PepStatusClaimSpec" }, { "$ref": "#/components/schemas/EducationLevelClaimSpec" }, { "$ref": "#/components/schemas/EmploymentClaimSpec" }, { "$ref": "#/components/schemas/FinancialProfileClaimSpec" }, { "$ref": "#/components/schemas/InvestmentExperienceClaimSpec" }, { "$ref": "#/components/schemas/RegistrationClaimSpec" }, { "$ref": "#/components/schemas/ContactDetailsClaimSpec" }, { "$ref": "#/components/schemas/LeiClaimSpec" }, { "$ref": "#/components/schemas/RegisteredAddressClaimSpec" }, { "$ref": "#/components/schemas/OperatingAddressClaimSpec" }, { "$ref": "#/components/schemas/BusinessNatureClaimSpec" }, { "$ref": "#/components/schemas/ExpectedActivityClaimSpec" }, { "$ref": "#/components/schemas/RelationshipsClaimSpec" } ], "description": "The claim payload, discriminated by claim_type.", "title": "Body" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "discriminator": { "mapping": { "business_nature": "#/components/schemas/BusinessNaturePersonClaim", "contact_details": "#/components/schemas/ContactDetailsPersonClaim", "education_level": "#/components/schemas/EducationLevelPersonClaim", "employment": "#/components/schemas/EmploymentPersonClaim", "expected_activity": "#/components/schemas/ExpectedActivityPersonClaim", "fatca_status": "#/components/schemas/FatcaStatusPersonClaim", "financial_profile": "#/components/schemas/FinancialProfilePersonClaim", "identity": "#/components/schemas/IdentityPersonClaim", "investment_experience": "#/components/schemas/InvestmentExperiencePersonClaim", "lei": "#/components/schemas/LeiPersonClaim", "nationalities": "#/components/schemas/NationalitiesPersonClaim", "operating_address": "#/components/schemas/OperatingAddressPersonClaim", "pep_status": "#/components/schemas/PepStatusPersonClaim", "registered_address": "#/components/schemas/RegisteredAddressPersonClaim", "registration": "#/components/schemas/RegistrationPersonClaim", "relationships": "#/components/schemas/RelationshipsPersonClaim", "residence": "#/components/schemas/ResidencePersonClaim", "tax_residencies": "#/components/schemas/TaxResidenciesPersonClaim" }, "propertyName": "claim_type" }, "oneOf": [ { "$ref": "#/components/schemas/IdentityPersonClaim" }, { "$ref": "#/components/schemas/NationalitiesPersonClaim" }, { "$ref": "#/components/schemas/ResidencePersonClaim" }, { "$ref": "#/components/schemas/TaxResidenciesPersonClaim" }, { "$ref": "#/components/schemas/FatcaStatusPersonClaim" }, { "$ref": "#/components/schemas/PepStatusPersonClaim" }, { "$ref": "#/components/schemas/EducationLevelPersonClaim" }, { "$ref": "#/components/schemas/EmploymentPersonClaim" }, { "$ref": "#/components/schemas/FinancialProfilePersonClaim" }, { "$ref": "#/components/schemas/InvestmentExperiencePersonClaim" }, { "$ref": "#/components/schemas/RegistrationPersonClaim" }, { "$ref": "#/components/schemas/ContactDetailsPersonClaim" }, { "$ref": "#/components/schemas/LeiPersonClaim" }, { "$ref": "#/components/schemas/RegisteredAddressPersonClaim" }, { "$ref": "#/components/schemas/OperatingAddressPersonClaim" }, { "$ref": "#/components/schemas/BusinessNaturePersonClaim" }, { "$ref": "#/components/schemas/ExpectedActivityPersonClaim" }, { "$ref": "#/components/schemas/RelationshipsPersonClaim" } ], "title": "Response Create Person Claim Persons Person Id Claims Post" } } }, "description": "Created" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Create a claim for a person", "tags": [ "customers" ] } }, "/persons/{person_id}/claims/{claim_id}": { "get": { "description": "Retrieve a single claim for a person by person ID and claim ID.", "operationId": "get_person_claim_persons__person_id__claims__claim_id__get", "parameters": [ { "description": "The ID of the person.", "in": "path", "name": "person_id", "required": true, "schema": { "description": "The ID of the person.", "title": "Person Id", "type": "string" } }, { "description": "The ID of the claim.", "in": "path", "name": "claim_id", "required": true, "schema": { "description": "The ID of the claim.", "title": "Claim Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "discriminator": { "mapping": { "business_nature": "#/components/schemas/BusinessNaturePersonClaim", "contact_details": "#/components/schemas/ContactDetailsPersonClaim", "education_level": "#/components/schemas/EducationLevelPersonClaim", "employment": "#/components/schemas/EmploymentPersonClaim", "expected_activity": "#/components/schemas/ExpectedActivityPersonClaim", "fatca_status": "#/components/schemas/FatcaStatusPersonClaim", "financial_profile": "#/components/schemas/FinancialProfilePersonClaim", "identity": "#/components/schemas/IdentityPersonClaim", "investment_experience": "#/components/schemas/InvestmentExperiencePersonClaim", "lei": "#/components/schemas/LeiPersonClaim", "nationalities": "#/components/schemas/NationalitiesPersonClaim", "operating_address": "#/components/schemas/OperatingAddressPersonClaim", "pep_status": "#/components/schemas/PepStatusPersonClaim", "registered_address": "#/components/schemas/RegisteredAddressPersonClaim", "registration": "#/components/schemas/RegistrationPersonClaim", "relationships": "#/components/schemas/RelationshipsPersonClaim", "residence": "#/components/schemas/ResidencePersonClaim", "tax_residencies": "#/components/schemas/TaxResidenciesPersonClaim" }, "propertyName": "claim_type" }, "oneOf": [ { "$ref": "#/components/schemas/IdentityPersonClaim" }, { "$ref": "#/components/schemas/NationalitiesPersonClaim" }, { "$ref": "#/components/schemas/ResidencePersonClaim" }, { "$ref": "#/components/schemas/TaxResidenciesPersonClaim" }, { "$ref": "#/components/schemas/FatcaStatusPersonClaim" }, { "$ref": "#/components/schemas/PepStatusPersonClaim" }, { "$ref": "#/components/schemas/EducationLevelPersonClaim" }, { "$ref": "#/components/schemas/EmploymentPersonClaim" }, { "$ref": "#/components/schemas/FinancialProfilePersonClaim" }, { "$ref": "#/components/schemas/InvestmentExperiencePersonClaim" }, { "$ref": "#/components/schemas/RegistrationPersonClaim" }, { "$ref": "#/components/schemas/ContactDetailsPersonClaim" }, { "$ref": "#/components/schemas/LeiPersonClaim" }, { "$ref": "#/components/schemas/RegisteredAddressPersonClaim" }, { "$ref": "#/components/schemas/OperatingAddressPersonClaim" }, { "$ref": "#/components/schemas/BusinessNaturePersonClaim" }, { "$ref": "#/components/schemas/ExpectedActivityPersonClaim" }, { "$ref": "#/components/schemas/RelationshipsPersonClaim" } ], "title": "Response Get Person Claim Persons Person Id Claims Claim Id Get" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve a person claim", "tags": [ "customers" ] } }, "/positions/{id}": { "put": { "description": "Updates (a limited set of) settings for the given position.", "operationId": "update_position_positions__id__put", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "title": "Id", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdatePositionRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Position" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Update Position", "tags": [ "holdings" ] } }, "/positions/{id}/transactions": { "get": { "description": "Retrieve the position's transaction activity.", "operationId": "list_position_transactions_positions__id__transactions_get", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "title": "Id", "type": "string" } }, { "in": "query", "name": "limit", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Limit", "x-remove-null": true } }, { "in": "query", "name": "transaction_types", "required": false, "schema": { "anyOf": [ { "items": { "$ref": "#/components/schemas/TransactionType" }, "type": "array" }, { "type": "null" } ], "title": "Transaction Types" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/Transaction" }, "title": "Response List Position Transactions Positions Id Transactions Get", "type": "array" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "List position transactions", "tags": [ "activity" ] } }, "/positions/{position_id}/earnings": { "get": { "description": "Retrieve a position's earnings (P&L) for the requested period. Note the period supports full date-times, with timezone information.", "operationId": "get_position_earnings_positions__position_id__earnings_get", "parameters": [ { "in": "path", "name": "position_id", "required": true, "schema": { "title": "Position Id", "type": "string" } }, { "description": "Predefined period over which earnings are computed. Takes precedence over `period_start`/`period_end` when provided.", "in": "query", "name": "period", "required": false, "schema": { "anyOf": [ { "$ref": "#/components/schemas/Period" }, { "type": "null" } ], "description": "Predefined period over which earnings are computed. Takes precedence over `period_start`/`period_end` when provided.", "title": "Period" } }, { "description": "The period start (in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format). If omitted, it defaults to the position opening date/time. Note that the period is interpreted as a half-open interval with `period_start` included and `period_end` excluded.", "in": "query", "name": "period_start", "required": false, "schema": { "description": "The period start (in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format). If omitted, it defaults to the position opening date/time. Note that the period is interpreted as a half-open interval with `period_start` included and `period_end` excluded.", "examples": [ "period_start=2025-11-12T00:00:00Z", "period_start=2025-11-12" ], "format": "date-time", "title": "Period Start", "type": "string", "x-remove-null-from-type-union": true } }, { "description": "The period end (in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format). If omitted, it defaults to the current date/time. Note the period is interpreted as a half-open interval with `period_start` included and `period_end` excluded.", "in": "query", "name": "period_end", "required": false, "schema": { "description": "The period end (in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format). If omitted, it defaults to the current date/time. Note the period is interpreted as a half-open interval with `period_start` included and `period_end` excluded.", "examples": [ "period_end=2025-11-12T00:00:00Z", "period_end=2025-11-12" ], "format": "date-time", "title": "Period End", "type": "string", "x-remove-null-from-type-union": true } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PositionEarnings" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve earnings (P&L)", "tags": [ "performance" ] } }, "/positions/{position_id}/returns": { "get": { "description": "Retrieve the position's MWRR and TWRR for the requested period.", "operationId": "get_position_returns_positions__position_id__returns_get", "parameters": [ { "in": "path", "name": "position_id", "required": true, "schema": { "title": "Position Id", "type": "string" } }, { "description": "Predefined period over which returns are computed.", "in": "query", "name": "period", "required": true, "schema": { "allOf": [ { "$ref": "#/components/schemas/Period" } ], "description": "Predefined period over which returns are computed.", "title": "Period" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PositionReturns" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve Position Returns (MWRR / TWRR)", "tags": [ "performance" ] } }, "/positions/{position_id}/valuation": { "get": { "description": "Retrieve a position's current valuation.", "operationId": "get_position_valuation_positions__position_id__valuation_get", "parameters": [ { "description": "The ID of the position to retrieve the valuation for.", "in": "path", "name": "position_id", "required": true, "schema": { "description": "The ID of the position to retrieve the valuation for.", "title": "Position Id", "type": "string" } }, { "description": "Compute the valuation as-of this datetime (ISO 8601). Defaults to now.", "in": "query", "name": "asof", "required": false, "schema": { "description": "Compute the valuation as-of this datetime (ISO 8601). Defaults to now.", "format": "date-time", "title": "Asof", "type": "string", "x-remove-null-from-type-union": true } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PositionValuation" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve position valuation", "tags": [ "valuation" ] } }, "/prices": { "get": { "description": "Retrieve the price for the requested symbols as-of the given datetime, which defaults to now.", "operationId": "list_prices_prices_get", "parameters": [ { "description": "Return prices for the given symbols.", "in": "query", "name": "symbol", "required": true, "schema": { "description": "Return prices for the given symbols.", "items": { "type": "string" }, "title": "Symbol", "type": "array" } }, { "description": "Return prices as-of the given datetime. Defaults to now.", "in": "query", "name": "asof", "required": false, "schema": { "description": "Return prices as-of the given datetime. Defaults to now.", "format": "date-time", "title": "Asof", "type": "string", "x-remove-null-from-type-union": true } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/Price" }, "title": "Response List Prices Prices Get", "type": "array" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve prices", "tags": [ "market-data" ] } }, "/signed-uploads": { "post": { "description": "Request a signed URL for uploading a file directly to storage. **The returned `id` is needed to create a file from the signed upload.**", "operationId": "request_signed_upload_signed_uploads_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSignedUploadRequest" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SignedUpload" } } }, "description": "Created" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Request file upload", "tags": [ "files" ] } }, "/webhook-deliveries/{delivery_id}": { "get": { "description": "Retrieve a webhook delivery by ID.", "operationId": "get_webhook_delivery_webhook_deliveries__delivery_id__get", "parameters": [ { "description": "The ID of the webhook delivery to retrieve.", "in": "path", "name": "delivery_id", "required": true, "schema": { "description": "The ID of the webhook delivery to retrieve.", "title": "Delivery Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookDelivery" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve webhook delivery", "tags": [ "webhooks" ] } }, "/webhooks": { "get": { "description": "List all webhooks.", "operationId": "list_webhooks_webhooks_get", "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/Webhook" }, "title": "Response List Webhooks Webhooks Get", "type": "array" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "List webhooks", "tags": [ "webhooks" ] }, "post": { "description": "Create a new webhook.", "operationId": "create_webhook_webhooks_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWebhookRequest" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookWithSecret" } } }, "description": "Created" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Create a webhook", "tags": [ "webhooks" ] } }, "/webhooks/{webhook_id}": { "get": { "description": "Retrieve a webhook by ID.", "operationId": "get_webhook_webhooks__webhook_id__get", "parameters": [ { "description": "The ID of the webhook to retrieve.", "in": "path", "name": "webhook_id", "required": true, "schema": { "description": "The ID of the webhook to retrieve.", "title": "Webhook Id", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Webhook" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Retrieve webhook", "tags": [ "webhooks" ] }, "put": { "description": "Update an existing webhook.", "operationId": "update_webhook_webhooks__webhook_id__put", "parameters": [ { "description": "The ID of the webhook to update.", "in": "path", "name": "webhook_id", "required": true, "schema": { "description": "The ID of the webhook to update.", "title": "Webhook Id", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateWebhookRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Webhook" } } }, "description": "OK" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" } }, "security": [ { "HTTPBearer": [] } ], "summary": "Update a webhook", "tags": [ "webhooks" ] } } }, "servers": [ { "url": "https://api.engine.usesophic.com" } ], "tags": [ { "description": "Retrieve accounts, statements, and account documents.", "name": "accounts", "x-group": "Accounts" }, { "description": "Read the audit trail of platform activity.", "name": "activity", "x-group": "Activity" }, { "description": "Obtain OAuth access tokens for the Engine API.", "name": "auth", "x-group": "Authentication" }, { "description": "Inspect the authenticated user or service actor.", "name": "identity", "x-group": "Identity" }, { "description": "Retrieve fee schedules and billing information.", "name": "billing", "x-group": "Billing" }, { "description": "Browse instruments and tradable products.", "name": "catalog", "x-group": "Catalog" }, { "description": "Track onboarding applications through completion.", "name": "onboarding", "x-group": "Onboarding" }, { "description": "Manage customer records and related person data.", "name": "customers", "x-group": "Customers" }, { "description": "List platform events and inspect individual occurrences.", "name": "events", "x-group": "Events" }, { "description": "Read positions, transactions, and portfolio holdings.", "name": "holdings", "x-group": "Holdings" }, { "description": "Retrieve legal agreements and required disclosures.", "name": "legal-documents", "x-group": "Legal Documents" }, { "description": "Access prices and market data for instruments.", "name": "market-data", "x-group": "Market Data" }, { "description": "Manage deposits, withdrawals, and funding accounts.", "name": "payments", "x-group": "Payments" }, { "description": "Retrieve returns, earnings, and performance metrics.", "name": "performance", "x-group": "Performance" }, { "description": "Place and manage orders, quotes, and trades.", "name": "trading", "x-group": "Trading" }, { "description": "Read position and account valuations over time.", "name": "valuation", "x-group": "Valuation" }, { "description": "Configure webhook endpoints and inspect deliveries.", "name": "webhooks", "x-group": "Webhooks" }, { "description": "Upload files and retrieve stored documents.", "name": "files", "x-group": "Files" } ] }