Skip to main content
PUT
Correct an individual investor

Authorizations

Authorization
string
header
required

OAuth 2.0 client credentials. Exchange the client id and secret Securitize issued you for a bearer token at the token URL (the host root, not under the base URL), with grant_type=client_credentials; the token lasts 2 hours and goes in the Authorization: Bearer header of every request. No scope is needed. The token identifies your partner account, so you never send a partner id, and every record you create is scoped to you.

Path Parameters

investorId
string
required

The investorId Securitize returned when you created the investor. Not your externalInvestorId.

Identifier assigned by Securitize, opaque and specific to your partner account. Store it as an opaque string.

Minimum string length: 1
Example:

"6aca84e5dc49fe8369dd1da4"

Body

application/json

The person being onboarded. The same body creates the investor and, on PUT, replaces it in full: an optional field you omit on PUT is cleared.

externalInvestorId
string
required

Your own id for this person, unique within your partner account. Fixed at create: on PUT send the same value.

Pattern: ^[A-Za-z0-9._-]{1,128}$
Example:

"ent-test-0001"

investorType
enum<string>
required

Always individual on this route.

Available options:
individual
email
string<email>
required

The person's email. ASCII local part only; stored in lower case. Unique across Securitize: an address that belongs to another investor answers 409 email_conflict. Fixed at create: on PUT send the same value.

firstName
string
required

First name. This is what sanctions and PEP screening run against.

Required string length: 1 - 128
lastName
string
required

Last name.

Required string length: 1 - 128
dateOfBirth
string<date>
required

Date of birth, YYYY-MM-DD, not later than today (UTC); a later date answers 400 validation_error. Returned as a timestamp.

Example:

"2015-06-30"

birthCountry
string
required

Country of birth.

Pattern: ^[A-Za-z]{2}$
Example:

"US"

taxId
string
required

Tax identifier. With taxCountry it identifies the person. Stored trimmed and upper-cased. Placeholder values (000000000, 123456789, TEST, N/A, one repeated character, fewer than 4 characters) are refused with 400 validation_error, with or without separators (spaces, dots, dashes, slashes). For a US person (US address and taxCountry US) it is the Social Security number, and verification checks that it matches the name and residential address; a mismatch can send the investor to manual-review. Sandbox does not run that check.

Required string length: 1 - 50
Example:

"123-45-6780"

taxCountry
string
required

Country that issued the tax identifier.

Pattern: ^[A-Za-z]{2}$
Example:

"US"

phone
object
required

The person's phone.

address
object
required

Residential address. Its country, with taxCountry, feeds the risk level.

middleName
string

Middle name.

Maximum string length: 128
gender
enum<string>

Gender.

Available options:
male,
female

Response

Corrected. details is what is now stored; omitted optional fields are absent.

The individual investor as stored, returned by create (201) and correction.

investorId
string
required

Securitize's id for this investor. Every path that names an investor takes it.

Minimum string length: 1
Example:

"6aca84e5dc49fe8369dd1da4"

externalInvestorId
string
required

Your own id, as sent at create.

Pattern: ^[A-Za-z0-9._-]{1,128}$
Example:

"ent-test-0001"

email
string<email>
required

The email sent at create, in lower case.

status
enum<string>
required

The investor's verification state.

  • none — created, nothing under review. An investor stays here until you submit it.
  • processing — under review.
  • verified — verified.
  • manual-review — a Securitize operator is reviewing it. Not a rejection.
  • updates-required — Securitize needs updated information; contact Securitize support.
  • expired — the verification lapsed; contact Securitize support.
  • rejected — final.

When status becomes verified — at submit, or after Securitize's screening and compliance review — depends on your agreement with Securitize. Treat any value you do not recognise as "not verified" rather than failing.

Available options:
none,
processing,
verified,
manual-review,
updates-required,
expired,
rejected
riskLevel
enum<string>
required

Risk level computed by Securitize from the investor's countries.

Available options:
none,
low,
medium,
high
createdAt
string<date-time>
required

When the investor was created.

details
object
required

The person data Securitize holds for an individual investor — what was stored, not what was sent, so a field a PUT cleared is absent.