# Create a user report

Creates a report from data the client submits, for either an end user or a business.
This is how clients supply the planned fee structure and order details that Upvest needs to produce a compliant MiFID II ex-ante cost report before an order is placed.
See the ex-ante cost report data submission guide ([TOL](https://docs.upvest.co/products/tol/guides/reports/ex-ante_reports_data) / [BYOL](https://docs.upvest.co/products/byol/guides/reports/ex-ante_reports_data)) for the required fee and order data.

Endpoint: POST /reports
Version: 1.159.0
Security: oauth-client-credentials

## Security:

  - `oauth-client-credentials` (unknown)
    oauth2 scopes: reports:admin

## Header parameters:

  - `upvest-client-id` (string, required)
    Your client ID, issued by Upvest. Identifies the client making the request. Universally Unique Identifier (UUID).

  - `Authorization` (string, required)
    Bearer (access) token from the OAuth flow with correct scopes.
https://datatracker.ietf.org/doc/html/rfc6750

  - `signature` (string, required)
    https://tools.ietf.org/id/draft-ietf-httpbis-message-signatures-01.html#name-the-signature-http-header

  - `signature-input` (string, required)
    https://tools.ietf.org/id/draft-ietf-httpbis-message-signatures-01.html#name-the-signature-input-http-he

  - `upvest-api-version` (string)
    Upvest API version (Note: Do not include quotation marks)

## Request fields (application/json):

  - `type` (string, required)
    The type of report must be “ORDER_EX_ANTE_COST”.

  - `order` (any, required)
    The planned order that an ex-ante cost report is calculated for.

  - `order.user_id` (string, required)
    The unique identifier of the end user placing the order, as a UUID.

  - `order.account_id` (string, required)
    Account ID owning the order.

  - `order.cash_amount` (string)
    Cash amount for a nominal order.

  - `order.currency` (string, required)
    The currency for the order.
    Enum: "EUR", "GBP"

  - `order.side` (string, required)
    Whether the order buys or sells the instrument.
* BUY — The order buys the instrument.
* SELL — The order sells the instrument.
    Enum: "BUY", "SELL"

  - `order.instrument_id` (string, required)
    International securities identification number defined by [ISO 6166](https://en.wikipedia.org/wiki/International_Securities_Identification_Number).

  - `order.instrument_id_type` (string, required)
    The kind of identifier given in `instrument_id`.
* ISIN — International Securities Identification Number.
    Enum: "ISIN"

  - `order.order_type` (string, required)
    How the order is priced.
* MARKET — Executes at the best price available.
* LIMIT — Executes only at the `limit_price` or better.
* STOP — Becomes a market order once the `stop_price` is reached.
    Enum: "MARKET", "LIMIT", "STOP"

  - `order.quantity` (string)
    Quantity of securities for the order.

  - `order.limit_price` (string)
    The limit price for orders of the type 'limit'.

  - `order.stop_price` (string)
    The stop price for orders of the type 'stop'.

  - `order.business_id` (string, required)
    The unique identifier of the business placing the order, as a UUID.

  - `fees` (array)
    Client fees.

  - `fees.type` (string, required)
    What the fee is charged for.
* TRANSACTION_FEE_BUY — A fee charged on a buy order.
* TRANSACTION_FEE_SELL — A fee charged on a sell order.
* ANNUAL_AUM_BASED_FEE — An annual fee charged as a percentage of assets under management.
    Enum: "TRANSACTION_FEE_BUY", "TRANSACTION_FEE_SELL", "ANNUAL_AUM_BASED_FEE"

  - `fees.value_type` (string, required)
    The type of fee value must be “ABSOLUTE”.

  - `fees.cash_amount` (string, required)
    A positive cash amount, as a decimal string with up to two decimal places.

  - `fees.currency` (string, required)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `fees.value_type` (string, required)
    The type of fee value must be “RELATIVE”.

  - `fees.bps` (string, required)
    A fee is charged based on transaction amount and is represented in basis points.

  - `fees.type` (string, required)
    What the transaction fee is charged for.
* TRANSACTION_FEE_BUY — A fee charged on a buy order.
* TRANSACTION_FEE_SELL — A fee charged on a sell order.
    Enum: "TRANSACTION_FEE_BUY", "TRANSACTION_FEE_SELL"

  - `fees.transaction_fee_model_id` (string, required)
    The ID of the transaction fee model.

  - `inducements` (array)
    Client inducements.

  - `inducements.value_type` (string, required)
    The type of inducement value must be “ABSOLUTE”.

  - `inducements.cash_amount` (string, required)

  - `inducements.currency` (string, required)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `type` (string, required)
    The type of report must be “ORDER_EX_ANTE_COST_SAVINGS_PLAN”. Savings plan ex-ante reports are only supported for individual users, not for business entities.

  - `order` (object, required)
    Savings Plan Order details.

  - `order.cash_amount` (string, required)
    The cash amount the planned order would invest, as a decimal string.

  - `order.currency` (string, required)
    The currency of the planned order, as an [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) three-letter code.
    Enum: "EUR", "GBP"

  - `order.side` (string, required)
    Whether the planned order buys or sells the instrument.
* BUY — The order buys the instrument.
* SELL — The order sells the instrument.
    Enum: "BUY", "SELL"

  - `order.order_type` (string, required)
    How the planned order is priced.
* MARKET — Executes at the best price available.
* LIMIT — Executes only at the `limit_price` or better.
* STOP — Becomes a market order once the `stop_price` is reached.
    Enum: "MARKET", "LIMIT", "STOP"

  - `order.period` (string, required)
    The unit of the savings plan interval.
* WEEK — The interval is counted in weeks.
* MONTH — The interval is counted in months.
* YEAR — The interval is counted in years.
    Enum: "WEEK", "MONTH", "YEAR"

  - `order.interval` (string, required)
    A whole number of units, as a string of digits.

## Request examples:

  - `Business - nominal sell order ex-ante cost report` (unknown)

  - `Business - unit buy order ex-ante cost report` (unknown)

  - `Nominal sell order ex-ante cost report` (unknown)

  - `Savings plan ex-ante cost report` (unknown)

  - `Unit buy order ex-ante cost report` (unknown)

## Response 200:

  - `200` (unknown)
    Report

## Response 200 fields (application/json):

  - `id` (string, required)
    The unique identifier of the report, as a UUID.

  - `created_at` (string, required)
    Date and time when the resource was created. [RFC 3339-5](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6), [ISO8601 UTC](https://www.iso.org/iso-8601-date-and-time-format.html)

  - `user_id` (string, required)
    Unique identifier of the user, as a UUID.

  - `type` (string, required)
    The type of report must be “ORDER_EX_ANTE_COST” or “ORDER_EX_ANTE_COST_SAVINGS_PLAN”.
    Enum: "ORDER_EX_ANTE_COST", "ORDER_EX_ANTE_COST_SAVINGS_PLAN"

  - `substituted_report_id` (any, required)
    The unique identifier of the report that this report replaces, as a UUID. Populated when a mistrade causes a corrected report to be issued; `null` otherwise.

  - `data` (object)
    Contents of the order-ex-ante cost report for a user.

  - `data.holding_period` (object)
    The holding period assumed when estimating the costs in this report. Costs are projected on the basis that the instrument is held for this period before being sold.

  - `data.holding_period.unit` (string)
    The unit in which the holding period is counted.
* YEAR — The holding period is counted in years.
    Enum: "YEAR"

  - `data.holding_period.quantity` (integer)
    The number of holding period units assumed, for example 3 for a three-year holding period.

  - `data.instrument` (object)
    The instrument that the planned order relates to.

  - `data.instrument.isin` (string)
    International securities identification number defined by [ISO 6166](https://en.wikipedia.org/wiki/International_Securities_Identification_Number).

  - `data.instrument.short_name` (string)
    The short display name of the instrument.

  - `data.venue` (object)
    The execution venue on which the planned order would be executed.

  - `data.venue.name` (string)
    The name of the execution venue.

  - `data.account` (object)
    The account that the planned order would be placed for.

  - `data.account.id` (string)
    Universally Unique Identifier (UUID) of the account.

  - `data.account.account_number` (integer)
    The serial account number of the account in the account group.

  - `data.account_group` (object)
    The account group that the account belongs to.

  - `data.account_group.id` (string)
    Universally Unique Identifier (UUID) of the account group.

  - `data.account_group.securities_account_number` (string)
    The nine-digit securities account number of the account group.

  - `data.user` (object, required)
    The end user that the report is addressed to.

  - `data.user.first_name` (string)
    First name of the user.

  - `data.user.last_name` (string)
    Last name of the user.

  - `data.user.salutation` (string)
    The salutation used for the end user in reports and statements.
* SALUTATION_MALE — Herr.
* SALUTATION_FEMALE — Frau.
* SALUTATION_FEMALE_MARRIED — Frau, married form.
* SALUTATION_DIVERSE — Gender-neutral salutation.

An empty string means no salutation is printed.
    Enum: "", "SALUTATION_MALE", "SALUTATION_FEMALE", "SALUTATION_FEMALE_MARRIED", "SALUTATION_DIVERSE"

  - `data.user.title` (string)
    The academic title used for the end user in reports and statements.
* DR — Doctor.
* PROF — Professor.
* PROF_DR — Professor Doctor.
* DIPL_ING — Graduate engineer (Diplom-Ingenieur).
* MAGISTER — Magister.

An empty string means no title is printed.
    Enum: "", "DR", "PROF", "PROF_DR", "DIPL_ING", "MAGISTER"

  - `data.user.address` (object)
    The residential address of the end user, as printed on the report.

  - `data.user.address.address_line1` (string)
    First line of the address.

  - `data.user.address.address_line2` (string)
    Second line of the address.

  - `data.user.address.postcode` (string)
    Postal code (postcode, PIN or ZIP code)

  - `data.user.address.country` (string)
    Country code. [ISO 3166 alpha-2 Codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).

  - `data.user.address.state` (string)
    State, province, county. [ISO 3166 alpha-2 Codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).

  - `data.user.address.city` (string)
    The name of a city, as it appears in a postal address.

  - `data.order` (object)
    The planned order whose costs this report estimates.

  - `data.order.user_id` (string)
    The unique identifier of the end user placing the order, as a UUID.

  - `data.order.account_id` (string)
    The ID of the account that owns the order.

  - `data.order.cash_amount` (string)
    The cash amount the planned order would invest, as a decimal string.

  - `data.order.currency` (string)
    The currency of the planned order, as an [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) three-letter code.
    Enum: "EUR", "GBP"

  - `data.order.side` (string)
    Whether the planned order buys or sells the instrument.
* BUY — The order buys the instrument.
* SELL — The order sells the instrument.
    Enum: "BUY", "SELL"

  - `data.order.instrument_id` (string)
    International securities identification number defined by [ISO 6166](https://en.wikipedia.org/wiki/International_Securities_Identification_Number).

  - `data.order.instrument_id_type` (string)
    The kind of identifier given in `instrument_id`.
* ISIN — International Securities Identification Number.
    Enum: "ISIN"

  - `data.order.order_type` (string)
    How the planned order is priced.
* MARKET — Executes at the best price available.
* LIMIT — Executes only at the `limit_price` or better.
* STOP — Becomes a market order once the `stop_price` is reached.
    Enum: "MARKET", "LIMIT", "STOP"

  - `data.order.quantity` (string)
    The number of units the planned order would buy or sell, as a decimal string.

  - `data.order.limit_price` (string)
    The limit price of the planned order, as a decimal string. Applies to `LIMIT` orders.

  - `data.order.stop_price` (string)
    The stop price of the planned order, as a decimal string. Applies to `STOP` orders.

  - `data.order.price` (string)
    The price used to estimate the costs of the planned order, as a decimal string.

  - `data.return_impact` (object)
    The cumulative effect of the estimated costs on the investment return, shown for each year of the assumed holding period.

  - `data.return_impact.year_one` (object)
    The effect of the estimated costs on the investment return for one year of the holding period, given both as a cash amount and as a percentage of the amount invested.

  - `data.return_impact.year_one.cash_amount` (string)
    A positive cash amount, as a decimal string with up to two decimal places.

  - `data.return_impact.year_one.currency` (string)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `data.return_impact.year_one.as_percentage` (string)
    The cost value represented as a percentage.

  - `data.return_impact.year_one.details` (array)
    Breakdown of the figure into entry, ongoing and exit costs, one item per category.

  - `data.return_impact.year_one.details.type` (string, required)
    The cost category a return impact figure belongs to.
* ENTRY — One-off costs of building the position: product entry, transaction and incidental costs, the transaction fee and financial transaction tax on the order, and inducements.
* ONGOING — Costs accruing on the capital held: product running costs and the annual AUM-based fee. Always zero for sell orders.
* EXIT — Costs of liquidating the position at the end of the holding period: the sell transaction fee. Always zero for sell orders.
    Enum: "ENTRY", "ONGOING", "EXIT"

  - `data.return_impact.year_one.details.cash_amount` (string, required)
    A positive cash amount, as a decimal string with up to two decimal places.

  - `data.return_impact.year_one.details.currency` (string, required)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `data.return_impact.year_one.details.as_percentage` (string, required)
    The cost value represented as a percentage.

  - `data.return_impact.year_two` (object)
    The effect of the estimated costs on the investment return for one year of the holding period, given both as a cash amount and as a percentage of the amount invested.

  - `data.return_impact.year_two.cash_amount` (string)
    A positive cash amount, as a decimal string with up to two decimal places.

  - `data.return_impact.year_two.currency` (string)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `data.return_impact.year_two.as_percentage` (string)
    The cost value represented as a percentage.

  - `data.return_impact.year_two.details` (array)
    Breakdown of the figure into entry, ongoing and exit costs, one item per category.

  - `data.return_impact.year_two.details.type` (string, required)
    The cost category a return impact figure belongs to.
* ENTRY — One-off costs of building the position: product entry, transaction and incidental costs, the transaction fee and financial transaction tax on the order, and inducements.
* ONGOING — Costs accruing on the capital held: product running costs and the annual AUM-based fee. Always zero for sell orders.
* EXIT — Costs of liquidating the position at the end of the holding period: the sell transaction fee. Always zero for sell orders.
    Enum: "ENTRY", "ONGOING", "EXIT"

  - `data.return_impact.year_two.details.cash_amount` (string, required)
    A positive cash amount, as a decimal string with up to two decimal places.

  - `data.return_impact.year_two.details.currency` (string, required)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `data.return_impact.year_two.details.as_percentage` (string, required)
    The cost value represented as a percentage.

  - `data.return_impact.year_three` (object)
    The effect of the estimated costs on the investment return for one year of the holding period, given both as a cash amount and as a percentage of the amount invested.

  - `data.return_impact.year_three.cash_amount` (string)
    A positive cash amount, as a decimal string with up to two decimal places.

  - `data.return_impact.year_three.currency` (string)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `data.return_impact.year_three.as_percentage` (string)
    The cost value represented as a percentage.

  - `data.return_impact.year_three.details` (array)
    Breakdown of the figure into entry, ongoing and exit costs, one item per category.

  - `data.return_impact.year_three.details.type` (string, required)
    The cost category a return impact figure belongs to.
* ENTRY — One-off costs of building the position: product entry, transaction and incidental costs, the transaction fee and financial transaction tax on the order, and inducements.
* ONGOING — Costs accruing on the capital held: product running costs and the annual AUM-based fee. Always zero for sell orders.
* EXIT — Costs of liquidating the position at the end of the holding period: the sell transaction fee. Always zero for sell orders.
    Enum: "ENTRY", "ONGOING", "EXIT"

  - `data.return_impact.year_three.details.cash_amount` (string, required)
    A positive cash amount, as a decimal string with up to two decimal places.

  - `data.return_impact.year_three.details.currency` (string, required)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `data.return_impact.year_three.details.as_percentage` (string, required)
    The cost value represented as a percentage.

  - `data.total_cost` (object)
    Aggregated totals of product costs, service costs and third party payments.

  - `data.total_cost.product` (object)
    A cost figure, given both as a cash amount and as a percentage of the amount invested.

  - `data.total_cost.product.cash_amount` (string)
    A positive cash amount, as a decimal string with up to two decimal places.

  - `data.total_cost.product.currency` (string)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `data.total_cost.product.as_percentage` (string)
    The cost value represented as a percentage.

  - `data.total_cost.service` (object)
    A cost figure, given both as a cash amount and as a percentage of the amount invested.

  - `data.total_cost.service.cash_amount` (string)
    A positive cash amount, as a decimal string with up to two decimal places.

  - `data.total_cost.service.currency` (string)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `data.total_cost.service.as_percentage` (string)
    The cost value represented as a percentage.

  - `data.total_cost.third_party` (object)
    A cost figure, given both as a cash amount and as a percentage of the amount invested.

  - `data.total_cost.third_party.cash_amount` (string)
    A positive cash amount, as a decimal string with up to two decimal places.

  - `data.total_cost.third_party.currency` (string)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `data.total_cost.third_party.as_percentage` (string)
    The cost value represented as a percentage.

  - `data.total_cost.total` (object)
    A cost figure, given both as a cash amount and as a percentage of the amount invested.

  - `data.total_cost.total.cash_amount` (string)
    A positive cash amount, as a decimal string with up to two decimal places.

  - `data.total_cost.total.currency` (string)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `data.total_cost.total.as_percentage` (string)
    The cost value represented as a percentage.

  - `data.product_cost` (object)
    All costs and associated charges related to the financial instrument.

  - `data.product_cost.one_off` (object)
    A cost figure, given both as a cash amount and as a percentage of the amount invested.

  - `data.product_cost.one_off.cash_amount` (string)
    A positive cash amount, as a decimal string with up to two decimal places.

  - `data.product_cost.one_off.currency` (string)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `data.product_cost.one_off.as_percentage` (string)
    The cost value represented as a percentage.

  - `data.product_cost.ongoing` (object)
    A cost figure, given both as a cash amount and as a percentage of the amount invested.

  - `data.product_cost.ongoing.cash_amount` (string)
    A positive cash amount, as a decimal string with up to two decimal places.

  - `data.product_cost.ongoing.currency` (string)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `data.product_cost.ongoing.as_percentage` (string)
    The cost value represented as a percentage.

  - `data.product_cost.transaction` (object)
    A cost figure, given both as a cash amount and as a percentage of the amount invested.

  - `data.product_cost.transaction.cash_amount` (string)
    A positive cash amount, as a decimal string with up to two decimal places.

  - `data.product_cost.transaction.currency` (string)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `data.product_cost.transaction.as_percentage` (string)
    The cost value represented as a percentage.

  - `data.product_cost.incidental` (object)
    A cost figure, given both as a cash amount and as a percentage of the amount invested.

  - `data.product_cost.incidental.cash_amount` (string)
    A positive cash amount, as a decimal string with up to two decimal places.

  - `data.product_cost.incidental.currency` (string)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `data.product_cost.incidental.as_percentage` (string)
    The cost value represented as a percentage.

  - `data.product_cost.total` (object)
    A cost figure, given both as a cash amount and as a percentage of the amount invested.

  - `data.product_cost.total.cash_amount` (string)
    A positive cash amount, as a decimal string with up to two decimal places.

  - `data.product_cost.total.currency` (string)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `data.product_cost.total.as_percentage` (string)
    The cost value represented as a percentage.

  - `data.service_cost` (object)
    All costs and associated charges related to the investment service(s) and/or ancillary services.

  - `data.service_cost.one_off` (object)
    A cost figure, given both as a cash amount and as a percentage of the amount invested.

  - `data.service_cost.one_off.cash_amount` (string)
    A positive cash amount, as a decimal string with up to two decimal places.

  - `data.service_cost.one_off.currency` (string)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `data.service_cost.one_off.as_percentage` (string)
    The cost value represented as a percentage.

  - `data.service_cost.ongoing` (object)
    A cost figure, given both as a cash amount and as a percentage of the amount invested.

  - `data.service_cost.ongoing.cash_amount` (string)
    A positive cash amount, as a decimal string with up to two decimal places.

  - `data.service_cost.ongoing.currency` (string)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `data.service_cost.ongoing.as_percentage` (string)
    The cost value represented as a percentage.

  - `data.service_cost.transaction` (object)
    A cost figure, given both as a cash amount and as a percentage of the amount invested.

  - `data.service_cost.transaction.cash_amount` (string)
    A positive cash amount, as a decimal string with up to two decimal places.

  - `data.service_cost.transaction.currency` (string)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `data.service_cost.transaction.as_percentage` (string)
    The cost value represented as a percentage.

  - `data.service_cost.ancillary` (object)
    A cost figure, given both as a cash amount and as a percentage of the amount invested.

  - `data.service_cost.ancillary.cash_amount` (string)
    A positive cash amount, as a decimal string with up to two decimal places.

  - `data.service_cost.ancillary.currency` (string)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `data.service_cost.ancillary.as_percentage` (string)
    The cost value represented as a percentage.

  - `data.service_cost.incidental` (object)
    A cost figure, given both as a cash amount and as a percentage of the amount invested.

  - `data.service_cost.incidental.cash_amount` (string)
    A positive cash amount, as a decimal string with up to two decimal places.

  - `data.service_cost.incidental.currency` (string)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `data.service_cost.incidental.as_percentage` (string)
    The cost value represented as a percentage.

  - `data.service_cost.total` (object)
    A cost figure, given both as a cash amount and as a percentage of the amount invested.

  - `data.service_cost.total.cash_amount` (string)
    A positive cash amount, as a decimal string with up to two decimal places.

  - `data.service_cost.total.currency` (string)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `data.service_cost.total.as_percentage` (string)
    The cost value represented as a percentage.

  - `data.third_party_payments` (object)
    Third-party payments associated with the investment service.

  - `data.third_party_payments.total` (object)
    A cost figure, given both as a cash amount and as a percentage of the amount invested.

  - `data.third_party_payments.total.cash_amount` (string)
    A positive cash amount, as a decimal string with up to two decimal places.

  - `data.third_party_payments.total.currency` (string)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `data.third_party_payments.total.as_percentage` (string)
    The cost value represented as a percentage.

  - `data.third_party_payments.received_by_client` (object)
    A cost figure, given both as a cash amount and as a percentage of the amount invested.

  - `data.third_party_payments.received_by_client.cash_amount` (string)
    A positive cash amount, as a decimal string with up to two decimal places.

  - `data.third_party_payments.received_by_client.currency` (string)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `data.third_party_payments.received_by_client.as_percentage` (string)
    The cost value represented as a percentage.

  - `data.third_party_payments.received_by_upvest` (object)
    The share of the third-party payments received by Upvest, as a cost figure.

  - `data.third_party_payments.received_by_upvest.cash_amount` (string)
    A positive cash amount, as a decimal string with up to two decimal places.

  - `data.third_party_payments.received_by_upvest.currency` (string)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR — Euro.
* GBP — Pound Sterling.
    Enum: "EUR", "GBP"

  - `data.third_party_payments.received_by_upvest.as_percentage` (string)
    The cost value represented as a percentage.

  - `business_id` (string, required)
    Unique identifier for the business.

  - `type` (string, required)
    The type of report must be “ORDER_EX_ANTE_COST”. Savings plan ex-ante reports are not supported for business entities.
    Enum: "ORDER_EX_ANTE_COST"

  - `data` (object)
    Contents of the order ex-ante cost report for a business.

  - `data.business` (object, required)
    The business that the report is addressed to.

  - `data.business.company_name` (string)
    Name of the company.

  - `data.business.address` (object)
    Address. Must not be a P.O. box or c/o address.

  - `data.business.address.address_line1` (string, required)
    First address line of the address.

  - `data.business.address.address_line2` (string)
    Second address line of the address.

  - `data.business.address.postcode` (string, required)
    Postal code (postcode, PIN or ZIP code)

  - `data.business.address.country` (string, required)
    Accepted country code. [ISO 3166-1 alpha-2 codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
    Enum: "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU", "CV", "CW", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IR", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SY", "SZ", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "XK", "YE", "YT", "ZA", "ZM", "ZW"

  - `data.business.address.state` (string)
    State, province, county. [ISO 3166 alpha-2 Codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).

  - `data.business.address.city` (string, required)
    The name of a city, as it appears in a postal address.

  - `data.third_party_payments` (object)
    Third party payments associated with the investment service.

## Response 200 headers (application/json):

  - `upvest-request-id` (string, required)
    Example: 169ae4c7-ebd7-4041-94da-25369653eba7

## Response 400:

  - `400` (unknown)
    Bad Request. The incoming request had a malformed parameter/object.

## Response 400 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 400 headers (application/problem+json):

  - `upvest-request-id` (string, required)
    Example: 169ae4c7-ebd7-4041-94da-25369653eba7

## Response 401:

  - `401` (unknown)
    Unauthorized. The caller has not been authenticated.

## Response 401 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 401 headers (application/problem+json):

  - `upvest-request-id` (string, required)
    Example: 169ae4c7-ebd7-4041-94da-25369653eba7

## Response 403:

  - `403` (unknown)
    Forbidden. The caller has been authenticated but is not allowed to take the requested action.

## Response 403 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 403 headers (application/problem+json):

  - `upvest-request-id` (string, required)
    Example: 169ae4c7-ebd7-4041-94da-25369653eba7

## Response 404:

  - `404` (unknown)
    Not Found. The requested resource could not be found.

## Response 404 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 404 headers (application/problem+json):

  - `upvest-request-id` (string, required)
    Example: 169ae4c7-ebd7-4041-94da-25369653eba7

## Response 406:

  - `406` (unknown)
    Not Acceptable. The resource does not have a current representation that would be acceptable to the user agent. "Accept" header defined unsupported value.

## Response 406 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 406 headers (application/problem+json):

  - `upvest-request-id` (string, required)
    Example: 169ae4c7-ebd7-4041-94da-25369653eba7

## Response 429:

  - `429` (unknown)
    Too Many Requests. The caller has exceeded their quota for the time period and has been throttled.

## Response 429 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 429 headers (application/problem+json):

  - `upvest-request-id` (string, required)
    Example: 169ae4c7-ebd7-4041-94da-25369653eba7

## Response 500:

  - `500` (unknown)
    Internal Server Error. The service encountered an unexpected error.

## Response 500 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 500 headers (application/problem+json):

  - `upvest-request-id` (string, required)
    Example: 169ae4c7-ebd7-4041-94da-25369653eba7

## Response 503:

  - `503` (unknown)
    Service Unavailable. The service handling for this request cannot be reached at this time.

## Response 503 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 503 headers (application/problem+json):

  - `upvest-request-id` (string, required)
    Example: 169ae4c7-ebd7-4041-94da-25369653eba7

## Response 504:

  - `504` (unknown)
    Gateway Timeout. The service gateway has reached its internal timeout.

## Response 504 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 504 headers (application/problem+json):

  - `upvest-request-id` (string, required)
    Example: 169ae4c7-ebd7-4041-94da-25369653eba7

## Response 200 examples:

  - `Business order ex-ante cost report` (unknown)

  - `Order ex-ante cost report` (unknown)

