All user related paths.

Get all users

get /users

Returns the list of all users.

OAuth2 oauth-client-credentials

Required Scopes:

users:readusers:admin

All Scopes

  • account_liquidations:admin · Trigger/read/cancel accounts liquidations
  • account_liquidations:read · Read accounts liquidations
  • account_returns:read · Read accounts returns
  • accounts:admin · Create/update/delete accounts and account groups
  • accounts:read · Read accounts and account groups
  • checks:admin · Create checks
  • checks:read · Read checks
  • credit_fundings:read · Credit Fundings read operations
  • fees:admin · Create and read fee operations
  • fees:read · Read fee operations
  • instruments:read · Read instruments
  • mandates:admin · Create/update/delete mandates
  • mandates:read · Read mandates
  • orders:admin · Create/update/delete orders
  • orders:read · Read orders
  • payments:admin · Payins and withdrawal operations
  • payments:read · Payins and withdrawal read operations
  • portfolios:admin · Modify portfolios
  • portfolios:read · Read portfolios
  • positions:read · Read positions
  • reference_accounts:admin · Create/update/delete reference accounts
  • reference_accounts:read · Read reference accounts
  • reports:read · Read reports
  • taxes:admin · Modify tax residencies
  • taxes:read · Read tax residencies
  • topups:admin · Topups operations
  • topups:read · Topups read operations
  • transactions:read · Read cash and securities transactions
  • users:admin · Create/update/delete users
  • users:read · Read users
  • valuations:read · Read valuations
  • webhooks:admin · Create/update/delete webhooks
  • webhooks:read · Read webhooks
Flow Type:
Client Credentials
Token URL:
https://sandbox.upvest.co/auth/token

upvest-client-id

string

uuid

required

Tenant Client ID

Example
"ebabcf4d-61c3-4942-875c-e265a7c2d062"

authorization

string

^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=="

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)

Default
"1"
Enum
  • 1
Example
1

sort

string

Sort the result by created_at.

Default
"created_at"
Enum
  • created_at

order

string

Sort order of the result list if the sort parameter is specified. By default, only ASC for ascending sort.

Default
"ASC"
Enum
  • ASC

offset

int

i32

Use the offset argument to specify where in the list of results to start when returning items for a particular query.

Min
0

limit

int

i32

Use the limit argument to specify the maximum number of items returned.

Default
100
Min
0
Max
1000

Response

Examples Schema

OK

{
  "data": [
    {
      "address": {
        "address_line1": "Rosenweg 221",
        "address_line2": "apt. 33",
        "city": "Berlin",
        "country": "DE",
        "postcode": "45678",
        "state": "BE"
      },
      "birth_city": "Berlin",
      "birth_country": "DE",
      "birth_date": "1972-09-30",
      "birth_name": "Schmidt",
      "created_at": "2021-07-21T14:10:00.00Z",
      "first_name": "Karl",
      "id": "83d83ec2-d2ca-49ff-bbea-b92b5c3be202",
      "last_name": "Schmidt",
      "nationalities": [
        "DE",
        "AU"
      ],
      "postal_address": {
        "address_line1": "Rosenweg 221",
        "address_line2": "apt. 33",
        "city": "Berlin",
        "country": "DE",
        "postcode": "45678",
        "state": "BE"
      },
      "salutation": "SALUTATION_MALE",
      "status": "ACTIVE",
      "title": "DR",
      "updated_at": "2021-07-21T14:10:00.00Z"
    },
    {
      "address": {
        "address_line1": "Rosenweg 221",
        "address_line2": "apt. 33",
        "city": "Berlin",
        "country": "DE",
        "postcode": "45678",
        "state": "BE"
      },
      "birth_city": "Berlin",
      "birth_country": "DE",
      "birth_date": "1970-10-01",
      "birth_name": "Schmidt",
      "created_at": "2021-07-21T14:10:00.00Z",
      "first_name": "John",
      "id": "287673ef-1bae-4d8a-9e78-8ddaae249d72",
      "last_name": "Doe",
      "nationalities": [
        "DE",
        "AU"
      ],
      "postal_address": null,
      "salutation": "SALUTATION_MALE",
      "status": "ACTIVE",
      "title": "PROF_DR",
      "updated_at": "2021-07-21T14:10:00.00Z"
    }
  ],
  "meta": {
    "count": 1,
    "limit": 100,
    "offset": 0,
    "order": "ASC",
    "sort": "id",
    "total_count": 1
  }
}
{
  "data": [
    {
      "address": {
        "address_line1": "Rosenweg 221",
        "address_line2": "apt. 33",
        "city": "Berlin",
        "country": "DE",
        "postcode": "45678",
        "state": "BE"
      },
      "birth_city": "Berlin",
      "birth_country": "DE",
      "birth_date": "1972-09-30",
      "birth_name": "Schmidt",
      "created_at": "2021-07-21T14:10:00.00Z",
      "data_privacy_and_sharing_agreement": {
        "confirmed_at": "2020-08-24T14:16:22Z",
        "consent_document_id": "fb1827c3-2b29-47e1-84da-996d09517edc"
      },
      "email": "karl.schmidt@example.com",
      "fatca": {
        "confirmed_at": "2020-08-24T14:15:22Z",
        "status": false
      },
      "first_name": "Karl",
      "id": "83d83ec2-d2ca-49ff-bbea-b92b5c3be202",
      "last_name": "Schmidt",
      "nationalities": [
        "DE",
        "AU"
      ],
      "phone_number": "4930901820",
      "postal_address": {
        "address_line1": "Rosenweg 221",
        "address_line2": "apt. 33",
        "city": "Berlin",
        "country": "DE",
        "postcode": "45678",
        "state": "BE"
      },
      "salutation": "SALUTATION_MALE",
      "status": "ACTIVE",
      "terms_and_conditions": {
        "confirmed_at": "2020-08-24T14:14:22Z",
        "consent_document_id": "a8a87268-4f3c-4de2-abb9-a553a3bb7608"
      },
      "title": "DR",
      "updated_at": "2021-07-21T14:10:00.00Z"
    },
    {
      "address": {
        "address_line1": "Rosenweg 221",
        "address_line2": "apt. 33",
        "city": "Berlin",
        "country": "DE",
        "postcode": "45678",
        "state": "BE"
      },
      "birth_city": "Berlin",
      "birth_country": "DE",
      "birth_date": "1972-09-30",
      "birth_name": "Schmidt",
      "created_at": "2021-07-21T14:10:00.00Z",
      "data_privacy_and_sharing_agreement": {
        "confirmed_at": "2020-08-24T14:16:22Z",
        "consent_document_id": "fb1827c3-2b29-47e1-84da-996d09517edc"
      },
      "email": "karl.schmidt@example.com",
      "fatca": {
        "confirmed_at": "2020-08-24T14:15:22Z",
        "status": false
      },
      "first_name": "Karl",
      "id": "83d83ec2-d2ca-49ff-bbea-b92b5c3be202",
      "last_name": "Schmidt",
      "nationalities": [
        "DE",
        "AU"
      ],
      "phone_number": "4930901820",
      "postal_address": null,
      "salutation": "SALUTATION_MALE",
      "status": "ACTIVE",
      "terms_and_conditions": {
        "confirmed_at": "2020-08-24T14:14:22Z",
        "consent_document_id": "a8a87268-4f3c-4de2-abb9-a553a3bb7608"
      },
      "title": "DR",
      "updated_at": "2021-07-21T14:10:00.00Z"
    }
  ],
  "meta": {
    "count": 1,
    "limit": 100,
    "offset": 0,
    "order": "ASC",
    "sort": "id",
    "total_count": 1
  }
}
{
  "data": [],
  "meta": {
    "count": 0,
    "limit": 100,
    "offset": 0,
    "order": "ASC",
    "sort": "id",
    "total_count": 0
  }
}

Bad Request. The incoming request had a malformed parameter/object.

{
  "status": 400,
  "type": "bad_request"
}

Unauthorized. The caller has not been authenticated.

{
  "status": 401,
  "type": "unauthorized"
}

Forbidden. The caller has been authenticated but is not allowed to take the requested action.

{
  "status": 403,
  "type": "forbidden"
}

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

{
  "status": 406,
  "type": "not_acceptable"
}

Too Many Requests. The caller has exceeded their quota for the time period and has been throttled.

{
  "status": 429,
  "type": "too_many_requests"
}

Internal Server Error. The service encountered an unexpected error.

{
  "status": 500,
  "type": "internal_server_error"
}

Service Unavailable. The service handling for this request cannot be reached at this time.

{
  "status": 503,
  "type": "method_not_allowed"
}

Gateway Timeout. The service gateway has reached its internal timeout.

{
  "status": 504,
  "type": "gateway_timeout"
}

meta

object (meta)

required

offset

int

required

Amount of resource to offset in the response.

limit

int

required

Total limit of the response.

count

int

required

Count of the resources returned in the response.

total_count

int

required

Total count of all the resources.

sort

string

The field that the list is sorted by.

order

string

The ordering of the response.

  • ASC - Ascending order
  • DESC - Descending order
Enum
  • ASC
  • DESC

data

One Of

required

Any Of

Users (BYOL) - List

array[object (User (BYOL))]

User (BYOL)

object (User (BYOL))

id

string

uuid

required

User unique identifier.

created_at

string

date-time

required

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

updated_at

string

date-time

required

Date and time when the resource was last updated. RFC 3339-5, ISO8601 UTC

first_name

string

required

First name of the user.

Min Length
2
Max Length
100

last_name

string

required

Last name of the user.

Min Length
2
Max Length
100

salutation

string

Salutation of the user used in reports and statements.

  • (empty string) -
  • SALUTATION_MALE -
  • SALUTATION_FEMALE -
  • SALUTATION_FEMALE_MARRIED -
  • SALUTATION_DIVERSE -
Default
""
Enum
  • SALUTATION_MALE
  • SALUTATION_FEMALE
  • SALUTATION_FEMALE_MARRIED
  • SALUTATION_DIVERSE

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 -
Default
""
Enum
  • DR
  • PROF
  • PROF_DR
  • DIPL_ING
  • MAGISTER

birth_date

string

date

required

Birth date of the user in YYYY-MM-DD format. RFC 3339, section 5.6

birth_city

string

Min Length
1
Max Length
85

birth_country

string

^[A-Z]{2}$

Country code. ISO 3166 alpha-2 Codes.

birth_name

string

If applicable, birth name of the user.

Max Length
100

nationalities

array[string]

required

Nationalities of the user. ISO 3166 alpha-2 Codes.

string

^[A-Z]{2}$

Country code. ISO 3166 alpha-2 Codes.

address

object (address)

required

Address

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

postal_address

One Of

User postal address. Needs to be specified if different to the residential address, otherwise it is automatically populated.

Address

object (Address)

Address

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

null

null

status

string

required

Status of the user.

  • ACTIVE -
  • INACTIVE -
  • OFFBOARDING -
  • OFFBOARDED -
Enum
  • ACTIVE
  • INACTIVE
  • OFFBOARDING
  • OFFBOARDED

Users (TOL) - List

array[object (User (TOL))]

User (TOL)

object (User (TOL))

id

string

uuid

required

User unique identifier.

created_at

string

date-time

required

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

updated_at

string

date-time

required

Date and time when the resource was last updated. RFC 3339-5, ISO8601 UTC

first_name

string

required

First name of the user.

Min Length
2
Max Length
100

last_name

string

required

Last name of the user.

Min Length
2
Max Length
100

salutation

string

Salutation of the user used in reports and statements.

  • (empty string) -
  • SALUTATION_MALE -
  • SALUTATION_FEMALE -
  • SALUTATION_FEMALE_MARRIED -
  • SALUTATION_DIVERSE -
Default
""
Enum
  • SALUTATION_MALE
  • SALUTATION_FEMALE
  • SALUTATION_FEMALE_MARRIED
  • SALUTATION_DIVERSE

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 -
Default
""
Enum
  • DR
  • PROF
  • PROF_DR
  • DIPL_ING
  • MAGISTER

birth_date

string

date

required

Birth date of the user in YYYY-MM-DD format. RFC 3339, section 5.6

birth_city

string

Min Length
1
Max Length
85

birth_country

string

^[A-Z]{2}$

Country code. ISO 3166 alpha-2 Codes.

birth_name

string

If applicable, birth name of the user.

Max Length
100

nationalities

array[string]

required

Nationalities of the user. ISO 3166 alpha-2 Codes.

string

^[A-Z]{2}$

Country code. ISO 3166 alpha-2 Codes.

address

object (address)

required

Address

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

postal_address

One Of

User postal address. Needs to be specified if different to the residential address, otherwise it is automatically populated.

Address

object (Address)

Address

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

null

null

status

string

required

Status of the user.

  • ACTIVE -
  • INACTIVE -
  • OFFBOARDING -
  • OFFBOARDED -
Enum
  • ACTIVE
  • INACTIVE
  • OFFBOARDING
  • OFFBOARDED

email

string

email

Email of the user. Must be a valid email address.

Max Length
100

phone_number

string

^([0-9]{8,15})?$

Phone number of the user. Phone number E.164 format.

fatca

object (fatca)

status

boolean

required

The user’s FATCA status is true if the user is subject to paying taxes in the US, otherwise it can be set to false.

confirmed_at

string

date-time

required

Timestamp at which the user confirmed their FATCA status. RFC 3339-5, ISO8601 UTC

terms_and_conditions

object (terms_and_conditions)

consent_document_id

string

uuid

required

Consent unique identifier.

confirmed_at

string

date-time

required

Timestamp at which the user consented to the terms & conditions. RFC 3339-5, ISO8601 UTC

data_privacy_and_sharing_agreement

object (data_privacy_and_sharing_agreement)

consent_document_id

string

uuid

required

Consent unique identifier.

confirmed_at

string

date-time

required

Timestamp at which the user consented to the data sharing agreement. RFC 3339-5, ISO8601 UTC

empty Users - List

array[object]

For empty lists, JSON schema's 'oneOf' matches both 'Users (BYOL) - List' and 'Users (TOL) - List' and hence fails. So we need this extra 'oneOf' branch specifically for empty lists, distinguished by 'minItems' and 'maxItems'.

object

All items on list responses must be objects.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

Create a user

post /users

Creates a user.

OAuth2 oauth-client-credentials

Required Scopes:

users:admin

All Scopes

  • account_liquidations:admin · Trigger/read/cancel accounts liquidations
  • account_liquidations:read · Read accounts liquidations
  • account_returns:read · Read accounts returns
  • accounts:admin · Create/update/delete accounts and account groups
  • accounts:read · Read accounts and account groups
  • checks:admin · Create checks
  • checks:read · Read checks
  • credit_fundings:read · Credit Fundings read operations
  • fees:admin · Create and read fee operations
  • fees:read · Read fee operations
  • instruments:read · Read instruments
  • mandates:admin · Create/update/delete mandates
  • mandates:read · Read mandates
  • orders:admin · Create/update/delete orders
  • orders:read · Read orders
  • payments:admin · Payins and withdrawal operations
  • payments:read · Payins and withdrawal read operations
  • portfolios:admin · Modify portfolios
  • portfolios:read · Read portfolios
  • positions:read · Read positions
  • reference_accounts:admin · Create/update/delete reference accounts
  • reference_accounts:read · Read reference accounts
  • reports:read · Read reports
  • taxes:admin · Modify tax residencies
  • taxes:read · Read tax residencies
  • topups:admin · Topups operations
  • topups:read · Topups read operations
  • transactions:read · Read cash and securities transactions
  • users:admin · Create/update/delete users
  • users:read · Read users
  • valuations:read · Read valuations
  • webhooks:admin · Create/update/delete webhooks
  • webhooks:read · Read webhooks
Flow Type:
Client Credentials
Token URL:
https://sandbox.upvest.co/auth/token

upvest-client-id

string

uuid

required

Tenant Client ID

Example
"ebabcf4d-61c3-4942-875c-e265a7c2d062"

authorization

string

^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=="

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)

Default
"1"
Enum
  • 1
Example
1

idempotency-key

string

uuid

^[0-9a-fA-F]{8}-?[0-9a-fA-F]{4}-?[0-5][0-9a-fA-F]{3}-?[089abAB][0-9a-fA-F]{3}-?[0-9a-fA-F]{12}$

required

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

Example
"ccb07f42-4104-44ad-8e1f-c660bb7b269c"

User - Create - Request

Any Of

User (BYOL) - Create - Request

object (User (BYOL) - Create - Request)

first_name

string

required

First name of the user.

Min Length
2
Max Length
100

last_name

string

required

Last name of the user.

Min Length
2
Max Length
100

salutation

string

Salutation of the user used in reports and statements.

  • (empty string) -
  • SALUTATION_MALE -
  • SALUTATION_FEMALE -
  • SALUTATION_FEMALE_MARRIED -
  • SALUTATION_DIVERSE -
Default
""
Enum
  • SALUTATION_MALE
  • SALUTATION_FEMALE
  • SALUTATION_FEMALE_MARRIED
  • SALUTATION_DIVERSE

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 -
Default
""
Enum
  • DR
  • PROF
  • PROF_DR
  • DIPL_ING
  • MAGISTER

birth_date

string

date

required

Birth date of the user in YYYY-MM-DD format. RFC 3339, section 5.6

birth_city

string

Min Length
1
Max Length
85

birth_country

string

^[A-Z]{2}$

Country code. ISO 3166 alpha-2 Codes.

birth_name

string

If applicable, birth name of the user.

Max Length
100

nationalities

array[string]

required

Nationalities of the user. ISO 3166 alpha-2 Codes.

string

^[A-Z]{2}$

Country code. ISO 3166 alpha-2 Codes.

address

object (address)

required

Address

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

postal_address

One Of

User postal address. Needs to be specified if different to the residential address, otherwise it is automatically populated.

Address

object (Address)

Address

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

null

null

User (TOL) - Create - Request

object (User (TOL) - Create - Request)

first_name

string

required

First name of the user.

Min Length
2
Max Length
100

last_name

string

required

Last name of the user.

Min Length
2
Max Length
100

email

string

email

required

Email of the user. Must be a valid email address.

Max Length
100

salutation

string

Salutation of the user used in reports and statements.

  • (empty string) -
  • SALUTATION_MALE -
  • SALUTATION_FEMALE -
  • SALUTATION_FEMALE_MARRIED -
  • SALUTATION_DIVERSE -
Default
""
Enum
  • SALUTATION_MALE
  • SALUTATION_FEMALE
  • SALUTATION_FEMALE_MARRIED
  • SALUTATION_DIVERSE

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 -
Default
""
Enum
  • DR
  • PROF
  • PROF_DR
  • DIPL_ING
  • MAGISTER

birth_date

string

date

required

Birth date of the user in YYYY-MM-DD format. RFC 3339, section 5.6

birth_city

string

required

Min Length
1
Max Length
85

birth_country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

birth_name

string

If applicable, birth name of the user.

Max Length
100

nationalities

array[string]

required

Nationalities of the user. ISO 3166 alpha-2 Codes.

string

^[A-Z]{2}$

Country code. ISO 3166 alpha-2 Codes.

phone_number

string

^([0-9]{8,15})?$

Phone number of the user. Phone number E.164 format.

address

object (address)

required

Address

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

postal_address

One Of

User postal address. Needs to be specified if different to the residential address, otherwise it is automatically populated.

Address

object (Address)

Address

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

null

null

fatca

object (fatca)

required

status

boolean

required

The user’s FATCA status is true if the user is subject to paying taxes in the US, otherwise it can be set to false.

confirmed_at

string

date-time

required

Timestamp at which the user confirmed their FATCA status. RFC 3339-5, ISO8601 UTC

terms_and_conditions

object (terms_and_conditions)

required

consent_document_id

string

uuid

required

Consent unique identifier.

confirmed_at

string

date-time

required

Timestamp at which the user consented to the terms & conditions. RFC 3339-5, ISO8601 UTC

data_privacy_and_sharing_agreement

object (data_privacy_and_sharing_agreement)

required

consent_document_id

string

uuid

required

Consent unique identifier.

confirmed_at

string

date-time

required

Timestamp at which the user consented to the data sharing agreement. RFC 3339-5, ISO8601 UTC

Request

{
  "address": {
    "address_line1": "Rosenweg 221",
    "address_line2": "apt. 33",
    "city": "Berlin",
    "country": "DE",
    "postcode": "45678",
    "state": "BE"
  },
  "birth_city": "Berlin",
  "birth_country": "DE",
  "birth_date": "1972-09-30",
  "birth_name": "Schmidt",
  "first_name": "Karl",
  "last_name": "Schmidt",
  "nationalities": [
    "DE",
    "AU"
  ],
  "postal_address": {
    "address_line1": "Rosenweg 221",
    "address_line2": "apt. 33",
    "city": "Berlin",
    "country": "DE",
    "postcode": "45678",
    "state": "BE"
  },
  "salutation": "SALUTATION_MALE",
  "title": "DR"
}
{
  "address": {
    "address_line1": "Rosenweg 221",
    "address_line2": "apt. 33",
    "city": "Berlin",
    "country": "DE",
    "postcode": "45678",
    "state": "BE"
  },
  "birth_city": "Berlin",
  "birth_country": "DE",
  "birth_date": "1972-09-30",
  "birth_name": "Schmidt",
  "data_privacy_and_sharing_agreement": {
    "confirmed_at": "2020-08-24T14:16:22Z",
    "consent_document_id": "fb1827c3-2b29-47e1-84da-996d09517edc"
  },
  "email": "karl.schmidt@example.com",
  "fatca": {
    "confirmed_at": "2020-08-24T14:15:22Z",
    "status": false
  },
  "first_name": "Karl",
  "last_name": "Schmidt",
  "nationalities": [
    "DE",
    "AU"
  ],
  "phone_number": "4930901820",
  "postal_address": {
    "address_line1": "Rosenweg 221",
    "address_line2": "apt. 33",
    "city": "Berlin",
    "country": "DE",
    "postcode": "45678",
    "state": "BE"
  },
  "salutation": "SALUTATION_MALE",
  "terms_and_conditions": {
    "confirmed_at": "2020-08-24T14:14:22Z",
    "consent_document_id": "a8a87268-4f3c-4de2-abb9-a553a3bb7608"
  },
  "title": "DR"
}

Response

Examples Schema

User created.

{
  "address": {
    "address_line1": "Rosenweg 221",
    "address_line2": "apt. 33",
    "city": "Berlin",
    "country": "DE",
    "postcode": "45678",
    "state": "BE"
  },
  "birth_city": "Berlin",
  "birth_country": "DE",
  "birth_date": "1972-09-30",
  "birth_name": "Schmidt",
  "created_at": "2021-07-21T14:10:00.00Z",
  "first_name": "Karl",
  "id": "83d83ec2-d2ca-49ff-bbea-b92b5c3be202",
  "last_name": "Schmidt",
  "nationalities": [
    "DE",
    "AU"
  ],
  "postal_address": {
    "address_line1": "Rosenweg 221",
    "address_line2": "apt. 33",
    "city": "Berlin",
    "country": "DE",
    "postcode": "45678",
    "state": "BE"
  },
  "salutation": "SALUTATION_MALE",
  "status": "ACTIVE",
  "title": "DR",
  "updated_at": "2021-07-21T14:10:00.00Z"
}
{
  "address": {
    "address_line1": "Rosenweg 221",
    "address_line2": "apt. 33",
    "city": "Berlin",
    "country": "DE",
    "postcode": "45678",
    "state": "BE"
  },
  "birth_city": "Berlin",
  "birth_country": "DE",
  "birth_date": "1972-09-30",
  "birth_name": "Schmidt",
  "created_at": "2021-07-21T14:10:00.00Z",
  "data_privacy_and_sharing_agreement": {
    "confirmed_at": "2020-08-24T14:16:22Z",
    "consent_document_id": "fb1827c3-2b29-47e1-84da-996d09517edc"
  },
  "email": "karl.schmidt@example.com",
  "fatca": {
    "confirmed_at": "2020-08-24T14:15:22Z",
    "status": false
  },
  "first_name": "Karl",
  "id": "83d83ec2-d2ca-49ff-bbea-b92b5c3be202",
  "last_name": "Schmidt",
  "nationalities": [
    "DE",
    "AU"
  ],
  "phone_number": "4930901820",
  "postal_address": {
    "address_line1": "Rosenweg 221",
    "address_line2": "apt. 33",
    "city": "Berlin",
    "country": "DE",
    "postcode": "45678",
    "state": "BE"
  },
  "salutation": "SALUTATION_MALE",
  "status": "ACTIVE",
  "terms_and_conditions": {
    "confirmed_at": "2020-08-24T14:14:22Z",
    "consent_document_id": "a8a87268-4f3c-4de2-abb9-a553a3bb7608"
  },
  "title": "DR",
  "updated_at": "2021-07-21T14:10:00.00Z"
}

Bad Request. The incoming request had a malformed parameter/object.

{
  "status": 400,
  "type": "bad_request"
}

Unauthorized. The caller has not been authenticated.

{
  "status": 401,
  "type": "unauthorized"
}

Forbidden. The caller has been authenticated but is not allowed to take the requested action.

{
  "status": 403,
  "type": "forbidden"
}

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

{
  "status": 406,
  "type": "not_acceptable"
}

Too Many Requests. The caller has exceeded their quota for the time period and has been throttled.

{
  "status": 429,
  "type": "too_many_requests"
}

Internal Server Error. The service encountered an unexpected error.

{
  "status": 500,
  "type": "internal_server_error"
}

Service Unavailable. The service handling for this request cannot be reached at this time.

{
  "status": 503,
  "type": "method_not_allowed"
}

Gateway Timeout. The service gateway has reached its internal timeout.

{
  "status": 504,
  "type": "gateway_timeout"
}

User - Create - Request

Any Of

User (BYOL)

object (User (BYOL))

id

string

uuid

required

User unique identifier.

created_at

string

date-time

required

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

updated_at

string

date-time

required

Date and time when the resource was last updated. RFC 3339-5, ISO8601 UTC

first_name

string

required

First name of the user.

Min Length
2
Max Length
100

last_name

string

required

Last name of the user.

Min Length
2
Max Length
100

salutation

string

Salutation of the user used in reports and statements.

  • (empty string) -
  • SALUTATION_MALE -
  • SALUTATION_FEMALE -
  • SALUTATION_FEMALE_MARRIED -
  • SALUTATION_DIVERSE -
Default
""
Enum
  • SALUTATION_MALE
  • SALUTATION_FEMALE
  • SALUTATION_FEMALE_MARRIED
  • SALUTATION_DIVERSE

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 -
Default
""
Enum
  • DR
  • PROF
  • PROF_DR
  • DIPL_ING
  • MAGISTER

birth_date

string

date

required

Birth date of the user in YYYY-MM-DD format. RFC 3339, section 5.6

birth_city

string

Min Length
1
Max Length
85

birth_country

string

^[A-Z]{2}$

Country code. ISO 3166 alpha-2 Codes.

birth_name

string

If applicable, birth name of the user.

Max Length
100

nationalities

array[string]

required

Nationalities of the user. ISO 3166 alpha-2 Codes.

string

^[A-Z]{2}$

Country code. ISO 3166 alpha-2 Codes.

address

object (address)

required

Address

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

postal_address

One Of

User postal address. Needs to be specified if different to the residential address, otherwise it is automatically populated.

Address

object (Address)

Address

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

null

null

status

string

required

Status of the user.

  • ACTIVE -
  • INACTIVE -
  • OFFBOARDING -
  • OFFBOARDED -
Enum
  • ACTIVE
  • INACTIVE
  • OFFBOARDING
  • OFFBOARDED

User (TOL)

object (User (TOL))

id

string

uuid

required

User unique identifier.

created_at

string

date-time

required

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

updated_at

string

date-time

required

Date and time when the resource was last updated. RFC 3339-5, ISO8601 UTC

first_name

string

required

First name of the user.

Min Length
2
Max Length
100

last_name

string

required

Last name of the user.

Min Length
2
Max Length
100

salutation

string

Salutation of the user used in reports and statements.

  • (empty string) -
  • SALUTATION_MALE -
  • SALUTATION_FEMALE -
  • SALUTATION_FEMALE_MARRIED -
  • SALUTATION_DIVERSE -
Default
""
Enum
  • SALUTATION_MALE
  • SALUTATION_FEMALE
  • SALUTATION_FEMALE_MARRIED
  • SALUTATION_DIVERSE

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 -
Default
""
Enum
  • DR
  • PROF
  • PROF_DR
  • DIPL_ING
  • MAGISTER

birth_date

string

date

required

Birth date of the user in YYYY-MM-DD format. RFC 3339, section 5.6

birth_city

string

Min Length
1
Max Length
85

birth_country

string

^[A-Z]{2}$

Country code. ISO 3166 alpha-2 Codes.

birth_name

string

If applicable, birth name of the user.

Max Length
100

nationalities

array[string]

required

Nationalities of the user. ISO 3166 alpha-2 Codes.

string

^[A-Z]{2}$

Country code. ISO 3166 alpha-2 Codes.

address

object (address)

required

Address

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

postal_address

One Of

User postal address. Needs to be specified if different to the residential address, otherwise it is automatically populated.

Address

object (Address)

Address

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

null

null

status

string

required

Status of the user.

  • ACTIVE -
  • INACTIVE -
  • OFFBOARDING -
  • OFFBOARDED -
Enum
  • ACTIVE
  • INACTIVE
  • OFFBOARDING
  • OFFBOARDED

email

string

email

Email of the user. Must be a valid email address.

Max Length
100

phone_number

string

^([0-9]{8,15})?$

Phone number of the user. Phone number E.164 format.

fatca

object (fatca)

status

boolean

required

The user’s FATCA status is true if the user is subject to paying taxes in the US, otherwise it can be set to false.

confirmed_at

string

date-time

required

Timestamp at which the user confirmed their FATCA status. RFC 3339-5, ISO8601 UTC

terms_and_conditions

object (terms_and_conditions)

consent_document_id

string

uuid

required

Consent unique identifier.

confirmed_at

string

date-time

required

Timestamp at which the user consented to the terms & conditions. RFC 3339-5, ISO8601 UTC

data_privacy_and_sharing_agreement

object (data_privacy_and_sharing_agreement)

consent_document_id

string

uuid

required

Consent unique identifier.

confirmed_at

string

date-time

required

Timestamp at which the user consented to the data sharing agreement. RFC 3339-5, ISO8601 UTC

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

Get a user by ID

get /users/{user_id}

Returns the user specified by ID.

OAuth2 oauth-client-credentials

Required Scopes:

users:readusers:admin

All Scopes

  • account_liquidations:admin · Trigger/read/cancel accounts liquidations
  • account_liquidations:read · Read accounts liquidations
  • account_returns:read · Read accounts returns
  • accounts:admin · Create/update/delete accounts and account groups
  • accounts:read · Read accounts and account groups
  • checks:admin · Create checks
  • checks:read · Read checks
  • credit_fundings:read · Credit Fundings read operations
  • fees:admin · Create and read fee operations
  • fees:read · Read fee operations
  • instruments:read · Read instruments
  • mandates:admin · Create/update/delete mandates
  • mandates:read · Read mandates
  • orders:admin · Create/update/delete orders
  • orders:read · Read orders
  • payments:admin · Payins and withdrawal operations
  • payments:read · Payins and withdrawal read operations
  • portfolios:admin · Modify portfolios
  • portfolios:read · Read portfolios
  • positions:read · Read positions
  • reference_accounts:admin · Create/update/delete reference accounts
  • reference_accounts:read · Read reference accounts
  • reports:read · Read reports
  • taxes:admin · Modify tax residencies
  • taxes:read · Read tax residencies
  • topups:admin · Topups operations
  • topups:read · Topups read operations
  • transactions:read · Read cash and securities transactions
  • users:admin · Create/update/delete users
  • users:read · Read users
  • valuations:read · Read valuations
  • webhooks:admin · Create/update/delete webhooks
  • webhooks:read · Read webhooks
Flow Type:
Client Credentials
Token URL:
https://sandbox.upvest.co/auth/token

upvest-client-id

string

uuid

required

Tenant Client ID

Example
"ebabcf4d-61c3-4942-875c-e265a7c2d062"

authorization

string

^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=="

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)

Default
"1"
Enum
  • 1
Example
1

user_id

string

uuid

required

User unique identifier.

Response

Examples Schema

OK

{
  "address": {
    "address_line1": "Rosenweg 221",
    "address_line2": "apt. 33",
    "city": "Berlin",
    "country": "DE",
    "postcode": "45678",
    "state": "BE"
  },
  "birth_city": "Berlin",
  "birth_country": "DE",
  "birth_date": "1972-09-30",
  "birth_name": "Schmidt",
  "created_at": "2021-07-21T14:10:00.00Z",
  "first_name": "Karl",
  "id": "83d83ec2-d2ca-49ff-bbea-b92b5c3be202",
  "last_name": "Schmidt",
  "nationalities": [
    "DE",
    "AU"
  ],
  "postal_address": {
    "address_line1": "Rosenweg 221",
    "address_line2": "apt. 33",
    "city": "Berlin",
    "country": "DE",
    "postcode": "45678",
    "state": "BE"
  },
  "salutation": "SALUTATION_MALE",
  "status": "ACTIVE",
  "title": "DR",
  "updated_at": "2021-07-21T14:10:00.00Z"
}
{
  "address": {
    "address_line1": "Rosenweg 221",
    "address_line2": "apt. 33",
    "city": "Berlin",
    "country": "DE",
    "postcode": "45678",
    "state": "BE"
  },
  "birth_city": "Berlin",
  "birth_country": "DE",
  "birth_date": "1972-09-30",
  "birth_name": "Schmidt",
  "created_at": "2021-07-21T14:10:00.00Z",
  "data_privacy_and_sharing_agreement": {
    "confirmed_at": "2020-08-24T14:16:22Z",
    "consent_document_id": "fb1827c3-2b29-47e1-84da-996d09517edc"
  },
  "email": "karl.schmidt@example.com",
  "fatca": {
    "confirmed_at": "2020-08-24T14:15:22Z",
    "status": false
  },
  "first_name": "Karl",
  "id": "83d83ec2-d2ca-49ff-bbea-b92b5c3be202",
  "last_name": "Schmidt",
  "nationalities": [
    "DE",
    "AU"
  ],
  "phone_number": "4930901820",
  "postal_address": {
    "address_line1": "Rosenweg 221",
    "address_line2": "apt. 33",
    "city": "Berlin",
    "country": "DE",
    "postcode": "45678",
    "state": "BE"
  },
  "salutation": "SALUTATION_MALE",
  "status": "ACTIVE",
  "terms_and_conditions": {
    "confirmed_at": "2020-08-24T14:14:22Z",
    "consent_document_id": "a8a87268-4f3c-4de2-abb9-a553a3bb7608"
  },
  "title": "DR",
  "updated_at": "2021-07-21T14:10:00.00Z"
}

Unauthorized. The caller has not been authenticated.

{
  "status": 401,
  "type": "unauthorized"
}

Forbidden. The caller has been authenticated but is not allowed to take the requested action.

{
  "status": 403,
  "type": "forbidden"
}

Not Found. The requested resource could not be found.

{
  "status": 404,
  "type": "not_found"
}

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

{
  "status": 406,
  "type": "not_acceptable"
}

Too Many Requests. The caller has exceeded their quota for the time period and has been throttled.

{
  "status": 429,
  "type": "too_many_requests"
}

Internal Server Error. The service encountered an unexpected error.

{
  "status": 500,
  "type": "internal_server_error"
}

Service Unavailable. The service handling for this request cannot be reached at this time.

{
  "status": 503,
  "type": "method_not_allowed"
}

Gateway Timeout. The service gateway has reached its internal timeout.

{
  "status": 504,
  "type": "gateway_timeout"
}

User - Get - Response

Any Of

User (BYOL)

object (User (BYOL))

id

string

uuid

required

User unique identifier.

created_at

string

date-time

required

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

updated_at

string

date-time

required

Date and time when the resource was last updated. RFC 3339-5, ISO8601 UTC

first_name

string

required

First name of the user.

Min Length
2
Max Length
100

last_name

string

required

Last name of the user.

Min Length
2
Max Length
100

salutation

string

Salutation of the user used in reports and statements.

  • (empty string) -
  • SALUTATION_MALE -
  • SALUTATION_FEMALE -
  • SALUTATION_FEMALE_MARRIED -
  • SALUTATION_DIVERSE -
Default
""
Enum
  • SALUTATION_MALE
  • SALUTATION_FEMALE
  • SALUTATION_FEMALE_MARRIED
  • SALUTATION_DIVERSE

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 -
Default
""
Enum
  • DR
  • PROF
  • PROF_DR
  • DIPL_ING
  • MAGISTER

birth_date

string

date

required

Birth date of the user in YYYY-MM-DD format. RFC 3339, section 5.6

birth_city

string

Min Length
1
Max Length
85

birth_country

string

^[A-Z]{2}$

Country code. ISO 3166 alpha-2 Codes.

birth_name

string

If applicable, birth name of the user.

Max Length
100

nationalities

array[string]

required

Nationalities of the user. ISO 3166 alpha-2 Codes.

string

^[A-Z]{2}$

Country code. ISO 3166 alpha-2 Codes.

address

object (address)

required

Address

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

postal_address

One Of

User postal address. Needs to be specified if different to the residential address, otherwise it is automatically populated.

Address

object (Address)

Address

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

null

null

status

string

required

Status of the user.

  • ACTIVE -
  • INACTIVE -
  • OFFBOARDING -
  • OFFBOARDED -
Enum
  • ACTIVE
  • INACTIVE
  • OFFBOARDING
  • OFFBOARDED

User (TOL)

object (User (TOL))

id

string

uuid

required

User unique identifier.

created_at

string

date-time

required

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

updated_at

string

date-time

required

Date and time when the resource was last updated. RFC 3339-5, ISO8601 UTC

first_name

string

required

First name of the user.

Min Length
2
Max Length
100

last_name

string

required

Last name of the user.

Min Length
2
Max Length
100

salutation

string

Salutation of the user used in reports and statements.

  • (empty string) -
  • SALUTATION_MALE -
  • SALUTATION_FEMALE -
  • SALUTATION_FEMALE_MARRIED -
  • SALUTATION_DIVERSE -
Default
""
Enum
  • SALUTATION_MALE
  • SALUTATION_FEMALE
  • SALUTATION_FEMALE_MARRIED
  • SALUTATION_DIVERSE

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 -
Default
""
Enum
  • DR
  • PROF
  • PROF_DR
  • DIPL_ING
  • MAGISTER

birth_date

string

date

required

Birth date of the user in YYYY-MM-DD format. RFC 3339, section 5.6

birth_city

string

Min Length
1
Max Length
85

birth_country

string

^[A-Z]{2}$

Country code. ISO 3166 alpha-2 Codes.

birth_name

string

If applicable, birth name of the user.

Max Length
100

nationalities

array[string]

required

Nationalities of the user. ISO 3166 alpha-2 Codes.

string

^[A-Z]{2}$

Country code. ISO 3166 alpha-2 Codes.

address

object (address)

required

Address

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

postal_address

One Of

User postal address. Needs to be specified if different to the residential address, otherwise it is automatically populated.

Address

object (Address)

Address

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

null

null

status

string

required

Status of the user.

  • ACTIVE -
  • INACTIVE -
  • OFFBOARDING -
  • OFFBOARDED -
Enum
  • ACTIVE
  • INACTIVE
  • OFFBOARDING
  • OFFBOARDED

email

string

email

Email of the user. Must be a valid email address.

Max Length
100

phone_number

string

^([0-9]{8,15})?$

Phone number of the user. Phone number E.164 format.

fatca

object (fatca)

status

boolean

required

The user’s FATCA status is true if the user is subject to paying taxes in the US, otherwise it can be set to false.

confirmed_at

string

date-time

required

Timestamp at which the user confirmed their FATCA status. RFC 3339-5, ISO8601 UTC

terms_and_conditions

object (terms_and_conditions)

consent_document_id

string

uuid

required

Consent unique identifier.

confirmed_at

string

date-time

required

Timestamp at which the user consented to the terms & conditions. RFC 3339-5, ISO8601 UTC

data_privacy_and_sharing_agreement

object (data_privacy_and_sharing_agreement)

consent_document_id

string

uuid

required

Consent unique identifier.

confirmed_at

string

date-time

required

Timestamp at which the user consented to the data sharing agreement. RFC 3339-5, ISO8601 UTC

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

Offboard a user

delete /users/{user_id}

Starts the user offboarding process in the background.

OAuth2 oauth-client-credentials

Required Scopes:

users:admin

All Scopes

  • account_liquidations:admin · Trigger/read/cancel accounts liquidations
  • account_liquidations:read · Read accounts liquidations
  • account_returns:read · Read accounts returns
  • accounts:admin · Create/update/delete accounts and account groups
  • accounts:read · Read accounts and account groups
  • checks:admin · Create checks
  • checks:read · Read checks
  • credit_fundings:read · Credit Fundings read operations
  • fees:admin · Create and read fee operations
  • fees:read · Read fee operations
  • instruments:read · Read instruments
  • mandates:admin · Create/update/delete mandates
  • mandates:read · Read mandates
  • orders:admin · Create/update/delete orders
  • orders:read · Read orders
  • payments:admin · Payins and withdrawal operations
  • payments:read · Payins and withdrawal read operations
  • portfolios:admin · Modify portfolios
  • portfolios:read · Read portfolios
  • positions:read · Read positions
  • reference_accounts:admin · Create/update/delete reference accounts
  • reference_accounts:read · Read reference accounts
  • reports:read · Read reports
  • taxes:admin · Modify tax residencies
  • taxes:read · Read tax residencies
  • topups:admin · Topups operations
  • topups:read · Topups read operations
  • transactions:read · Read cash and securities transactions
  • users:admin · Create/update/delete users
  • users:read · Read users
  • valuations:read · Read valuations
  • webhooks:admin · Create/update/delete webhooks
  • webhooks:read · Read webhooks
Flow Type:
Client Credentials
Token URL:
https://sandbox.upvest.co/auth/token

upvest-client-id

string

uuid

required

Tenant Client ID

Example
"ebabcf4d-61c3-4942-875c-e265a7c2d062"

authorization

string

^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=="

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)

Default
"1"
Enum
  • 1
Example
1

user_id

string

uuid

required

User unique identifier.

Response

Examples Schema

The request has been successfully accepted and will be processed asynchronously.

Empty response

Unauthorized. The caller has not been authenticated.

{
  "status": 401,
  "type": "unauthorized"
}

Forbidden. The caller has been authenticated but is not allowed to take the requested action.

{
  "status": 403,
  "type": "forbidden"
}

Not Found. The requested resource could not be found.

{
  "status": 404,
  "type": "not_found"
}

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

{
  "status": 406,
  "type": "not_acceptable"
}

Too Many Requests. The caller has exceeded their quota for the time period and has been throttled.

{
  "status": 429,
  "type": "too_many_requests"
}

Internal Server Error. The service encountered an unexpected error.

{
  "status": 500,
  "type": "internal_server_error"
}

Service Unavailable. The service handling for this request cannot be reached at this time.

{
  "status": 503,
  "type": "method_not_allowed"
}

Gateway Timeout. The service gateway has reached its internal timeout.

{
  "status": 504,
  "type": "gateway_timeout"
}

No schema

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

Change user data

post /users/{user_id}/data_change_requests

Requests a data change for a user specified by ID.

OAuth2 oauth-client-credentials

Required Scopes:

users:admin

All Scopes

  • account_liquidations:admin · Trigger/read/cancel accounts liquidations
  • account_liquidations:read · Read accounts liquidations
  • account_returns:read · Read accounts returns
  • accounts:admin · Create/update/delete accounts and account groups
  • accounts:read · Read accounts and account groups
  • checks:admin · Create checks
  • checks:read · Read checks
  • credit_fundings:read · Credit Fundings read operations
  • fees:admin · Create and read fee operations
  • fees:read · Read fee operations
  • instruments:read · Read instruments
  • mandates:admin · Create/update/delete mandates
  • mandates:read · Read mandates
  • orders:admin · Create/update/delete orders
  • orders:read · Read orders
  • payments:admin · Payins and withdrawal operations
  • payments:read · Payins and withdrawal read operations
  • portfolios:admin · Modify portfolios
  • portfolios:read · Read portfolios
  • positions:read · Read positions
  • reference_accounts:admin · Create/update/delete reference accounts
  • reference_accounts:read · Read reference accounts
  • reports:read · Read reports
  • taxes:admin · Modify tax residencies
  • taxes:read · Read tax residencies
  • topups:admin · Topups operations
  • topups:read · Topups read operations
  • transactions:read · Read cash and securities transactions
  • users:admin · Create/update/delete users
  • users:read · Read users
  • valuations:read · Read valuations
  • webhooks:admin · Create/update/delete webhooks
  • webhooks:read · Read webhooks
Flow Type:
Client Credentials
Token URL:
https://sandbox.upvest.co/auth/token

upvest-client-id

string

uuid

required

Tenant Client ID

Example
"ebabcf4d-61c3-4942-875c-e265a7c2d062"

authorization

string

^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=="

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)

Default
"1"
Enum
  • 1
Example
1

user_id

string

uuid

required

User unique identifier.

User - Data Change - Request

Any Of

User (BYOL) - Data Change Request

object (User (BYOL) - Data Change Request)

first_name

string

First name of the user.

Min Length
2
Max Length
100

last_name

string

Last name of the user.

Min Length
2
Max Length
100

salutation

string

Salutation of the user used in reports and statements.

  • (empty string) -
  • SALUTATION_MALE -
  • SALUTATION_FEMALE -
  • SALUTATION_FEMALE_MARRIED -
  • SALUTATION_DIVERSE -
Default
""
Enum
  • SALUTATION_MALE
  • SALUTATION_FEMALE
  • SALUTATION_FEMALE_MARRIED
  • SALUTATION_DIVERSE

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 -
Default
""
Enum
  • DR
  • PROF
  • PROF_DR
  • DIPL_ING
  • MAGISTER

birth_date

string

date

Birth date of the user in YYYY-MM-DD format. RFC 3339, section 5.6

birth_city

string

Min Length
1
Max Length
85

birth_country

string

^[A-Z]{2}$

Country code. ISO 3166 alpha-2 Codes.

birth_name

string

If applicable, birth name of the user.

Max Length
100

nationalities

array[string]

Nationalities of the user. ISO 3166 alpha-2 Codes.

string

^[A-Z]{2}$

Country code. ISO 3166 alpha-2 Codes.

address

object (address)

Address

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

postal_address

One Of

User postal address. Needs to be specified if different to the residential address, otherwise it is automatically populated.

Address

object (Address)

Address

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

null

null

User (TOL) - Data Change Request

One Of

Name change

object (Name change)

first_name

string

required

First name of the user.

Min Length
2
Max Length
100

last_name

string

required

Last name of the user.

Min Length
2
Max Length
100

issuance_date

string

date

required

Issuance date in YYYY-MM-DD format. RFC 3339, section 5.6

data_download_link

string

url

required

Download link for the document that proofs data change.

Max Length
1000

document_type

string

required

The type of document used to proof data change

  • PASSPORT - Passport
  • ID_CARD - National Identification document
Enum
  • PASSPORT
  • ID_CARD

Other

object (Other)

email

string

email

Email of the user. Must be a valid email address.

Max Length
100

salutation

string

Salutation of the user used in reports and statements.

  • (empty string) -
  • SALUTATION_MALE -
  • SALUTATION_FEMALE -
  • SALUTATION_FEMALE_MARRIED -
  • SALUTATION_DIVERSE -
Default
""
Enum
  • SALUTATION_MALE
  • SALUTATION_FEMALE
  • SALUTATION_FEMALE_MARRIED
  • SALUTATION_DIVERSE

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 -
Default
""
Enum
  • DR
  • PROF
  • PROF_DR
  • DIPL_ING
  • MAGISTER

phone_number

string

^([0-9]{8,15})?$

Phone number of the user. Phone number E.164 format.

birth_name

string

If applicable, birth name of the user.

Max Length
100

postal_address

One Of

User postal address. Needs to be specified if different to the residential address, otherwise it is automatically populated.

Address

object (Address)

Address

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

null

null

Nationality

object (Nationality)

nationalities

array[string]

required

Nationalities of the user. ISO 3166 alpha-2 Codes.

string

^[A-Z]{2}$

Country code. ISO 3166 alpha-2 Codes.

issuance_date

string

date

required

Issuance date in YYYY-MM-DD format. RFC 3339, section 5.6

data_download_link

string

url

required

Download link for the document that proofs data change.

Max Length
1000

document_type

string

required

The type of document used to proof data change

  • PASSPORT - Passport
  • ID_CARD - National Identification document
Enum
  • PASSPORT
  • ID_CARD

Address

object (Address)

address

object (address)

required

Address

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

issuance_date

string

date

required

Issuance date in YYYY-MM-DD format. RFC 3339, section 5.6

data_download_link

string

url

required

Download link for the document that proofs data change.

Max Length
1000

document_type

string

required

The type of document used to proof data change

  • UTILITY_BILL - Utility bill
  • TELEPHONE_BILL - Telephone bill
  • INTERNET_BILL - Internet bill
  • BANK_STATEMENT - Bank statement
  • REGISTRATION_CERT - Registration certificate
  • RESIDENCE_PERMIT - Residence permit
  • ID_CARD - National Identification document
Enum
  • UTILITY_BILL
  • TELEPHONE_BILL
  • INTERNET_BILL
  • BANK_STATEMENT
  • REGISTRATION_CERT
  • RESIDENCE_PERMIT
  • ID_CARD

Request

{
  "data_download_link": "https://bucket.customer.com/ident/user3.zip",
  "document_type": "ID_CARD",
  "first_name": "Karl",
  "issuance_date": "2030-01-01",
  "last_name": "Schmidt"
}
{
  "email": "max@example.com"
}
{
  "data_download_link": "https://bucket.customer.com/ident/user3.zip",
  "document_type": "ID_CARD",
  "issuance_date": "2030-01-01",
  "nationalities": [
    "DE"
  ]
}
{
  "address": {
    "address_line1": "Rosenweg 221",
    "address_line2": "apt. 33",
    "city": "Berlin",
    "country": "DE",
    "postcode": "45678",
    "state": "BE"
  },
  "data_download_link": "https://bucket.customer.com/por/user3.zip",
  "document_type": "UTILITY_BILL",
  "issuance_date": "2020-01-01"
}
{
  "address": {
    "address_line1": "Rosenweg 221",
    "address_line2": "apt. 33",
    "city": "Berlin",
    "country": "DE",
    "postcode": "45678",
    "state": "BE"
  },
  "birth_city": "Berlin",
  "birth_country": "DE",
  "birth_date": "1972-01-30",
  "birth_name": "Schmidt",
  "first_name": "Karl",
  "last_name": "Schmidt",
  "nationalities": [
    "DE",
    "AU"
  ],
  "postal_address": {
    "address_line1": "Rosenweg 221",
    "address_line2": "apt. 33",
    "city": "Berlin",
    "country": "DE",
    "postcode": "45678",
    "state": "BE"
  },
  "salutation": "SALUTATION_MALE",
  "title": "PROF_DR"
}

Response

Examples Schema

The request has been successfully accepted and will be processed asynchronously.

Empty response

Bad Request. The incoming request had a malformed parameter/object.

{
  "status": 400,
  "type": "bad_request"
}

Unauthorized. The caller has not been authenticated.

{
  "status": 401,
  "type": "unauthorized"
}

Forbidden. The caller has been authenticated but is not allowed to take the requested action.

{
  "status": 403,
  "type": "forbidden"
}

Not Found. The requested resource could not be found.

{
  "status": 404,
  "type": "not_found"
}

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

{
  "status": 406,
  "type": "not_acceptable"
}

Too Many Requests. The caller has exceeded their quota for the time period and has been throttled.

{
  "status": 429,
  "type": "too_many_requests"
}

Internal Server Error. The service encountered an unexpected error.

{
  "status": 500,
  "type": "internal_server_error"
}

Service Unavailable. The service handling for this request cannot be reached at this time.

{
  "status": 503,
  "type": "method_not_allowed"
}

Gateway Timeout. The service gateway has reached its internal timeout.

{
  "status": 504,
  "type": "gateway_timeout"
}

No schema

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

Get user account groups

get /users/{user_id}/account_groups

Lists the account groups of a user specified by ID.

OAuth2 oauth-client-credentials

Required Scopes:

accounts:readaccounts:admin

All Scopes

  • account_liquidations:admin · Trigger/read/cancel accounts liquidations
  • account_liquidations:read · Read accounts liquidations
  • account_returns:read · Read accounts returns
  • accounts:admin · Create/update/delete accounts and account groups
  • accounts:read · Read accounts and account groups
  • checks:admin · Create checks
  • checks:read · Read checks
  • credit_fundings:read · Credit Fundings read operations
  • fees:admin · Create and read fee operations
  • fees:read · Read fee operations
  • instruments:read · Read instruments
  • mandates:admin · Create/update/delete mandates
  • mandates:read · Read mandates
  • orders:admin · Create/update/delete orders
  • orders:read · Read orders
  • payments:admin · Payins and withdrawal operations
  • payments:read · Payins and withdrawal read operations
  • portfolios:admin · Modify portfolios
  • portfolios:read · Read portfolios
  • positions:read · Read positions
  • reference_accounts:admin · Create/update/delete reference accounts
  • reference_accounts:read · Read reference accounts
  • reports:read · Read reports
  • taxes:admin · Modify tax residencies
  • taxes:read · Read tax residencies
  • topups:admin · Topups operations
  • topups:read · Topups read operations
  • transactions:read · Read cash and securities transactions
  • users:admin · Create/update/delete users
  • users:read · Read users
  • valuations:read · Read valuations
  • webhooks:admin · Create/update/delete webhooks
  • webhooks:read · Read webhooks
Flow Type:
Client Credentials
Token URL:
https://sandbox.upvest.co/auth/token

upvest-client-id

string

uuid

required

Tenant Client ID

Example
"ebabcf4d-61c3-4942-875c-e265a7c2d062"

authorization

string

^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=="

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)

Default
"1"
Enum
  • 1
Example
1

user_id

string

uuid

required

User unique identifier.

sort

string

Sort the result by created_at.

Default
"created_at"
Enum
  • created_at

order

string

Sort order of the result list if the sort parameter is specified. By default, only ASC for ascending sort.

Default
"ASC"
Enum
  • ASC

offset

int

i32

Use the offset argument to specify where in the list of results to start when returning items for a particular query.

Min
0

limit

int

i32

Use the limit argument to specify the maximum number of items returned.

Default
100
Min
0
Max
1000

Response

Examples Schema

OK

{
  "data": [
    {
      "created_at": "2020-08-24T14:15:22Z",
      "id": "9d95820d-4333-46b6-98de-04ab7512e76f",
      "securities_account_number": "123456789",
      "status": "ACTIVE",
      "type": "PERSONAL",
      "updated_at": "2020-08-24T14:15:22Z",
      "users": [
        {
          "id": "9c36af78-91a0-4174-a515-fc81214e3dab",
          "type": "OWNER"
        }
      ]
    }
  ],
  "meta": {
    "count": 1,
    "limit": 100,
    "offset": 0,
    "order": "ASC",
    "sort": "id",
    "total_count": 1
  }
}

Bad Request. The incoming request had a malformed parameter/object.

{
  "status": 400,
  "type": "bad_request"
}

Unauthorized. The caller has not been authenticated.

{
  "status": 401,
  "type": "unauthorized"
}

Forbidden. The caller has been authenticated but is not allowed to take the requested action.

{
  "status": 403,
  "type": "forbidden"
}

Not Found. The requested resource could not be found.

{
  "status": 404,
  "type": "not_found"
}

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

{
  "status": 406,
  "type": "not_acceptable"
}

Too Many Requests. The caller has exceeded their quota for the time period and has been throttled.

{
  "status": 429,
  "type": "too_many_requests"
}

Internal Server Error. The service encountered an unexpected error.

{
  "status": 500,
  "type": "internal_server_error"
}

Service Unavailable. The service handling for this request cannot be reached at this time.

{
  "status": 503,
  "type": "method_not_allowed"
}

Gateway Timeout. The service gateway has reached its internal timeout.

{
  "status": 504,
  "type": "gateway_timeout"
}

meta

object (meta)

required

offset

int

required

Amount of resource to offset in the response.

limit

int

required

Total limit of the response.

count

int

required

Count of the resources returned in the response.

total_count

int

required

Total count of all the resources.

sort

string

The field that the list is sorted by.

order

string

The ordering of the response.

  • ASC - Ascending order
  • DESC - Descending order
Enum
  • ASC
  • DESC

data

array[object (Account Group)]

required

Account Group

object (Account Group)

id

string

uuid

required

Account group unique identifier.

created_at

string

date-time

required

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

updated_at

string

date-time

required

Date and time when the resource was last updated. RFC 3339-5, ISO8601 UTC

users

array[object]

required

object

id

string

uuid

User unique identifier.

type

string

Relation type

  • OWNER -
Default
"OWNER"
Enum
  • OWNER

status

string

required

Status of the account group

  • PENDING_APPROVAL - Account group approval is pending - the account group is visible through our API but cannot be acted on.
  • ACTIVE - Account group is active - full functionality of the Investment API is accessible.
  • CLOSING - Account group is closing.
  • CLOSED - Account group is closed.
  • LOCKED - Account group is locked for all actions.
Enum
  • PENDING_APPROVAL
  • ACTIVE
  • CLOSING
  • CLOSED
  • LOCKED

type

string

required

Account group type.

  • PERSONAL - Account group of a person holding assets on their own behalf.
  • LEGAL_ENTITY - Account group of a legal entity holding assets on behalf of their users.
Enum
  • PERSONAL
  • LEGAL_ENTITY

securities_account_number

string

^[0-9]{9}$

required

Securities account number

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

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