Spiko Redemption Orders (deprecated) API
The Redemption Orders (deprecated) API from Spiko — 3 operation(s) for redemption orders (deprecated).
The Redemption Orders (deprecated) API from Spiko — 3 operation(s) for redemption orders (deprecated).
openapi: 3.1.0
info:
title: Spiko Distributor Account transactions Redemption Orders (deprecated) API
version: v0
description: The Distributor API allows third parties like SaaS providers, fintechs or Web3 companies to distribute the Spiko Funds to their customers. With this API, you can programmatically manage investors, send subscription and redemption orders, and access real-time portfolio information.
servers:
- url: https://distributor-api.spiko.io
description: Production Server
- url: https://distributor-api.preprod.spiko.io
description: Pre-production Server
security: []
tags:
- name: Redemption Orders (deprecated)
paths:
/redemption-orders/:
post:
tags:
- Redemption Orders (deprecated)
operationId: redemptionOrders.createRedemptionOrder
parameters: []
security:
- basicAuth: []
- oauth2: []
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
required:
- id
- investorId
- accountId
- shareClassId
- sharesAmount
- amount
- amountInShareClassCurrency
- destination
- createdAt
- executedAt
- status
- shareClassAccountId
- custodialAccountId
properties:
id:
type: string
description: a Universally Unique Identifier
format: uuid
investorId:
type: string
description: a Universally Unique Identifier
format: uuid
accountId:
type: string
description: a Universally Unique Identifier
format: uuid
shareClassId:
type: string
description: a Universally Unique Identifier
format: uuid
sharesAmount:
anyOf:
- $ref: '#/components/schemas/BigDecimal'
- type: 'null'
amount:
anyOf:
- $ref: '#/components/schemas/Amount'
- type: 'null'
amountInShareClassCurrency:
anyOf:
- $ref: '#/components/schemas/Amount'
- type: 'null'
destination:
anyOf:
- type: object
required:
- type
- bankAccountId
properties:
type:
type: string
enum:
- bank-transfer
bankAccountId:
anyOf:
- type: string
description: a Universally Unique Identifier
format: uuid
- type: 'null'
additionalProperties: false
- type: object
required:
- type
- shareClassId
properties:
type:
type: string
enum:
- fund-swap
shareClassId:
type: string
description: a Universally Unique Identifier
format: uuid
additionalProperties: false
- type: object
required:
- type
- iban
- bic
- reference
properties:
type:
type: string
enum:
- loan-repayment
iban:
title: IBAN
type: string
description: a valid IBAN (International Bank Account Number)
bic:
title: BIC
type: string
description: A valid BIC (Bank Identifier Code)
reference:
type: string
additionalProperties: false
- type: object
required:
- type
properties:
type:
type: string
enum:
- collection-returned
additionalProperties: false
- type: object
required:
- type
- walletId
properties:
type:
type: string
enum:
- stablecoin-transfer
walletId:
type: string
description: a Universally Unique Identifier
format: uuid
additionalProperties: false
createdAt:
$ref: '#/components/schemas/Date'
executedAt:
anyOf:
- $ref: '#/components/schemas/Date'
- type: 'null'
status:
type: string
enum:
- pending
- executed
- canceled
shareClassAccountId:
type: string
title: UUID
description: please now use pair `{accountId, shareClassId}` instead
deprecated: true
custodialAccountId:
type: string
title: UUID
description: please now use pair `{accountId, shareClassId}` instead
deprecated: true
additionalProperties: false
'400':
description: The request did not match the expected schema
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/HttpApiDecodeError'
- $ref: '#/components/schemas/BadRequest'
- $ref: '#/components/schemas/InsufficientBalanceError'
'401':
description: Unauthorized
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/Unauthorized'
- $ref: '#/components/schemas/InvestorAuthenticationError'
'403':
description: Forbidden
description: '**Deprecated - use withdrawal endpoints instead.** Create a new redemption order for an investor and return the order info.'
summary: Create a new redemption order
deprecated: true
requestBody:
content:
application/json:
schema:
type: object
required:
- accountId
- shareClassId
- amount
- bankAccountId
properties:
accountId:
type: string
description: a Universally Unique Identifier
format: uuid
shareClassId:
type: string
description: a Universally Unique Identifier
format: uuid
amount:
$ref: '#/components/schemas/NonNegativeAmount'
bankAccountId:
type: string
description: a Universally Unique Identifier
format: uuid
additionalProperties: false
required: true
get:
tags:
- Redemption Orders (deprecated)
operationId: redemptionOrders.getRedemptionOrders
parameters:
- name: investorId
in: query
schema:
type: string
description: a Universally Unique Identifier
format: uuid
required: true
description: a Universally Unique Identifier
- name: status
in: query
schema:
type: string
enum:
- pending
- executed
- canceled
required: false
security:
- basicAuth: []
- oauth2: []
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
type: object
required:
- id
- investorId
- accountId
- shareClassId
- sharesAmount
- amount
- amountInShareClassCurrency
- destination
- createdAt
- executedAt
- status
- shareClassAccountId
- custodialAccountId
properties:
id:
type: string
description: a Universally Unique Identifier
format: uuid
investorId:
type: string
description: a Universally Unique Identifier
format: uuid
accountId:
type: string
description: a Universally Unique Identifier
format: uuid
shareClassId:
type: string
description: a Universally Unique Identifier
format: uuid
sharesAmount:
anyOf:
- $ref: '#/components/schemas/BigDecimal'
- type: 'null'
amount:
anyOf:
- $ref: '#/components/schemas/Amount'
- type: 'null'
amountInShareClassCurrency:
anyOf:
- $ref: '#/components/schemas/Amount'
- type: 'null'
destination:
anyOf:
- type: object
required:
- type
- bankAccountId
properties:
type:
type: string
enum:
- bank-transfer
bankAccountId:
anyOf:
- type: string
description: a Universally Unique Identifier
format: uuid
- type: 'null'
additionalProperties: false
- type: object
required:
- type
- shareClassId
properties:
type:
type: string
enum:
- fund-swap
shareClassId:
type: string
description: a Universally Unique Identifier
format: uuid
additionalProperties: false
- type: object
required:
- type
- iban
- bic
- reference
properties:
type:
type: string
enum:
- loan-repayment
iban:
title: IBAN
type: string
description: a valid IBAN (International Bank Account Number)
bic:
title: BIC
type: string
description: A valid BIC (Bank Identifier Code)
reference:
type: string
additionalProperties: false
- type: object
required:
- type
properties:
type:
type: string
enum:
- collection-returned
additionalProperties: false
- type: object
required:
- type
- walletId
properties:
type:
type: string
enum:
- stablecoin-transfer
walletId:
type: string
description: a Universally Unique Identifier
format: uuid
additionalProperties: false
createdAt:
$ref: '#/components/schemas/Date'
executedAt:
anyOf:
- $ref: '#/components/schemas/Date'
- type: 'null'
status:
type: string
enum:
- pending
- executed
- canceled
shareClassAccountId:
type: string
title: UUID
description: please now use pair `{accountId, shareClassId}` instead
deprecated: true
custodialAccountId:
type: string
title: UUID
description: please now use pair `{accountId, shareClassId}` instead
deprecated: true
additionalProperties: false
'400':
description: The request did not match the expected schema
content:
application/json:
schema:
$ref: '#/components/schemas/HttpApiDecodeError'
'401':
description: Unauthorized
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/Unauthorized'
- $ref: '#/components/schemas/InvestorAuthenticationError'
'403':
description: Forbidden
'404':
description: NotFound
description: '
**Deprecated - use withdrawal endpoints instead.** Get all redemption orders for a given investor with optional status filter.
> ⚠️ **For displaying an account''s activity, prefer the [account transaction history endpoint](#tag/Account-Transactions/operation/accountTransactions.getAccountTransactions).** It returns deposits, withdrawals, transfers and yield accruals as a single time-ordered stream, with cursor pagination, so you don''t need to call multiple per-order-type endpoints and reconcile their results.
'
summary: Get list of an investor's redemption orders
deprecated: true
/redemption-orders/instant:
post:
tags:
- Redemption Orders (deprecated)
operationId: redemptionOrders.createInstantRedemptionOrder
parameters: []
security:
- basicAuth: []
- oauth2: []
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
required:
- id
- investorId
- accountId
- shareClassId
- amount
- createdAt
- destination
- status
properties:
id:
type: string
investorId:
type: string
description: a Universally Unique Identifier
format: uuid
accountId:
type: string
description: a Universally Unique Identifier
format: uuid
shareClassId:
type: string
description: a Universally Unique Identifier
format: uuid
amount:
$ref: '#/components/schemas/NonNegativeAmount'
createdAt:
$ref: '#/components/schemas/Date'
destination:
type: object
required:
- type
- bankAccountId
properties:
type:
type: string
enum:
- bank-transfer
bankAccountId:
type: string
description: a Universally Unique Identifier
format: uuid
additionalProperties: false
status:
type: string
enum:
- created
- executed
additionalProperties: false
'400':
description: The request did not match the expected schema
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/HttpApiDecodeError'
- $ref: '#/components/schemas/BadRequest'
- $ref: '#/components/schemas/InsufficientBalanceError'
'401':
description: Unauthorized
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/Unauthorized'
- $ref: '#/components/schemas/InvestorAuthenticationError'
'403':
description: Forbidden
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceUnavailableError'
description: '**Deprecated - use withdrawal endpoints instead.** Create an instant redemption order for an investor. Only available for organization investors who have accepted terms of use.'
summary: Create a new instant redemption order
deprecated: true
requestBody:
content:
application/json:
schema:
type: object
required:
- accountId
- shareClassId
- amount
- bankAccountId
properties:
accountId:
type: string
description: a Universally Unique Identifier
format: uuid
shareClassId:
type: string
description: a Universally Unique Identifier
format: uuid
amount:
$ref: '#/components/schemas/NonNegativeAmount'
bankAccountId:
type: string
description: a Universally Unique Identifier
format: uuid
additionalProperties: false
required: true
/redemption-orders/{redemptionOrderId}:
get:
tags:
- Redemption Orders (deprecated)
operationId: redemptionOrders.getRedemptionOrder
parameters:
- name: redemptionOrderId
in: path
schema:
type: string
description: a Universally Unique Identifier
format: uuid
required: true
description: a Universally Unique Identifier
security:
- basicAuth: []
- oauth2: []
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
required:
- id
- investorId
- accountId
- shareClassId
- sharesAmount
- amount
- amountInShareClassCurrency
- destination
- createdAt
- executedAt
- status
- shareClassAccountId
- custodialAccountId
properties:
id:
type: string
description: a Universally Unique Identifier
format: uuid
investorId:
type: string
description: a Universally Unique Identifier
format: uuid
accountId:
type: string
description: a Universally Unique Identifier
format: uuid
shareClassId:
type: string
description: a Universally Unique Identifier
format: uuid
sharesAmount:
anyOf:
- $ref: '#/components/schemas/BigDecimal'
- type: 'null'
amount:
anyOf:
- $ref: '#/components/schemas/Amount'
- type: 'null'
amountInShareClassCurrency:
anyOf:
- $ref: '#/components/schemas/Amount'
- type: 'null'
destination:
anyOf:
- type: object
required:
- type
- bankAccountId
properties:
type:
type: string
enum:
- bank-transfer
bankAccountId:
anyOf:
- type: string
description: a Universally Unique Identifier
format: uuid
- type: 'null'
additionalProperties: false
- type: object
required:
- type
- shareClassId
properties:
type:
type: string
enum:
- fund-swap
shareClassId:
type: string
description: a Universally Unique Identifier
format: uuid
additionalProperties: false
- type: object
required:
- type
- iban
- bic
- reference
properties:
type:
type: string
enum:
- loan-repayment
iban:
title: IBAN
type: string
description: a valid IBAN (International Bank Account Number)
bic:
title: BIC
type: string
description: A valid BIC (Bank Identifier Code)
reference:
type: string
additionalProperties: false
- type: object
required:
- type
properties:
type:
type: string
enum:
- collection-returned
additionalProperties: false
- type: object
required:
- type
- walletId
properties:
type:
type: string
enum:
- stablecoin-transfer
walletId:
type: string
description: a Universally Unique Identifier
format: uuid
additionalProperties: false
createdAt:
$ref: '#/components/schemas/Date'
executedAt:
anyOf:
- $ref: '#/components/schemas/Date'
- type: 'null'
status:
type: string
enum:
- pending
- executed
- canceled
shareClassAccountId:
type: string
title: UUID
description: please now use pair `{accountId, shareClassId}` instead
deprecated: true
custodialAccountId:
type: string
title: UUID
description: please now use pair `{accountId, shareClassId}` instead
deprecated: true
additionalProperties: false
'400':
description: The request did not match the expected schema
content:
application/json:
schema:
$ref: '#/components/schemas/HttpApiDecodeError'
'401':
description: Unauthorized
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/Unauthorized'
- $ref: '#/components/schemas/InvestorAuthenticationError'
'403':
description: Forbidden
'404':
description: NotFound
description: '**Deprecated - use withdrawal endpoints instead.** Get info of a specific redemption order by its ID'
summary: Get redemption order
deprecated: true
components:
schemas:
Amount:
type: object
required:
- value
- currency
properties:
value:
type: string
title: decimal number as a string
description: a string representation of a decimal number e.g. "10000", "0.00" or "-7432092.04"
currency:
type: string
enum:
- EUR
- USD
- GBP
- CHF
- JPY
- SGD
title: Currency code
identifier: CurrencyCode
description: a currency code among "EUR", "USD", "GBP", "CHF", "JPY", "SGD"
additionalProperties: false
InvestorAuthenticationError:
type: object
required:
- reason
- _tag
properties:
reason:
type: string
_tag:
type: string
enum:
- InvestorAuthenticationError
additionalProperties: false
description: Authentication Error
BadRequest:
$id: /schemas/void
title: BadRequest
HttpApiDecodeError:
type: object
required:
- issues
- message
- _tag
properties:
issues:
type: array
items:
$ref: '#/components/schemas/Issue'
message:
type: string
_tag:
type: string
enum:
- HttpApiDecodeError
additionalProperties: false
description: The request did not match the expected schema
Issue:
type: object
required:
- _tag
- path
- message
properties:
_tag:
type: string
enum:
- Pointer
- Unexpected
- Missing
- Composite
- Refinement
- Transformation
- Type
- Forbidden
description: The tag identifying the type of parse issue
path:
type: array
items:
$ref: '#/components/schemas/PropertyKey'
description: The path to the property where the issue occurred
message:
type: string
description: A descriptive message explaining the issue
additionalProperties: false
description: Represents an error encountered while parsing a value to match the schema
Unauthorized:
$id: /schemas/void
title: Unauthorized
ServiceUnavailableError:
type: object
required:
- reason
- _tag
properties:
reason:
type: string
_tag:
type: string
enum:
- ServiceUnavailableError
additionalProperties: false
description: Service Unavailable
InsufficientBalanceError:
type: object
required:
- payload
- _tag
properties:
payload:
anyOf:
- type: object
required:
- type
properties:
type:
type: string
enum:
- empty-account
additionalProperties: false
- type: object
required:
- type
- requested
- available
properties:
type:
type: string
enum:
- shares
requested:
$ref: '#/components/schemas/BigDecimal'
available:
$ref: '#/components/schemas/BigDecimal'
additionalProperties: false
- type: object
required:
- type
- requested
- available
properties:
type:
type: string
enum:
- amount
requested:
$ref: '#/components/schemas/NonNegativeAmount'
available:
$ref: '#/components/schemas/NonNegativeAmount'
additionalProperties: false
_tag:
type: string
enum:
- InsufficientBalanceError
additionalProperties: false
description: Insufficient balance in account to process requested operation
NonNegativeAmount:
type: object
required:
- value
- currency
properties:
value:
type: string
title: non-negative decimal number as a string
description: a string representation of a non-negative decimal number e.g. "10000", "0.00" or "3420.92"
currency:
type: string
enum:
- EUR
- USD
- GBP
- CHF
- JPY
- SGD
title: Currency code
identifier: CurrencyCode
description: a currency code among "EUR", "USD", "GBP", "CHF", "JPY", "SGD"
additionalProperties: false
title: Non-Negative Amount
BigDecimal:
type: string
description: a string to be decoded into a BigDecimal
Date:
type: string
description: a string to be decoded into a Date
PropertyKey:
anyOf:
- type: string
- type: number
- type: object
required:
- _tag
- key
properties:
_tag:
type: string
enum:
- symbol
key:
type: string
additionalProperties: false
description: an object to be decoded into a globally shared symbol
securitySchemes:
basicAuth:
type: http
scheme: basic
description: Use your API client_id as username and client_secret as password.