Spiko Subscription Orders (deprecated) API
The Subscription Orders (deprecated) API from Spiko — 3 operation(s) for subscription orders (deprecated).
The Subscription Orders (deprecated) API from Spiko — 3 operation(s) for subscription orders (deprecated).
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/spiko-subscription-orders-deprecated-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Spiko Investor Subscription Orders (deprecated) API
version: v1
description: The Investor API allows investors to manage their accounts, view their portfolios, and perform transactions such as subscriptions and redemptions.
servers:
- url: https://investor-api.spiko.io/v1
description: Production Server
- url: https://investor-api.preprod.spiko.io/v1
description: Pre-production Server
security: []
tags:
- name: Subscription Orders (deprecated)
paths:
/subscription-orders/:
post:
tags:
- Subscription Orders (deprecated)
operationId: subscriptionOrders.createSubscriptionOrder
parameters: []
security:
- basicAuth: []
- oauth2: []
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
required:
- id
- investorId
- amount
- amountInShareClassCurrency
- sharesAmount
- accountId
- shareClassId
- wireReference
- createdAt
- executedAt
- canceledAt
- status
- shareClassAccountId
- custodialAccountId
properties:
id:
type: string
description: a Universally Unique Identifier
format: uuid
investorId:
type: string
description: a Universally Unique Identifier
format: uuid
amount:
$ref: '#/components/schemas/Amount'
amountInShareClassCurrency:
$ref: '#/components/schemas/Amount'
sharesAmount:
anyOf:
- $ref: '#/components/schemas/BigDecimal'
- type: 'null'
accountId:
type: string
description: a Universally Unique Identifier
format: uuid
shareClassId:
type: string
description: a Universally Unique Identifier
format: uuid
wireReference:
anyOf:
- type: string
description: a wire reference
title: WireReference
pattern: ^[0-9A-Z]{5,15}$
- type: 'null'
createdAt:
$ref: '#/components/schemas/Date'
executedAt:
anyOf:
- $ref: '#/components/schemas/Date'
- type: 'null'
canceledAt:
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/ApplicationError'
- $ref: '#/components/schemas/SubscriptionNotAllowedError'
'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 deposit endpoints instead.** Create a new subscription order and return the order info. This subscription shall be paid via bank transfer.'
summary: Create a new subscription order
deprecated: true
requestBody:
content:
application/json:
schema:
type: object
required:
- amount
- shareClassId
- accountId
properties:
amount:
$ref: '#/components/schemas/NonNegativeAmount'
shareClassId:
type: string
description: a Universally Unique Identifier
format: uuid
accountId:
type: string
description: a Universally Unique Identifier
format: uuid
additionalProperties: false
required: true
get:
tags:
- Subscription Orders (deprecated)
operationId: subscriptionOrders.getSubscriptionOrders
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
- amount
- amountInShareClassCurrency
- sharesAmount
- accountId
- shareClassId
- wireReference
- createdAt
- executedAt
- canceledAt
- status
- shareClassAccountId
- custodialAccountId
properties:
id:
type: string
description: a Universally Unique Identifier
format: uuid
investorId:
type: string
description: a Universally Unique Identifier
format: uuid
amount:
$ref: '#/components/schemas/Amount'
amountInShareClassCurrency:
$ref: '#/components/schemas/Amount'
sharesAmount:
anyOf:
- $ref: '#/components/schemas/BigDecimal'
- type: 'null'
accountId:
type: string
description: a Universally Unique Identifier
format: uuid
shareClassId:
type: string
description: a Universally Unique Identifier
format: uuid
wireReference:
anyOf:
- type: string
description: a wire reference
title: WireReference
pattern: ^[0-9A-Z]{5,15}$
- type: 'null'
createdAt:
$ref: '#/components/schemas/Date'
executedAt:
anyOf:
- $ref: '#/components/schemas/Date'
- type: 'null'
canceledAt:
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 deposit endpoints instead.** Get all subscription orders for a given investor with optional status filter.
> ⚠️ **For displaying an account''s activity, prefer the account transaction history endpoint.** 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 subscription orders
deprecated: true
/subscription-orders/direct-debit/:
post:
tags:
- Subscription Orders (deprecated)
operationId: subscriptionOrders.createSubscriptionOrderByDirectDebit
parameters: []
security:
- basicAuth: []
- oauth2: []
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
required:
- investorId
- amount
- shareClassId
- accountId
- bankAccountId
- status
- createdAt
- scheduledDate
properties:
investorId:
type: string
description: a Universally Unique Identifier
format: uuid
amount:
$ref: '#/components/schemas/NonNegativeAmount'
shareClassId:
type: string
description: a Universally Unique Identifier
format: uuid
accountId:
type: string
description: a Universally Unique Identifier
format: uuid
bankAccountId:
type: string
description: a Universally Unique Identifier
format: uuid
status:
type: string
enum:
- pending
- scheduled
- confirmed
- returned
- canceled
- failed
createdAt:
$ref: '#/components/schemas/Date'
scheduledDate:
$ref: '#/components/schemas/Date'
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 deposit endpoints instead.** Create a new SEPA Direct Debit collection for an account. Only allowed for EUTBL and eurSAFO share classes, for professional investors for whom the feature has been enabled and who have signed a mandate on app.spiko.io.'
summary: Create a new subscription order via SEPA Direct Debit
deprecated: true
requestBody:
content:
application/json:
schema:
type: object
required:
- amount
- shareClassId
- accountId
- bankAccountId
properties:
amount:
$ref: '#/components/schemas/NonNegativeAmount'
shareClassId:
type: string
description: a Universally Unique Identifier
format: uuid
accountId:
type: string
description: a Universally Unique Identifier
format: uuid
bankAccountId:
type: string
description: a Universally Unique Identifier
format: uuid
additionalProperties: false
required: true
/subscription-orders/{subscriptionOrderId}:
get:
tags:
- Subscription Orders (deprecated)
operationId: subscriptionOrders.getSubscriptionOrder
parameters:
- name: subscriptionOrderId
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
- amount
- amountInShareClassCurrency
- sharesAmount
- accountId
- shareClassId
- wireReference
- createdAt
- executedAt
- canceledAt
- status
- shareClassAccountId
- custodialAccountId
properties:
id:
type: string
description: a Universally Unique Identifier
format: uuid
investorId:
type: string
description: a Universally Unique Identifier
format: uuid
amount:
$ref: '#/components/schemas/Amount'
amountInShareClassCurrency:
$ref: '#/components/schemas/Amount'
sharesAmount:
anyOf:
- $ref: '#/components/schemas/BigDecimal'
- type: 'null'
accountId:
type: string
description: a Universally Unique Identifier
format: uuid
shareClassId:
type: string
description: a Universally Unique Identifier
format: uuid
wireReference:
anyOf:
- type: string
description: a wire reference
title: WireReference
pattern: ^[0-9A-Z]{5,15}$
- type: 'null'
createdAt:
$ref: '#/components/schemas/Date'
executedAt:
anyOf:
- $ref: '#/components/schemas/Date'
- type: 'null'
canceledAt:
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 deposit endpoints instead.** Get info of a specific subscription order by its ID'
summary: Get subscription order
deprecated: true
components:
schemas:
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
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
BigDecimal:
type: string
description: a string to be decoded into a BigDecimal
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
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
ApplicationError:
type: object
required:
- reason
- _tag
properties:
reason:
type: string
customErrorCode:
type: string
enum:
- MissingNAV
- NonBusinessDay
- OrderInTheFuture
- InitialDepositTooLow
- InitialSubscriptionTooLow
- SubsequentDepositTooLow
- SubsequentSubscriptionTooLow
- NewWalletSignatureNotProvided
- NewWalletSignatureNotValid
- CurrencyNotSupported
- StablecoinNotSupported
- AutopilotSynchronizedToBroken
- IncomingBankTransferNotFound
- IncomingBankTransferNotReceived
- IncomingBankTransferAlreadyHandled
- IncomingBankTransferAmountMismatch
_tag:
type: string
enum:
- ApplicationError
additionalProperties: false
description: Application Error
SubscriptionNotAllowedError:
type: object
required:
- shareClassId
- shareClassSymbol
- _tag
properties:
shareClassId:
type: string
description: a Universally Unique Identifier
format: uuid
shareClassSymbol:
type: string
_tag:
type: string
enum:
- SubscriptionNotAllowedError
additionalProperties: false
description: EUR subscription orders are not allowed for this share class through the investor API, you should directly make a wire instead
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
Date:
type: string
description: a string to be decoded into a Date
securitySchemes:
basicAuth:
type: http
scheme: basic
description: Use your API client_id as username and client_secret as password.
oauth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://investor-auth.spiko.io/oauth2/auth
tokenUrl: https://investor-auth.spiko.io/oauth2/token
scopes:
offline: Required for obtaining a refresh token