Spiko Share Classes API

The Share Classes API from Spiko — 5 operation(s) for share classes.

OpenAPI Specification

spiko-share-classes-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Spiko Distributor Account transactions Share Classes 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: Share Classes
paths:
  /share-classes/:
    get:
      tags:
      - Share Classes
      operationId: Get all Share Classes
      parameters: []
      security: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  anyOf:
                  - type: object
                    required:
                    - id
                    - fundId
                    - isin
                    - navDecimals
                    - shareDecimals
                    - currency
                    - tokens
                    - useOfIncome
                    - minimumInitialSubscription
                    - minimumSubsequentSubscription
                    - minimumRedemption
                    - subscriptionFees
                    - redemptionFees
                    - managementFees
                    - intermediaryShareClasses
                    - data
                    - symbol
                    properties:
                      id:
                        type: string
                        description: a Universally Unique Identifier
                        format: uuid
                      fundId:
                        type: string
                        description: a Universally Unique Identifier
                        format: uuid
                      isin:
                        title: Isin
                        type: string
                        description: A valid ISIN
                      navDecimals:
                        type: integer
                        description: a number between 0 and 20
                        title: between(0, 20)
                        minimum: 0
                        maximum: 20
                      shareDecimals:
                        type: integer
                        description: a number between 0 and 20
                        title: between(0, 20)
                        minimum: 0
                        maximum: 20
                      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"
                      tokens:
                        type: array
                        items:
                          anyOf:
                          - type: object
                            required:
                            - network
                            - address
                            properties:
                              network:
                                $ref: '#/components/schemas/EVMNetwork'
                              address:
                                type: string
                                title: Ethereum address
                                description: a valid Ethereum address, starting with 0x and followed by 40 hexadecimal characters e.g. "0xb794f5ea0ba39494ce839613fffba74279579268"
                            additionalProperties: false
                          - type: object
                            required:
                            - network
                            - address
                            properties:
                              network:
                                type: string
                                enum:
                                - Starknet
                                - StarknetSepolia
                              address:
                                title: StarknetAddress
                                type: string
                                description: a valid Starknet address, starting with 0x and followed by 64 hexadecimal characters e.g. "0x0000000000000000000000000000000000000000000000000000000000000000"
                            additionalProperties: false
                          - type: object
                            required:
                            - network
                            - address
                            properties:
                              network:
                                type: string
                                enum:
                                - Stellar
                                - StellarTestnet
                              address:
                                anyOf:
                                - title: StellarAccountAddress
                                  type: string
                                  description: a valid Stellar account address, starting with G and followed by 55 hexadecimal characters e.g. "GBYIQXBKEB655EB3WTRITS6RR5GXEP6SQRBLPREZHNFYKT7WBMTMPR3H"
                                - title: StellarContractAddress
                                  type: string
                                  description: a valid Stellar contract address, starting with C and followed by 55 hexadecimal characters e.g. "CCAANR7HZNOXYZD7SXS2WQLV5BAOXSRZ7V4O43IANSB355QN2RNG7WVC"
                            additionalProperties: false
                          - type: object
                            required:
                            - network
                            - address
                            properties:
                              network:
                                type: string
                                enum:
                                - Solana
                                - SolanaDevnet
                              address:
                                type: string
                                title: Solana address
                                description: a valid Solana address, consisting of 32 to 44 base58 characters
                            additionalProperties: false
                      useOfIncome:
                        type: string
                        enum:
                        - accumulating
                        - distributing
                      minimumInitialSubscription:
                        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"
                      minimumSubsequentSubscription:
                        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"
                      minimumRedemption:
                        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"
                      subscriptionFees:
                        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"
                      redemptionFees:
                        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"
                      managementFees:
                        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"
                      intermediaryShareClasses:
                        type: array
                        items:
                          type: array
                          minItems: 2
                          prefixItems:
                          - 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"
                          - type: string
                            description: a Universally Unique Identifier
                            format: uuid
                          items: false
                      data:
                        type: object
                        required:
                        - en
                        - es
                        - fr
                        - it
                        - de
                        properties:
                          en:
                            type: object
                            required:
                            - name
                            - amfClassification
                            - referenceIndex
                            properties:
                              name:
                                $ref: '#/components/schemas/NonEmptyString'
                              amfClassification:
                                $ref: '#/components/schemas/NonEmptyString'
                              referenceIndex:
                                $ref: '#/components/schemas/NonEmptyString'
                            additionalProperties: false
                          es:
                            type: object
                            required:
                            - name
                            - amfClassification
                            - referenceIndex
                            properties:
                              name:
                                $ref: '#/components/schemas/NonEmptyString'
                              amfClassification:
                                $ref: '#/components/schemas/NonEmptyString'
                              referenceIndex:
                                $ref: '#/components/schemas/NonEmptyString'
                            additionalProperties: false
                          fr:
                            type: object
                            required:
                            - name
                            - amfClassification
                            - referenceIndex
                            properties:
                              name:
                                $ref: '#/components/schemas/NonEmptyString'
                              amfClassification:
                                $ref: '#/components/schemas/NonEmptyString'
                              referenceIndex:
                                $ref: '#/components/schemas/NonEmptyString'
                            additionalProperties: false
                          it:
                            type: object
                            required:
                            - name
                            - amfClassification
                            - referenceIndex
                            properties:
                              name:
                                $ref: '#/components/schemas/NonEmptyString'
                              amfClassification:
                                $ref: '#/components/schemas/NonEmptyString'
                              referenceIndex:
                                $ref: '#/components/schemas/NonEmptyString'
                            additionalProperties: false
                          de:
                            type: object
                            required:
                            - name
                            - amfClassification
                            - referenceIndex
                            properties:
                              name:
                                $ref: '#/components/schemas/NonEmptyString'
                              amfClassification:
                                $ref: '#/components/schemas/NonEmptyString'
                              referenceIndex:
                                $ref: '#/components/schemas/NonEmptyString'
                            additionalProperties: false
                        additionalProperties: false
                      symbol:
                        $ref: '#/components/schemas/ShareClassSymbol'
                    additionalProperties: false
                  - type: object
                    required:
                    - id
                    - fundId
                    - isin
                    - navDecimals
                    - shareDecimals
                    - currency
                    - tokens
                    - useOfIncome
                    - minimumInitialSubscription
                    - minimumSubsequentSubscription
                    - minimumRedemption
                    - subscriptionFees
                    - redemptionFees
                    - managementFees
                    - intermediaryShareClasses
                    - data
                    - symbol
                    - bankAccountNumber
                    - bankAccountBic
                    - bankAccountIntermediaryBic
                    properties:
                      id:
                        type: string
                        description: a Universally Unique Identifier
                        format: uuid
                      fundId:
                        type: string
                        description: a Universally Unique Identifier
                        format: uuid
                      isin:
                        title: Isin
                        type: string
                        description: A valid ISIN
                      navDecimals:
                        type: integer
                        description: a number between 0 and 20
                        title: between(0, 20)
                        minimum: 0
                        maximum: 20
                      shareDecimals:
                        type: integer
                        description: a number between 0 and 20
                        title: between(0, 20)
                        minimum: 0
                        maximum: 20
                      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"
                      tokens:
                        type: array
                        items:
                          anyOf:
                          - type: object
                            required:
                            - network
                            - address
                            properties:
                              network:
                                $ref: '#/components/schemas/EVMNetwork'
                              address:
                                type: string
                                title: Ethereum address
                                description: a valid Ethereum address, starting with 0x and followed by 40 hexadecimal characters e.g. "0xb794f5ea0ba39494ce839613fffba74279579268"
                            additionalProperties: false
                          - type: object
                            required:
                            - network
                            - address
                            properties:
                              network:
                                type: string
                                enum:
                                - Starknet
                                - StarknetSepolia
                              address:
                                title: StarknetAddress
                                type: string
                                description: a valid Starknet address, starting with 0x and followed by 64 hexadecimal characters e.g. "0x0000000000000000000000000000000000000000000000000000000000000000"
                            additionalProperties: false
                          - type: object
                            required:
                            - network
                            - address
                            properties:
                              network:
                                type: string
                                enum:
                                - Stellar
                                - StellarTestnet
                              address:
                                anyOf:
                                - title: StellarAccountAddress
                                  type: string
                                  description: a valid Stellar account address, starting with G and followed by 55 hexadecimal characters e.g. "GBYIQXBKEB655EB3WTRITS6RR5GXEP6SQRBLPREZHNFYKT7WBMTMPR3H"
                                - title: StellarContractAddress
                                  type: string
                                  description: a valid Stellar contract address, starting with C and followed by 55 hexadecimal characters e.g. "CCAANR7HZNOXYZD7SXS2WQLV5BAOXSRZ7V4O43IANSB355QN2RNG7WVC"
                            additionalProperties: false
                          - type: object
                            required:
                            - network
                            - address
                            properties:
                              network:
                                type: string
                                enum:
                                - Solana
                                - SolanaDevnet
                              address:
                                type: string
                                title: Solana address
                                description: a valid Solana address, consisting of 32 to 44 base58 characters
                            additionalProperties: false
                      useOfIncome:
                        type: string
                        enum:
                        - accumulating
                        - distributing
                      minimumInitialSubscription:
                        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"
                      minimumSubsequentSubscription:
                        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"
                      minimumRedemption:
                        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"
                      subscriptionFees:
                        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"
                      redemptionFees:
                        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"
                      managementFees:
                        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"
                      intermediaryShareClasses:
                        type: array
                        items:
                          type: array
                          minItems: 2
                          prefixItems:
                          - 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"
                          - type: string
                            description: a Universally Unique Identifier
                            format: uuid
                          items: false
                      data:
                        type: object
                        required:
                        - en
                        - es
                        - fr
                        - it
                        - de
                        properties:
                          en:
                            type: object
                            required:
                            - name
                            - amfClassification
                            - referenceIndex
                            properties:
                              name:
                                $ref: '#/components/schemas/NonEmptyString'
                              amfClassification:
                                $ref: '#/components/schemas/NonEmptyString'
                              referenceIndex:
                                $ref: '#/components/schemas/NonEmptyString'
                            additionalProperties: false
                          es:
                            type: object
                            required:
                            - name
                            - amfClassification
                            - referenceIndex
                            properties:
                              name:
                                $ref: '#/components/schemas/NonEmptyString'
                              amfClassification:
                                $ref: '#/components/schemas/NonEmptyString'
                              referenceIndex:
                                $ref: '#/components/schemas/NonEmptyString'
                            additionalProperties: false
                          fr:
                            type: object
                            required:
                            - name
                            - amfClassification
                            - referenceIndex
                            properties:
                              name:
                                $ref: '#/components/schemas/NonEmptyString'
                              amfClassification:
                                $ref: '#/components/schemas/NonEmptyString'
                              referenceIndex:
                                $ref: '#/components/schemas/NonEmptyString'
                            additionalProperties: false
                          it:
                            type: object
                            required:
                            - name
                            - amfClassification
                            - referenceIndex
                            properties:
                              name:
                                $ref: '#/components/schemas/NonEmptyString'
                              amfClassification:
                                $ref: '#/components/schemas/NonEmptyString'
                              referenceIndex:
                                $ref: '#/components/schemas/NonEmptyString'
                            additionalProperties: false
                          de:
                            type: object
                            required:
                            - name
                            - amfClassification
                            - referenceIndex
                            properties:
                              name:
                                $ref: '#/components/schemas/NonEmptyString'
                              amfClassification:
                                $ref: '#/components/schemas/NonEmptyString'
                              referenceIndex:
                                $ref: '#/components/schemas/NonEmptyString'
                            additionalProperties: false
                        additionalProperties: false
                      symbol:
                        $ref: '#/components/schemas/ShareClassSymbol'
                      bankAccountNumber:
                        title: IBAN
                        type: string
                        description: a valid IBAN (International Bank Account Number)
                      bankAccountBic:
                        title: BIC
                        type: string
                        description: A valid BIC (Bank Identifier Code)
                      bankAccountIntermediaryBic:
                        anyOf:
                        - title: BIC
                          type: string
                          description: A valid BIC (Bank Identifier Code)
                        - type: 'null'
                    additionalProperties: false
        '400':
          description: The request did not match the expected schema
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpApiDecodeError'
  /share-classes/{shareClassSymbol}:
    get:
      tags:
      - Share Classes
      operationId: Get Share Class
      parameters:
      - name: shareClassSymbol
        in: path
        schema:
          $ref: '#/components/schemas/ShareClassSymbol'
        required: true
      security: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                anyOf:
                - type: object
                  required:
                  - id
                  - fundId
                  - isin
                  - navDecimals
                  - shareDecimals
                  - currency
                  - tokens
                  - useOfIncome
                  - minimumInitialSubscription
                  - minimumSubsequentSubscription
                  - minimumRedemption
                  - subscriptionFees
                  - redemptionFees
                  - managementFees
                  - intermediaryShareClasses
                  - data
                  - symbol
                  properties:
                    id:
                      type: string
                      description: a Universally Unique Identifier
                      format: uuid
                    fundId:
                      type: string
                      description: a Universally Unique Identifier
                      format: uuid
                    isin:
                      title: Isin
                      type: string
                      description: A valid ISIN
                    navDecimals:
                      type: integer
                      description: a number between 0 and 20
                      title: between(0, 20)
                      minimum: 0
                      maximum: 20
                    shareDecimals:
                      type: integer
                      description: a number between 0 and 20
                      title: between(0, 20)
                      minimum: 0
                      maximum: 20
                    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"
                    tokens:
                      type: array
                      items:
                        anyOf:
                        - type: object
                          required:
                          - network
                          - address
                          properties:
                            network:
                              $ref: '#/components/schemas/EVMNetwork'
                            address:
                              type: string
                              title: Ethereum address
                              description: a valid Ethereum address, starting with 0x and followed by 40 hexadecimal characters e.g. "0xb794f5ea0ba39494ce839613fffba74279579268"
                          additionalProperties: false
                        - type: object
                          required:
                          - network
                          - address
                          properties:
                            network:
                              type: string
                              enum:
                              - Starknet
                              - StarknetSepolia
                            address:
                              title: StarknetAddress
                              type: string
                              description: a valid Starknet address, starting with 0x and followed by 64 hexadecimal characters e.g. "0x0000000000000000000000000000000000000000000000000000000000000000"
                          additionalProperties: false
                        - type: object
                          required:
                          - network
                          - address
                          properties:
                            network:
                              type: string
                              enum:
                              - Stellar
                              - StellarTestnet
                            address:
                              anyOf:
                              - title: StellarAccountAddress
                                type: string
                                description: a valid Stellar account address, starting with G and followed by 55 hexadecimal characters e.g. "GBYIQXBKEB655EB3WTRITS6RR5GXEP6SQRBLPREZHNFYKT7WBMTMPR3H"
                              - title: StellarContractAddress
                                type: string
                                description: a valid Stellar contract address, starting with C and followed by 55 hexadecimal characters e.g. "CCAANR7HZNOXYZD7SXS2WQLV5BAOXSRZ7V4O43IANSB355QN2RNG7WVC"
                          additionalProperties: false
                        - type: object
                          required:
                          - network
                          - address
                          properties:
                            network:
                              type: string
                              enum:
                              - Solana
                              - SolanaDevnet
                            address:
                              type: string
                              title: Solana address
                              description: a valid Solana address, consisting of 32 to 44 base58 characters
                          additionalProperties: false
                    useOfIncome:
                      type: string
                      enum:
                      - accumulating
                      - distributing
        

# --- truncated at 32 KB (63 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/spiko/refs/heads/main/openapi/spiko-share-classes-api-openapi.yml