Skip to main content

API Reference

Spiko Distributor API (v0)

Download OpenAPI specification:Download

Client credentials

createClientCredentials

Responses

Response samples

Content type
application/json
{
  • "clientId": "string",
  • "clientSecret": "string"
}

listClientCredentials

Responses

Response samples

Content type
application/json
[
  • {
    }
]

deleteClientCredentials

path Parameters
clientId
required
string^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

a Universally Unique Identifier

Responses

Response samples

Content type
application/json
null

Distributors

Get distributor info

get info about current distributor (associated to the used client credentials / cookie session)

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "email": "string"
}

Bank accounts

Add bank account

Add a bank account linked to an investor for a currency and return the whole bank account info

Request Body schema: application/json
required
One of
currency
required
string
Value: "EUR"
investorId
required
string^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

a Universally Unique Identifier

accountNumber
required
A valid IBAN (International Bank Account Number)

A valid IBAN

bic
required
A valid BIC (Bank Identifier Code)

A valid BIC

Responses

Request samples

Content type
application/json
{
  • "currency": "USD",
  • "investorId": "string",
  • "accountNumber": { },
  • "bic": null
}

Response samples

Content type
application/json
{
  • "status": "validated",
  • "id": "string",
  • "investorId": "string",
  • "details": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "proofInvestorDocumentId": "string"
}

Get bank accounts of an investor for the requested currency

Get list of bank account's infos of an investor (IBAN / BIC) for the requested currency

query Parameters
investorId
required
string^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

a Universally Unique Identifier

currency
required
string
Enum: "EUR" "USD" "GBP" "CHF" "JPY" "SGD" "___"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get bank account

Get info of a bank account (currency / IBAN / BIC)

path Parameters
bankAccountId
required
string^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

a Universally Unique Identifier

Responses

Response samples

Content type
application/json
{
  • "status": "archived",
  • "id": "string",
  • "investorId": "string",
  • "details": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "proofInvestorDocumentId": "string"
}

Archive bank account

Archive a bank account and return the whole bank account info

path Parameters
bankAccountId
required
string^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

a Universally Unique Identifier

Responses

Response samples

Content type
application/json
{
  • "status": "archived",
  • "id": "string",
  • "investorId": "string",
  • "details": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "proofInvestorDocumentId": "string"
}

Investors

Get investor info

Get info about the investor including their compliance status

path Parameters
id
required
string^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

a Universally Unique Identifier

Responses

Response samples

Content type
application/json
{
  • "status": "compliant",
  • "firstName": "string",
  • "lastName": "string",
  • "city": "string",
  • "zipCode": "string",
  • "address": "string",
  • "id": "string",
  • "distributorId": "string",
  • "details": {
    },
  • "country": "AF",
  • "createdOn": "2019-08-24T14:15:22Z",
  • "updatedOn": "2019-08-24T14:15:22Z"
}

Update investor

Update info / compliance status of an investor and return the whole investor info

path Parameters
id
required
string^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

a Universally Unique Identifier

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

a non empty string

zipCode
string non-empty

a non empty string

address
string non-empty

a non empty string

object or object

Responses

Request samples

Content type
application/json
{
  • "complianceChange": {
    },
  • "country": "AF",
  • "city": "string",
  • "zipCode": "string",
  • "address": "string",
  • "details": {
    }
}

Response samples

Content type
application/json
{
  • "status": "compliant",
  • "firstName": "string",
  • "lastName": "string",
  • "city": "string",
  • "zipCode": "string",
  • "address": "string",
  • "id": "string",
  • "distributorId": "string",
  • "details": {
    },
  • "country": "AF",
  • "createdOn": "2019-08-24T14:15:22Z",
  • "updatedOn": "2019-08-24T14:15:22Z"
}

Get all investors' infos

Get infos about all the investors including their compliance status

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create investor

Create a new investor and return the whole investor info

Request Body schema: application/json
required
firstName
required
string non-empty

a non empty string

lastName
required
string non-empty

a non empty string

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

a non empty string

zipCode
required
string non-empty

a non empty string

address
required
string non-empty

a non empty string

dateOfBirth
required
string <date-time>

a valid Date

placeOfBirth
required
string non-empty

a non empty string

Responses

Request samples

Content type
application/json
{
  • "firstName": "string",
  • "lastName": "string",
  • "details": {
    },
  • "country": "AF",
  • "city": "string",
  • "zipCode": "string",
  • "address": "string",
  • "dateOfBirth": "2019-08-24T14:15:22Z",
  • "placeOfBirth": "string"
}

Response samples

Content type
application/json
{
  • "status": "compliant",
  • "firstName": "string",
  • "lastName": "string",
  • "city": "string",
  • "zipCode": "string",
  • "address": "string",
  • "id": "string",
  • "distributorId": "string",
  • "details": {
    },
  • "country": "AF",
  • "createdOn": "2019-08-24T14:15:22Z",
  • "updatedOn": "2019-08-24T14:15:22Z"
}

Ethereum accounts

Get Ethereum account

Get associated investor and whitelisted chains of an Ethereum address

path Parameters
address
required
EthereumAddress

A valid Ethereum address

Responses

Response samples

Content type
application/json
{
  • "_tag": "Some",
  • "value": {
    }
}

Get Ethereum accounts

Get wallet addresses of an investor and the chains where they have been whitelisted

query Parameters
investorId
required
string^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

a Universally Unique Identifier

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Set Ethereum account

Whitelists an address for an investor on the required chains

Request Body schema: application/json
required
investorId
required
string^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

a Universally Unique Identifier

address
required
EthereumAddress

A valid Ethereum address

chainIds
required
Array of numbers non-empty
Items Enum: 1 11155111 137 80002 84532

Responses

Request samples

Content type
application/json
{
  • "investorId": "string",
  • "address": null,
  • "chainIds": [
    ]
}

Response samples

Content type
application/json
{
  • "investorId": "string",
  • "address": null,
  • "whitelistedChainIds": [
    ]
}

Portfolios

Get portfolio

Get portfolio composition of an investor including the current value of their assets

path Parameters
investorId
required
string^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

a Universally Unique Identifier

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "totalGainSinceStart": [
    ]
}

Subscription orders

Create subscription order

Create a new subscription order for an investor and return the whole order info

Request Body schema: application/json
required
One of
investorId
required
string^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

a Universally Unique Identifier

required
object (NonNegativeAmount)
shareClassId
required
string^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

a Universally Unique Identifier

investorAddress
required
EthereumAddress

A valid Ethereum address

chainId
required
number
Enum: 1 11155111 137 80002 84532

Responses

Request samples

Content type
application/json
{
  • "investorId": "string",
  • "amount": {
    },
  • "shareClassId": "string"
}

Response samples

Content type
application/json
{
  • "status": "pending-wire",
  • "id": "string",
  • "investorAddress": null,
  • "investorId": "string",
  • "amount": {
    },
  • "shareClassId": "string",
  • "wireReference": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "chainId": 1,
  • "wireDestinationIBAN": null,
  • "wireDestinationBIC": null
}

Get subscription orders

Get paginated list of an investor's subscription orders ordered by latest creation date

query Parameters
investorId
required
string^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

a Universally Unique Identifier

shareClassId
string^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

a Universally Unique Identifier

page
integer > 0

a positive number

limit
integer > 0

a positive number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get subscription order

Get info of a subscription order including its execution status

path Parameters
subscriptionOrderId
required
string^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

a Universally Unique Identifier

Responses

Response samples

Content type
application/json
{
  • "status": "executed",
  • "id": "string",
  • "investorAddress": null,
  • "investorId": "string",
  • "amount": {
    },
  • "shareClassId": "string",
  • "wireReference": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "chainId": 1,
  • "applicableNAV": {
    },
  • "sharesAmount": "string",
  • "wireReceivedOn": "2019-08-24T14:15:22Z",
  • "wireValidatedAt": "2019-08-24T14:15:22Z",
  • "wireValidatedBy": "string",
  • "blockchainTransactionHash": "stringstringstringstringstringstringstringstringstringstringstring",
  • "confirmedAt": "2019-08-24T14:15:22Z"
}

Redemption orders

Create redemption order

Create a new redemption order for an investor and return the whole order info

Request Body schema: application/json
required
investorId
required
string^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

a Universally Unique Identifier

bankAccountId
required
string^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

a Universally Unique Identifier

sharesAmount
required
string

a string

shareClassId
required
string^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

a Universally Unique Identifier

Responses

Request samples

Content type
application/json
{
  • "investorId": "string",
  • "bankAccountId": "string",
  • "sharesAmount": "string",
  • "shareClassId": "string"
}

Response samples

Content type
application/json
{
  • "status": "canceled",
  • "id": "string",
  • "blockchainId": "stringstringstringstringstringstringstringstringstringstringstring",
  • "investorAddress": null,
  • "outputTokenAddress": null,
  • "sharesAmount": "string",
  • "shareClassId": "string",
  • "chainId": 1,
  • "salt": "stringstringstringstringstringstringstringstringstringstringstring",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "investorId": "string"
}

Get redemption orders

Get paginated list of an investor's redemption orders ordered by latest creation date

query Parameters
investorId
required
string^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

a Universally Unique Identifier

shareClassId
string^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

a Universally Unique Identifier

page
integer > 0

a positive number

limit
integer > 0

a positive number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get redemption order

Get info of a redemption order including its execution status

path Parameters
redemptionOrderId
required
string^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

a Universally Unique Identifier

Responses

Response samples

Content type
application/json
{
  • "status": "canceled",
  • "id": "string",
  • "blockchainId": "stringstringstringstringstringstringstringstringstringstringstring",
  • "investorAddress": null,
  • "outputTokenAddress": null,
  • "sharesAmount": "string",
  • "shareClassId": "string",
  • "chainId": 1,
  • "salt": "stringstringstringstringstringstringstringstringstringstringstring",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "investorId": "string"
}