Spiko Redemption Orders (deprecated) API

The Redemption Orders (deprecated) API from Spiko — 3 operation(s) for redemption orders (deprecated).

OpenAPI Specification

spiko-redemption-orders-deprecated-api-openapi.yml Raw ↑
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.