Skip to content

Upvest Investment API (1.75.0)

Upvest Investment API.

Download OpenAPI description
Overview
URL

https://docs.upvest.co

Upvest API Support

api@upvest.co

License

Apache 2.0

Languages
Servers
Sandbox environment

https://sandbox.upvest.co/

Live environment

https://api.upvest.co/

Access Tokens

All authentication related paths.

Operations
OperationsWebhooks

User Identifiers

All user identifiers related paths.

Operations

User Checks

All user checks related paths.

OperationsWebhooks

Accounts

All accounts related paths

OperationsWebhooks

Account Groups

All account groups related paths

OperationsWebhooks

Tax Residencies

All tax residencies related paths.

Operations

Corporate Actions

All Corporate Action related paths.

Webhooks

Tax Exemptions

All tax exemptions related paths

OperationsWebhooks

Tax Collections

All tax collections related paths

Webhooks

Tax Wrappers

All tax wrappers related paths

OperationsWebhooks

Create a tax wrapper for ISA account

Request

Creates a tax wrapper for ISA account.

Security
oauth-client-credentials
Headers
upvest-client-idstring(uuid)required

Tenant Client ID

Example: ebabcf4d-61c3-4942-875c-e265a7c2d062
authorizationstring^Bearer [a-zA-Z0-9\-\._~+/]*=*required

Bearer (access) token from the OAuth flow with correct scopes. https://datatracker.ietf.org/doc/html/rfc6750

Example: Bearer c2VjcmV0Cg==
signaturestringrequired

https://tools.ietf.org/id/draft-ietf-httpbis-message-signatures-01.html#name-the-signature-http-header

signature-inputstringrequired

https://tools.ietf.org/id/draft-ietf-httpbis-message-signatures-01.html#name-the-signature-input-http-he

idempotency-keystring(uuid)^[0-9a-fA-F]{8}-?[0-9a-fA-F]{4}-?[0-5][0-9a-f...required

A UUID to be used as an idempotency key. This prevents a duplicate request from being replayed. https://docs.upvest.co/documentation/concepts/api_concepts/idempotency

Example: ccb07f42-4104-44ad-8e1f-c660bb7b269c
upvest-api-versionstring

Upvest API version (Note: Do not include quotation marks)

Default 1
Value"1"
Example: 1
Bodyapplication/json
typestringrequired

Types of the ISA tax wrapper

Default "STOCKS_AND_SHARES_ISA"
Value"STOCKS_AND_SHARES_ISA"
account_group_idstring(uuid)required

The ID of the account group to which the tax wrapper belongs.

is_flexiblebooleanrequired

True if ISA is flexible.

curl -i -X POST \
  https://sandbox.upvest.co/isa/wrappers \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'authorization: Bearer c2VjcmV0Cg==' \
  -H 'idempotency-key: ccb07f42-4104-44ad-8e1f-c660bb7b269c' \
  -H 'signature: string' \
  -H 'signature-input: string' \
  -H 'upvest-api-version: 1' \
  -H 'upvest-client-id: ebabcf4d-61c3-4942-875c-e265a7c2d062' \
  -d '{
    "account_group_id": "0d68fea2-66e8-4ea8-b507-276e7a1eb4aa",
    "type": "STOCKS_AND_SHARES_ISA",
    "is_flexible": true
  }'

Responses

ISA tax wrapper created.

Headers
upvest-request-idstring(uuid)required
Example: "169ae4c7-ebd7-4041-94da-25369653eba7"
Bodyapplication/json
idstring(uuid)required

Tax wrapper unique identifier.

created_atstring(date-time)required

The date and time the tax wrapper was created.

updated_atstring(date-time)required

The date and time the tax wrapper was last updated.

account_group_idstring(uuid)required

Account group unique identifier.

is_flexiblebooleanrequired

True if tax wrapper is flexible.

statusstringrequired

Status of the tax wrapper

  • NEW - The tax wrapper is newly created and not yet active due to pending checks.
  • ACTIVE - The tax wrapper is currently active and in use.
  • INACTIVE - The tax wrapper is not currently active. New subscriptions not allowed.
  • CLOSED - The tax wrapper has been closed and is no longer available.
Enum"NEW""ACTIVE""INACTIVE""CLOSED"
typestringrequired

Types of the ISA tax wrapper

Default "STOCKS_AND_SHARES_ISA"
Value"STOCKS_AND_SHARES_ISA"
Response
application/json
{ "id": "f1a57a04-1a89-4dab-ae3a-ff9b2a9377c1", "created_at": "2025-10-05T14:48:00.000Z", "updated_at": "2025-10-05T14:48:00.000Z", "account_group_id": "0d68fea2-66e8-4ea8-b507-276e7a1eb4aa", "is_flexible": true, "status": "NEW", "type": "STOCKS_AND_SHARES_ISA" }

Request

Retrieves ISA allowances

Security
oauth-client-credentials
Path
tax_wrapper_idstring(uuid)required
Query
tax_yearstring^[0-9]{4}\/[0-9]{4}$

Filter allowances by tax_year YYYY/YYYY

Headers
upvest-client-idstring(uuid)required

Tenant Client ID

Example: ebabcf4d-61c3-4942-875c-e265a7c2d062
authorizationstring^Bearer [a-zA-Z0-9\-\._~+/]*=*required

Bearer (access) token from the OAuth flow with correct scopes. https://datatracker.ietf.org/doc/html/rfc6750

Example: Bearer c2VjcmV0Cg==
signaturestringrequired

https://tools.ietf.org/id/draft-ietf-httpbis-message-signatures-01.html#name-the-signature-http-header

signature-inputstringrequired

https://tools.ietf.org/id/draft-ietf-httpbis-message-signatures-01.html#name-the-signature-input-http-he

upvest-api-versionstring

Upvest API version (Note: Do not include quotation marks)

Default 1
Value"1"
Example: 1
curl -i -X GET \
  'https://sandbox.upvest.co/isa/wrappers/{tax_wrapper_id}/allowances?tax_year=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'authorization: Bearer c2VjcmV0Cg==' \
  -H 'signature: string' \
  -H 'signature-input: string' \
  -H 'upvest-api-version: 1' \
  -H 'upvest-client-id: ebabcf4d-61c3-4942-875c-e265a7c2d062'

Responses

OK

Headers
upvest-request-idstring(uuid)required
Example: "169ae4c7-ebd7-4041-94da-25369653eba7"
Bodyapplication/json
metaobjectrequired
offsetintegerrequired

Amount of resource to offset in the response.

limitintegerrequired

Total limit of the response.

countintegerrequired

Count of the resources returned in the response.

total_countintegerrequired

Total count of all the resources.

sortstring

The field that the list is sorted by.

orderstring

The ordering of the response.

  • ASC - Ascending order
  • DESC - Descending order
Enum"ASC""DESC"
dataArray of objectsrequired
idstring(uuid)required

Allowance unique identifier.

created_atstring(date-time)required

The date and time the tax wrapper was created.

updated_atstring(date-time)required

The date and time the tax wrapper was last updated.

tax_wrapper_idstring(uuid)required

Tax wrapper unique identifier.

typestringrequired

Type of the allowance:

  • ANNUAL - Allowance valid for a tax year.
Default "ANNUAL"
Value"ANNUAL"
statusstringrequired

Status of the allowance:

  • ACTIVE - Current allowance.
  • EXPIRED - Allowance from previous years.
Enum"ACTIVE""EXPIRED"
currencystringrequired

Alphabetic three-letter ISO 4217 currency code.

  • GBP - British Pound Sterling
Default "GBP"
Value"GBP"
total_amountstring^[0-9]{1,9}(\.[0-9]{2})?$required
used_amountstring^[0-9]{1,9}(\.[0-9]{2})?$required
remaining_amountstring^[0-9]{1,9}(\.[0-9]{2})?$required
valid_fromstring(date-time)required

The date from which the allowance is valid.

tax_yearnull or string
One of:
null
valid_tonull or string
One of:
null
first_subscription_atnull or string
One of:
null
Response
application/json
{ "meta": { "offset": 0, "limit": 100, "count": 1, "total_count": 1, "sort": "valid_from", "order": "DESC" }, "data": [ { … } ] }

Request

ISA Tax Wrappers events

Bodyapplication/json
idstring(uuid)required

Event unique identifier

typestringrequired

The type of ISA tax wrapper event

  • NEW - The tax wrapper is newly created and not yet active due to pending checks.
  • ACTIVE - The tax wrapper is currently active and in use.
  • INACTIVE - The tax wrapper is not currently active. New subscriptions not allowed.
  • CLOSED - The tax wrapper has been closed and is no longer available.
Enum"ISA_WRAPPER.NEW""ISA_WRAPPER.ACTIVE""ISA_WRAPPER.INACTIVE""ISA_WRAPPER.CLOSED"
objectobjectrequired
idstring(uuid)required

Tax wrapper unique identifier.

created_atstring(date-time)required

The date and time the tax wrapper was created.

updated_atstring(date-time)required

The date and time the tax wrapper was last updated.

account_group_idstring(uuid)required

Account group unique identifier.

is_flexiblebooleanrequired

True if tax wrapper is flexible.

statusstringrequired

Status of the tax wrapper

  • NEW - The tax wrapper is newly created and not yet active due to pending checks.
  • ACTIVE - The tax wrapper is currently active and in use.
  • INACTIVE - The tax wrapper is not currently active. New subscriptions not allowed.
  • CLOSED - The tax wrapper has been closed and is no longer available.
Enum"NEW""ACTIVE""INACTIVE""CLOSED"
typestringrequired

Types of the ISA tax wrapper

Default "STOCKS_AND_SHARES_ISA"
Value"STOCKS_AND_SHARES_ISA"
webhook_idstring(uuid)required

Webhook unique identifier.

created_atstring(date-time)required

Date and time when the event was created. RFC 3339-5, ISO8601 UTC

application/json
{ "id": "295cf14f-368c-450e-b57e-48d115d30fe4", "created_at": "2025-08-01T10:34:43Z", "type": "ISA_WRAPPER.NEW", "object": { "id": "f1a57a04-1a89-4dab-ae3a-ff9b2a9377c1", "created_at": "2025-08-01T10:33:43Z", "updated_at": "2025-08-01T10:33:43Z", "account_group_id": "d4b5c6e7-89f0-4a1b-9c2d-3e4f5a6b7c8d", "is_flexible": true, "status": "NEW", "type": "STOCKS_AND_SHARES_ISA" }, "webhook_id": "4a80c45f-204c-4498-ac20-d900a846e166" }

Responses

Request has been processed successfully.

Instruments

All instrument related paths.

OperationsWebhooks

Price Data

All price data related paths.

Operations
OperationsWebhooks

Portfolios

All portfolios related paths.

Operations

Portfolios Rebalancing

All portfolios rebalancing related paths.

OperationsWebhooks

Savings Plans

All savings plans related paths.

OperationsWebhooks

Liquidations

All accounts liquidations related paths.

OperationsWebhooks

Direct Debits

All direct debits related paths

OperationsWebhooks
OperationsWebhooks

Withdrawals

All withdrawals related paths

OperationsWebhooks

Reference Accounts

All reference account related paths

Operations

Mandates

All direct debit mandates related paths

Operations

Cash Balances

All cash balance related paths

OperationsWebhooks

Positions

All positions related paths.

OperationsWebhooks

Valuations

All valuations related paths.

OperationsWebhooks

Returns

All accounts returns related paths.

OperationsWebhooks

Virtual Cash Balances

All virtual cash balances related paths

OperationsWebhooks
OperationsWebhooks

Fees Configurations

All fees configurations related paths.

Operations
OperationsWebhooks

Treasury Reports

All treasury reports related paths.

Webhooks

Transactions

All transactions related paths.

OperationsWebhooks
Operations

Webhook Subscriptions

All webhook subscriptions related paths.

Operations

Virtual Bank Accounts

All virtual bank accounts related paths

OperationsWebhooks
Operations