# Create a user report Create a user report Endpoint: POST /reports Version: 1.75.0 Security: oauth-client-credentials ## Header parameters: - `upvest-client-id` (string, required) Tenant Client ID Example: "ebabcf4d-61c3-4942-875c-e265a7c2d062" - `authorization` (string, required) Bearer (access) token from the OAuth flow with correct scopes. https://datatracker.ietf.org/doc/html/rfc6750 Example: "Bearer c2VjcmV0Cg==" - `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) Enum: "1" ## Request fields (application/json): - `type` (string, required) The type of report must be “ORDER_EX_ANTE_COST”. - `order` (object, required) Order details. - `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 type of the ID used in the request. * ISIN - Enum: "ISIN" - `order.account_id` (string, required) The ID of the account that owns the order. - `order.user_id` (string, required) The ID of the user. - `order.currency` (string, required) Alphabetic three-letter [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code. * EUR - Euro Enum: "EUR" - `order.order_type` (string, required) Type of the order. * MARKET - * LIMIT - * STOP - Enum: "MARKET", "LIMIT", "STOP" - `order.side` (string, required) Side of the order. * BUY - * SELL - Enum: "BUY", "SELL" - `order.cash_amount` (string) Cash amount for a nominal order. - `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'. - `fees` (array) Client fees. - `inducements` (array) Client inducements. - `inducements.value_type` (string, required) The type of inducement value must be “ABSOLUTE”. - `inducements.cash_amount` (string, required) ## Response 200 fields (application/json): - `id` (string, required) Report unique identifier. - `user_id` (string, required) User unique identifier. - `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) - `type` (string, required) The type of report must be “ORDER_EX_ANTE_COST”. - `substituted_report_id` (any, required) - `data` (object) Contents of the order ex-ante cost report. - `data.holding_period` (object) Holding period. - `data.holding_period.unit` (string) Unit of time. * YEAR - Enum: "YEAR" - `data.holding_period.quantity` (integer) Quantity of time units. - `data.instrument` (object) Instrument details. - `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) Instrument short name. - `data.venue` (object) Venue details. - `data.venue.name` (string) Venue name. - `data.account` (object) Account details. - `data.account.id` (string) Account unique identifier. - `data.account.account_number` (integer) The serial account number of the account in the account group. - `data.account_group` (object) Account group details. - `data.account_group.id` (string) Account group unique identifier. - `data.account_group.securities_account_number` (string) Securities account number. - `data.user` (object) User details. - `data.user.first_name` (string) First name of the user. - `data.user.last_name` (string) Last name of the user. - `data.user.salutation` (string) Salutation of the user used in reports and statements. * (empty string) - * SALUTATION_MALE - * SALUTATION_FEMALE - * SALUTATION_FEMALE_MARRIED - * SALUTATION_DIVERSE - Enum: "", "SALUTATION_MALE", "SALUTATION_FEMALE", "SALUTATION_FEMALE_MARRIED", "SALUTATION_DIVERSE" - `data.user.title` (string) Title of the user used in reports and statements. * (empty string) - * DR - Doctor * PROF - Professor * PROF_DR - * DIPL_ING - Graduate engineer (Diplom-Ingenieur) * MAGISTER - Enum: "", "DR", "PROF", "PROF_DR", "DIPL_ING", "MAGISTER" - `data.user.address` (object) User residential address. - `data.user.address.address_line1` (string) First address line of the address. - `data.user.address.address_line2` (string) Second address 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) - `data.order` (object) Order details. - `data.order.user_id` (string) The ID of the user. - `data.order.account_id` (string) The ID of the account that owns the order. - `data.order.cash_amount` (string) Cash amount for a nominal order. - `data.order.currency` (string) Alphabetic three-letter [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code. * EUR - Euro Enum: "EUR" - `data.order.side` (string) Side of the order. * BUY - * SELL - 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 type of the ID used in the request. * ISIN - Enum: "ISIN" - `data.order.order_type` (string) Type of the order. * MARKET - * LIMIT - * STOP - Enum: "MARKET", "LIMIT", "STOP" - `data.order.quantity` (string) Quantity of securities for the order. - `data.order.limit_price` (string) The limit price for orders of the type 'limit'. - `data.order.stop_price` (string) The stop price for orders of the type 'stop'. - `data.order.price` (string) The estimated price for the order. In case of LIMIT or STOP order provided 'limit'/'stop' price will be used. - `data.return_impact` (object) Return impact. - `data.return_impact.year_one` (object) - `data.return_impact.year_one.cash_amount` (string) - `data.return_impact.year_one.as_percentage` (string) The cost value represented as a percentage. - `data.return_impact.year_two` (object) - `data.return_impact.year_three` (object) - `data.total_cost` (object) Aggregated totals of product costs, service costs and third party payments. - `data.total_cost.product` (object) - `data.total_cost.service` (object) - `data.total_cost.third_party` (object) - `data.total_cost.total` (object) - `data.product_cost` (object) All costs and associated charges related to the financial instrument. - `data.product_cost.one_off` (object) - `data.product_cost.ongoing` (object) - `data.product_cost.transaction` (object) - `data.product_cost.incidental` (object) - `data.service_cost` (object) All costs and associated charges related to the investment service(s) and/or ancillary services. - `data.service_cost.ancillary` (object) - `data.third_party_payments` (object) Third party payments associated with the investment service. - `data.third_party_payments.received_by_client` (object) - `data.third_party_payments.received_by_upvest` (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 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 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 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 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 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 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 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 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.