{"openapi":"3.1.0","info":{"title":"Spiko Distributor 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."},"paths":{"/v1/investors":{"post":{"tags":["Investors"],"operationId":"investors.createInvestorV1","parameters":[],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Legal representative first name (for organizational investors)"},"lastName":{"type":"string","title":"Last name","description":"Legal representative last name (for organizational investors)"},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"address":{"type":"string","title":"Address","description":"Registered legal address (for organizational investors)"},"zipCode":{"type":"string"},"city":{"type":"string"},"details":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["individual"]},"taxInformationByCountryOfResidence":{"type":"array","prefixItems":[{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}],"minItems":1,"items":{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"}]},"placeOfBirth":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"}]},"industry":{"anyOf":[{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation","Politics","Retired","Student"]},{"type":"null"}]}},"required":["type","taxInformationByCountryOfResidence","dateOfBirth","placeOfBirth","gender","industry"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["organization"]},"legalName":{"$ref":"#/components/schemas/LegalEntityName"},"legalEntityType":{"type":"string"},"registrationNumber":{"type":"string"},"industry":{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation"]}},"required":["type","legalName","legalEntityType","registrationNumber","industry"],"additionalProperties":false}]},"relatedPersons":{"type":"array","items":{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Person first name"},"lastName":{"type":"string","title":"Last name","description":"Person last name"},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"},{"type":"null"}],"title":"Gender","description":"Person gender (optional)"},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"},{"type":"null"}],"title":"Date of birth","description":"Person date of birth (optional)"},"cityOfBirth":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of birth","description":"Person city of birth (optional)"},"countryOfBirth":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of birth","description":"Person country of birth (optional)"},"nationality":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Nationality","description":"Person nationality (optional)"},"addressOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"Address of residence","description":"Person address of residence (optional)"},"cityOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of residence","description":"Person city of residence (optional)"},"zipCodeOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"ZIP code of residence","description":"Person ZIP code of residence (optional)"},"countryOfResidence":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of residence","description":"Person country of residence (optional)"},"relationshipTypes":{"type":"array","items":{"type":"string","enum":["ubo","director","self","other"]},"title":"Relationship types","description":"Types of relationship between person and investor"},"fiscalIdentificationNumber":{"anyOf":[{"type":"string","title":"Fiscal identification number","description":"Tax identification number of the person. Required for non-FR UBOs when the organization investor has FATCA/CRS status `passiveNFE`."},{"type":"null"},{"type":"null"}]}},"required":["firstName","lastName","relationshipTypes"],"additionalProperties":false},"title":"Related persons","description":"UBOs, directors, and other related persons to create and link to the investor. Organization investors must provide all their UBOs and directors. FR organizations are exempt unless the distributor operates under a KYC reliance agreement with Spiko."},"id":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"createdOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"updatedOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"status":{"type":"string","enum":["pending-onboarding-workflow"],"deprecated":true},"complianceStatus":{"type":"string","enum":["pending-onboarding"]},"allowedByDistributorShareClasses":{"anyOf":[{"type":"array","prefixItems":[{"$ref":"#/components/schemas/ShareClassSymbol"}],"minItems":1,"items":{"$ref":"#/components/schemas/ShareClassSymbol"}},{"type":"null"}],"title":"Allowed share classes","description":"The share classes this investor may access, or null when they may access every share class you distribute."}},"required":["firstName","lastName","country","address","zipCode","city","details","id","distributorId","createdOn","updatedOn","status","complianceStatus"],"additionalProperties":false}}}},"400":{"description":"Organization investors must provide a FATCA/CRS status | Organization investors must provide all their UBOs and directors. FR organizations are exempt unless the distributor operates under a KYC reliance agreement with Spiko. | Non-FR UBOs of passive NFE investors must provide a fiscal identification number | Individual investors must provide a tax identification number for every country of tax residence outside France | Related persons must provide date of birth, nationality, and country of residence for screening | Distributors using the Spiko License model must provide an investorEmail for every investor | Investors residing or registered in a country blocked for compliance reasons cannot be onboarded | Bad Request | The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MissingFatcaCrsStatusError"},{"$ref":"#/components/schemas/MissingRelatedPersonsError"},{"$ref":"#/components/schemas/MissingFiscalIdentificationNumberError"},{"$ref":"#/components/schemas/MissingTaxIdentificationNumberError"},{"$ref":"#/components/schemas/MissingRequiredPersonFieldsError"},{"$ref":"#/components/schemas/MissingInvestorEmailError"},{"$ref":"#/components/schemas/BlockedResidenceCountryError"},{"$ref":"#/components/schemas/BadRequestError"},{"$ref":"#/components/schemas/HttpApiDecodeError"}]}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Register a new investor with the platform.**\n\n- The investor is always created with status `pending-onboarding-workflow` while compliance checks (PEP/sanctions screening) run asynchronously.\n- Once checks complete successfully, the investor is automatically transitioned to `active` (if the distributor has KYC reliance enabled). The distributor is notified of the status change via webhook.\n\n**Tax residence:**\n- **Individual** investors must provide a `taxIdentificationNumber` for every country of tax residence outside France.\n\n**Related persons requirements:**\n- Each related person must include `dateOfBirth`, `nationality`, and `countryOfResidence` (required for compliance screening).\n- **Organization** investors must provide all their UBOs and directors. FR organizations are exempt (persons are automatically fetched from INPI), unless the distributor operates under a **KYC reliance agreement with Spiko** in which case all UBOs and directors must be provided regardless of country.\n- For **passive NFE** investors (`fatcaCrsStatus: \"passiveNFE\"`), non-FR UBOs must include a `fiscalIdentificationNumber`.\n\n**FATCA/CRS status:**\n- Organization investors must provide a `fatcaCrsStatus` in the `details` object. When set to `passiveNFE`, non-FR UBOs must include a `fiscalIdentificationNumber`.\n            ","summary":"Create investor","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Legal representative first name (for organizational investors)"},"lastName":{"type":"string","title":"Last name","description":"Legal representative last name (for organizational investors)"},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"address":{"type":"string","title":"Address","description":"Registered legal address (for organizational investors)"},"zipCode":{"type":"string"},"city":{"type":"string"},"details":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["individual"]},"taxInformationByCountryOfResidence":{"$ref":"#/components/schemas/TaxIdentificationNumberByCountry"},"dateOfBirth":{"$ref":"#/components/schemas/Day"},"placeOfBirth":{"type":"string"},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"},{"type":"null"}]},"nationality":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"industry":{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation","Politics","Retired","Student"]}},"required":["type","taxInformationByCountryOfResidence","dateOfBirth","placeOfBirth","nationality","industry"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["organization"]},"legalName":{"$ref":"#/components/schemas/LegalEntityName"},"legalEntityType":{"type":"string"},"registrationNumber":{"type":"string"},"industry":{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation"]},"fatcaCrsStatus":{"type":"string","enum":["activeNFE","passiveNFE","FE"],"title":"FATCA/CRS status","description":"FATCA/CRS entity classification. When `passiveNFE`, non-FR UBOs must provide a `fiscalIdentificationNumber`."}},"required":["type","legalName","legalEntityType","registrationNumber","industry"],"additionalProperties":false}]},"relatedPersons":{"type":"array","items":{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Person first name"},"lastName":{"type":"string","title":"Last name","description":"Person last name"},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"},{"type":"null"}],"title":"Gender","description":"Person gender (optional)"},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"},{"type":"null"}],"title":"Date of birth","description":"Person date of birth (optional)"},"cityOfBirth":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of birth","description":"Person city of birth (optional)"},"countryOfBirth":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of birth","description":"Person country of birth (optional)"},"nationality":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Nationality","description":"Person nationality (optional)"},"addressOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"Address of residence","description":"Person address of residence (optional)"},"cityOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of residence","description":"Person city of residence (optional)"},"zipCodeOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"ZIP code of residence","description":"Person ZIP code of residence (optional)"},"countryOfResidence":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of residence","description":"Person country of residence (optional)"},"relationshipTypes":{"type":"array","items":{"type":"string","enum":["ubo","director","self","other"]},"title":"Relationship types","description":"Types of relationship between person and investor"},"fiscalIdentificationNumber":{"anyOf":[{"type":"string","title":"Fiscal identification number","description":"Tax identification number of the person. Required for non-FR UBOs when the organization investor has FATCA/CRS status `passiveNFE`."},{"type":"null"},{"type":"null"}]}},"required":["firstName","lastName","relationshipTypes"],"additionalProperties":false},"title":"Related persons","description":"UBOs, directors, and other related persons to create and link to the investor. Organization investors must provide all their UBOs and directors. FR organizations are exempt unless the distributor operates under a KYC reliance agreement with Spiko."},"allowedByDistributorShareClasses":{"type":"array","prefixItems":[{"$ref":"#/components/schemas/ShareClassSymbol"}],"minItems":1,"items":{"$ref":"#/components/schemas/ShareClassSymbol"},"title":"Allowed share classes","description":"Restricts the investor to this subset of the share classes you distribute. Omit it to give the investor your full range, which is the default. Share classes you do not distribute are rejected."},"investorEmail":{"type":"string","title":"Investor email","description":"Email address of the investor. Mandatory for distributors using the Spiko License model."}},"required":["firstName","lastName","country","address","zipCode","city","details"],"additionalProperties":false}}},"required":true}}},"/v0/investors":{"post":{"tags":["Investors"],"operationId":"investors.createInvestor","parameters":[],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Legal representative first name (for organizational investors)"},"lastName":{"type":"string","title":"Last name","description":"Legal representative last name (for organizational investors)"},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"address":{"type":"string","title":"Address","description":"Registered legal address (for organizational investors)"},"zipCode":{"type":"string"},"city":{"type":"string"},"details":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["individual"]},"taxInformationByCountryOfResidence":{"type":"array","prefixItems":[{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}],"minItems":1,"items":{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"}]},"placeOfBirth":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"}]},"industry":{"anyOf":[{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation","Politics","Retired","Student"]},{"type":"null"}]}},"required":["type","taxInformationByCountryOfResidence","dateOfBirth","placeOfBirth","gender","industry"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["organization"]},"legalName":{"$ref":"#/components/schemas/LegalEntityName"},"legalEntityType":{"type":"string"},"registrationNumber":{"type":"string"},"industry":{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation"]}},"required":["type","legalName","legalEntityType","registrationNumber","industry"],"additionalProperties":false}]},"relatedPersons":{"type":"array","items":{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Person first name"},"lastName":{"type":"string","title":"Last name","description":"Person last name"},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"},{"type":"null"}],"title":"Gender","description":"Person gender (optional)"},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"},{"type":"null"}],"title":"Date of birth","description":"Person date of birth (optional)"},"cityOfBirth":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of birth","description":"Person city of birth (optional)"},"countryOfBirth":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of birth","description":"Person country of birth (optional)"},"nationality":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Nationality","description":"Person nationality (optional)"},"addressOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"Address of residence","description":"Person address of residence (optional)"},"cityOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of residence","description":"Person city of residence (optional)"},"zipCodeOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"ZIP code of residence","description":"Person ZIP code of residence (optional)"},"countryOfResidence":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of residence","description":"Person country of residence (optional)"},"relationshipTypes":{"type":"array","items":{"type":"string","enum":["ubo","director","self","other"]},"title":"Relationship types","description":"Types of relationship between person and investor"},"fiscalIdentificationNumber":{"anyOf":[{"type":"string","title":"Fiscal identification number","description":"Tax identification number of the person. Required for non-FR UBOs when the organization investor has FATCA/CRS status `passiveNFE`."},{"type":"null"},{"type":"null"}]}},"required":["firstName","lastName","relationshipTypes"],"additionalProperties":false},"title":"Related persons","description":"UBOs, directors, and other related persons to create and link to the investor. Organization investors must provide all their UBOs and directors. FR organizations are exempt unless the distributor operates under a KYC reliance agreement with Spiko."},"id":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"createdOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"updatedOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"status":{"type":"string","enum":["compliant"],"deprecated":true},"complianceStatus":{"type":"string","enum":["compliant"]},"allowedByDistributorShareClasses":{"anyOf":[{"type":"array","prefixItems":[{"$ref":"#/components/schemas/ShareClassSymbol"}],"minItems":1,"items":{"$ref":"#/components/schemas/ShareClassSymbol"}},{"type":"null"}],"title":"Allowed share classes","description":"The share classes this investor may access, or null when they may access every share class you distribute."},"hasAccessToProfessionalProducts":{"type":"boolean"}},"required":["firstName","lastName","country","address","zipCode","city","details","id","distributorId","createdOn","updatedOn","status","complianceStatus","hasAccessToProfessionalProducts"],"additionalProperties":false},{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Legal representative first name (for organizational investors)"},"lastName":{"type":"string","title":"Last name","description":"Legal representative last name (for organizational investors)"},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"address":{"type":"string","title":"Address","description":"Registered legal address (for organizational investors)"},"zipCode":{"type":"string"},"city":{"type":"string"},"details":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["individual"]},"taxInformationByCountryOfResidence":{"type":"array","prefixItems":[{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}],"minItems":1,"items":{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"}]},"placeOfBirth":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"}]},"industry":{"anyOf":[{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation","Politics","Retired","Student"]},{"type":"null"}]}},"required":["type","taxInformationByCountryOfResidence","dateOfBirth","placeOfBirth","gender","industry"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["organization"]},"legalName":{"$ref":"#/components/schemas/LegalEntityName"},"legalEntityType":{"type":"string"},"registrationNumber":{"type":"string"},"industry":{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation"]}},"required":["type","legalName","legalEntityType","registrationNumber","industry"],"additionalProperties":false}]},"relatedPersons":{"type":"array","items":{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Person first name"},"lastName":{"type":"string","title":"Last name","description":"Person last name"},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"},{"type":"null"}],"title":"Gender","description":"Person gender (optional)"},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"},{"type":"null"}],"title":"Date of birth","description":"Person date of birth (optional)"},"cityOfBirth":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of birth","description":"Person city of birth (optional)"},"countryOfBirth":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of birth","description":"Person country of birth (optional)"},"nationality":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Nationality","description":"Person nationality (optional)"},"addressOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"Address of residence","description":"Person address of residence (optional)"},"cityOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of residence","description":"Person city of residence (optional)"},"zipCodeOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"ZIP code of residence","description":"Person ZIP code of residence (optional)"},"countryOfResidence":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of residence","description":"Person country of residence (optional)"},"relationshipTypes":{"type":"array","items":{"type":"string","enum":["ubo","director","self","other"]},"title":"Relationship types","description":"Types of relationship between person and investor"},"fiscalIdentificationNumber":{"anyOf":[{"type":"string","title":"Fiscal identification number","description":"Tax identification number of the person. Required for non-FR UBOs when the organization investor has FATCA/CRS status `passiveNFE`."},{"type":"null"},{"type":"null"}]}},"required":["firstName","lastName","relationshipTypes"],"additionalProperties":false},"title":"Related persons","description":"UBOs, directors, and other related persons to create and link to the investor. Organization investors must provide all their UBOs and directors. FR organizations are exempt unless the distributor operates under a KYC reliance agreement with Spiko."},"id":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"createdOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"updatedOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"status":{"type":"string","enum":["non-compliant"],"deprecated":true},"complianceStatus":{"type":"string","enum":["non-compliant"]},"allowedByDistributorShareClasses":{"anyOf":[{"type":"array","prefixItems":[{"$ref":"#/components/schemas/ShareClassSymbol"}],"minItems":1,"items":{"$ref":"#/components/schemas/ShareClassSymbol"}},{"type":"null"}],"title":"Allowed share classes","description":"The share classes this investor may access, or null when they may access every share class you distribute."}},"required":["firstName","lastName","country","address","zipCode","city","details","id","distributorId","createdOn","updatedOn","status","complianceStatus"],"additionalProperties":false},{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Legal representative first name (for organizational investors)"},"lastName":{"type":"string","title":"Last name","description":"Legal representative last name (for organizational investors)"},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"address":{"type":"string","title":"Address","description":"Registered legal address (for organizational investors)"},"zipCode":{"type":"string"},"city":{"type":"string"},"details":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["individual"]},"taxInformationByCountryOfResidence":{"type":"array","prefixItems":[{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}],"minItems":1,"items":{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"}]},"placeOfBirth":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"}]},"industry":{"anyOf":[{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation","Politics","Retired","Student"]},{"type":"null"}]}},"required":["type","taxInformationByCountryOfResidence","dateOfBirth","placeOfBirth","gender","industry"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["organization"]},"legalName":{"$ref":"#/components/schemas/LegalEntityName"},"legalEntityType":{"type":"string"},"registrationNumber":{"type":"string"},"industry":{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation"]}},"required":["type","legalName","legalEntityType","registrationNumber","industry"],"additionalProperties":false}]},"relatedPersons":{"type":"array","items":{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Person first name"},"lastName":{"type":"string","title":"Last name","description":"Person last name"},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"},{"type":"null"}],"title":"Gender","description":"Person gender (optional)"},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"},{"type":"null"}],"title":"Date of birth","description":"Person date of birth (optional)"},"cityOfBirth":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of birth","description":"Person city of birth (optional)"},"countryOfBirth":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of birth","description":"Person country of birth (optional)"},"nationality":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Nationality","description":"Person nationality (optional)"},"addressOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"Address of residence","description":"Person address of residence (optional)"},"cityOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of residence","description":"Person city of residence (optional)"},"zipCodeOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"ZIP code of residence","description":"Person ZIP code of residence (optional)"},"countryOfResidence":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of residence","description":"Person country of residence (optional)"},"relationshipTypes":{"type":"array","items":{"type":"string","enum":["ubo","director","self","other"]},"title":"Relationship types","description":"Types of relationship between person and investor"},"fiscalIdentificationNumber":{"anyOf":[{"type":"string","title":"Fiscal identification number","description":"Tax identification number of the person. Required for non-FR UBOs when the organization investor has FATCA/CRS status `passiveNFE`."},{"type":"null"},{"type":"null"}]}},"required":["firstName","lastName","relationshipTypes"],"additionalProperties":false},"title":"Related persons","description":"UBOs, directors, and other related persons to create and link to the investor. Organization investors must provide all their UBOs and directors. FR organizations are exempt unless the distributor operates under a KYC reliance agreement with Spiko."},"id":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"createdOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"updatedOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"status":{"type":"string","enum":["pending-onboarding-workflow"],"deprecated":true},"complianceStatus":{"type":"string","enum":["pending-onboarding"]},"allowedByDistributorShareClasses":{"anyOf":[{"type":"array","prefixItems":[{"$ref":"#/components/schemas/ShareClassSymbol"}],"minItems":1,"items":{"$ref":"#/components/schemas/ShareClassSymbol"}},{"type":"null"}],"title":"Allowed share classes","description":"The share classes this investor may access, or null when they may access every share class you distribute."}},"required":["firstName","lastName","country","address","zipCode","city","details","id","distributorId","createdOn","updatedOn","status","complianceStatus"],"additionalProperties":false}]}}}},"400":{"description":"Application Error | Bad Request | The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/ApplicationError"},{"$ref":"#/components/schemas/BadRequestError"},{"$ref":"#/components/schemas/HttpApiDecodeError"}]}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Deprecated - use `POST /v1/investors` instead.**\n\nRegister a new investor with the platform. Returns the complete investor profile including generated UUID identifier.\n            ","summary":"Create investor (deprecated)","deprecated":true,"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Legal representative first name (for organizational investors)"},"lastName":{"type":"string","title":"Last name","description":"Legal representative last name (for organizational investors)"},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"address":{"type":"string","title":"Address","description":"Registered legal address (for organizational investors)"},"zipCode":{"type":"string"},"city":{"type":"string"},"details":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["individual"]},"taxInformationByCountryOfResidence":{"$ref":"#/components/schemas/TaxIdentificationNumberByCountry"},"dateOfBirth":{"$ref":"#/components/schemas/Day"},"placeOfBirth":{"type":"string"},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"},{"type":"null"}]},"nationality":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"industry":{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation","Politics","Retired","Student"]}},"required":["type","taxInformationByCountryOfResidence","dateOfBirth","placeOfBirth","nationality","industry"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["organization"]},"legalName":{"$ref":"#/components/schemas/LegalEntityName"},"legalEntityType":{"type":"string"},"registrationNumber":{"type":"string"},"industry":{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation"]},"fatcaCrsStatus":{"type":"string","enum":["activeNFE","passiveNFE","FE"],"title":"FATCA/CRS status","description":"FATCA/CRS entity classification. When `passiveNFE`, non-FR UBOs must provide a `fiscalIdentificationNumber`."}},"required":["type","legalName","legalEntityType","registrationNumber","industry"],"additionalProperties":false}]},"relatedPersons":{"type":"array","items":{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Person first name"},"lastName":{"type":"string","title":"Last name","description":"Person last name"},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"},{"type":"null"}],"title":"Gender","description":"Person gender (optional)"},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"},{"type":"null"}],"title":"Date of birth","description":"Person date of birth (optional)"},"cityOfBirth":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of birth","description":"Person city of birth (optional)"},"countryOfBirth":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of birth","description":"Person country of birth (optional)"},"nationality":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Nationality","description":"Person nationality (optional)"},"addressOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"Address of residence","description":"Person address of residence (optional)"},"cityOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of residence","description":"Person city of residence (optional)"},"zipCodeOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"ZIP code of residence","description":"Person ZIP code of residence (optional)"},"countryOfResidence":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of residence","description":"Person country of residence (optional)"},"relationshipTypes":{"type":"array","items":{"type":"string","enum":["ubo","director","self","other"]},"title":"Relationship types","description":"Types of relationship between person and investor"},"fiscalIdentificationNumber":{"anyOf":[{"type":"string","title":"Fiscal identification number","description":"Tax identification number of the person. Required for non-FR UBOs when the organization investor has FATCA/CRS status `passiveNFE`."},{"type":"null"},{"type":"null"}]}},"required":["firstName","lastName","relationshipTypes"],"additionalProperties":false},"title":"Related persons","description":"UBOs, directors, and other related persons to create and link to the investor. Organization investors must provide all their UBOs and directors. FR organizations are exempt unless the distributor operates under a KYC reliance agreement with Spiko."}},"required":["firstName","lastName","country","address","zipCode","city","details"],"additionalProperties":false}}},"required":true}},"get":{"tags":["Investors"],"operationId":"investors.getAllInvestors","parameters":[{"name":"page","in":"query","schema":{"type":"string","title":"Page number","description":"defaults to \"1\" if not provided "},"required":false},{"name":"limit","in":"query","schema":{"type":"string","title":"Number of items per page","description":"defaults to \"50\" if not provided"},"required":false},{"name":"textSearch","in":"query","schema":{"type":"string","minLength":1},"required":false}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Legal representative first name (for organizational investors)"},"lastName":{"type":"string","title":"Last name","description":"Legal representative last name (for organizational investors)"},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"address":{"type":"string","title":"Address","description":"Registered legal address (for organizational investors)"},"zipCode":{"type":"string"},"city":{"type":"string"},"details":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["individual"]},"taxInformationByCountryOfResidence":{"type":"array","prefixItems":[{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}],"minItems":1,"items":{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"}]},"placeOfBirth":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"}]},"industry":{"anyOf":[{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation","Politics","Retired","Student"]},{"type":"null"}]}},"required":["type","taxInformationByCountryOfResidence","dateOfBirth","placeOfBirth","gender","industry"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["organization"]},"legalName":{"$ref":"#/components/schemas/LegalEntityName"},"legalEntityType":{"type":"string"},"registrationNumber":{"type":"string"},"industry":{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation"]}},"required":["type","legalName","legalEntityType","registrationNumber","industry"],"additionalProperties":false}]},"relatedPersons":{"type":"array","items":{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Person first name"},"lastName":{"type":"string","title":"Last name","description":"Person last name"},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"},{"type":"null"}],"title":"Gender","description":"Person gender (optional)"},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"},{"type":"null"}],"title":"Date of birth","description":"Person date of birth (optional)"},"cityOfBirth":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of birth","description":"Person city of birth (optional)"},"countryOfBirth":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of birth","description":"Person country of birth (optional)"},"nationality":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Nationality","description":"Person nationality (optional)"},"addressOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"Address of residence","description":"Person address of residence (optional)"},"cityOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of residence","description":"Person city of residence (optional)"},"zipCodeOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"ZIP code of residence","description":"Person ZIP code of residence (optional)"},"countryOfResidence":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of residence","description":"Person country of residence (optional)"},"relationshipTypes":{"type":"array","items":{"type":"string","enum":["ubo","director","self","other"]},"title":"Relationship types","description":"Types of relationship between person and investor"},"fiscalIdentificationNumber":{"anyOf":[{"type":"string","title":"Fiscal identification number","description":"Tax identification number of the person. Required for non-FR UBOs when the organization investor has FATCA/CRS status `passiveNFE`."},{"type":"null"},{"type":"null"}]}},"required":["firstName","lastName","relationshipTypes"],"additionalProperties":false},"title":"Related persons","description":"UBOs, directors, and other related persons to create and link to the investor. Organization investors must provide all their UBOs and directors. FR organizations are exempt unless the distributor operates under a KYC reliance agreement with Spiko."},"id":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"createdOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"updatedOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"status":{"type":"string","enum":["compliant"],"deprecated":true},"complianceStatus":{"type":"string","enum":["compliant"]},"allowedByDistributorShareClasses":{"anyOf":[{"type":"array","prefixItems":[{"$ref":"#/components/schemas/ShareClassSymbol"}],"minItems":1,"items":{"$ref":"#/components/schemas/ShareClassSymbol"}},{"type":"null"}],"title":"Allowed share classes","description":"The share classes this investor may access, or null when they may access every share class you distribute."},"hasAccessToProfessionalProducts":{"type":"boolean"}},"required":["firstName","lastName","country","address","zipCode","city","details","id","distributorId","createdOn","updatedOn","status","complianceStatus","hasAccessToProfessionalProducts"],"additionalProperties":false},{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Legal representative first name (for organizational investors)"},"lastName":{"type":"string","title":"Last name","description":"Legal representative last name (for organizational investors)"},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"address":{"type":"string","title":"Address","description":"Registered legal address (for organizational investors)"},"zipCode":{"type":"string"},"city":{"type":"string"},"details":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["individual"]},"taxInformationByCountryOfResidence":{"type":"array","prefixItems":[{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}],"minItems":1,"items":{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"}]},"placeOfBirth":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"}]},"industry":{"anyOf":[{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation","Politics","Retired","Student"]},{"type":"null"}]}},"required":["type","taxInformationByCountryOfResidence","dateOfBirth","placeOfBirth","gender","industry"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["organization"]},"legalName":{"$ref":"#/components/schemas/LegalEntityName"},"legalEntityType":{"type":"string"},"registrationNumber":{"type":"string"},"industry":{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation"]}},"required":["type","legalName","legalEntityType","registrationNumber","industry"],"additionalProperties":false}]},"relatedPersons":{"type":"array","items":{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Person first name"},"lastName":{"type":"string","title":"Last name","description":"Person last name"},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"},{"type":"null"}],"title":"Gender","description":"Person gender (optional)"},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"},{"type":"null"}],"title":"Date of birth","description":"Person date of birth (optional)"},"cityOfBirth":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of birth","description":"Person city of birth (optional)"},"countryOfBirth":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of birth","description":"Person country of birth (optional)"},"nationality":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Nationality","description":"Person nationality (optional)"},"addressOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"Address of residence","description":"Person address of residence (optional)"},"cityOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of residence","description":"Person city of residence (optional)"},"zipCodeOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"ZIP code of residence","description":"Person ZIP code of residence (optional)"},"countryOfResidence":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of residence","description":"Person country of residence (optional)"},"relationshipTypes":{"type":"array","items":{"type":"string","enum":["ubo","director","self","other"]},"title":"Relationship types","description":"Types of relationship between person and investor"},"fiscalIdentificationNumber":{"anyOf":[{"type":"string","title":"Fiscal identification number","description":"Tax identification number of the person. Required for non-FR UBOs when the organization investor has FATCA/CRS status `passiveNFE`."},{"type":"null"},{"type":"null"}]}},"required":["firstName","lastName","relationshipTypes"],"additionalProperties":false},"title":"Related persons","description":"UBOs, directors, and other related persons to create and link to the investor. Organization investors must provide all their UBOs and directors. FR organizations are exempt unless the distributor operates under a KYC reliance agreement with Spiko."},"id":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"createdOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"updatedOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"status":{"type":"string","enum":["non-compliant"],"deprecated":true},"complianceStatus":{"type":"string","enum":["non-compliant"]},"allowedByDistributorShareClasses":{"anyOf":[{"type":"array","prefixItems":[{"$ref":"#/components/schemas/ShareClassSymbol"}],"minItems":1,"items":{"$ref":"#/components/schemas/ShareClassSymbol"}},{"type":"null"}],"title":"Allowed share classes","description":"The share classes this investor may access, or null when they may access every share class you distribute."}},"required":["firstName","lastName","country","address","zipCode","city","details","id","distributorId","createdOn","updatedOn","status","complianceStatus"],"additionalProperties":false},{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Legal representative first name (for organizational investors)"},"lastName":{"type":"string","title":"Last name","description":"Legal representative last name (for organizational investors)"},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"address":{"type":"string","title":"Address","description":"Registered legal address (for organizational investors)"},"zipCode":{"type":"string"},"city":{"type":"string"},"details":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["individual"]},"taxInformationByCountryOfResidence":{"type":"array","prefixItems":[{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}],"minItems":1,"items":{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"}]},"placeOfBirth":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"}]},"industry":{"anyOf":[{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation","Politics","Retired","Student"]},{"type":"null"}]}},"required":["type","taxInformationByCountryOfResidence","dateOfBirth","placeOfBirth","gender","industry"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["organization"]},"legalName":{"$ref":"#/components/schemas/LegalEntityName"},"legalEntityType":{"type":"string"},"registrationNumber":{"type":"string"},"industry":{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation"]}},"required":["type","legalName","legalEntityType","registrationNumber","industry"],"additionalProperties":false}]},"relatedPersons":{"type":"array","items":{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Person first name"},"lastName":{"type":"string","title":"Last name","description":"Person last name"},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"},{"type":"null"}],"title":"Gender","description":"Person gender (optional)"},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"},{"type":"null"}],"title":"Date of birth","description":"Person date of birth (optional)"},"cityOfBirth":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of birth","description":"Person city of birth (optional)"},"countryOfBirth":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of birth","description":"Person country of birth (optional)"},"nationality":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Nationality","description":"Person nationality (optional)"},"addressOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"Address of residence","description":"Person address of residence (optional)"},"cityOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of residence","description":"Person city of residence (optional)"},"zipCodeOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"ZIP code of residence","description":"Person ZIP code of residence (optional)"},"countryOfResidence":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of residence","description":"Person country of residence (optional)"},"relationshipTypes":{"type":"array","items":{"type":"string","enum":["ubo","director","self","other"]},"title":"Relationship types","description":"Types of relationship between person and investor"},"fiscalIdentificationNumber":{"anyOf":[{"type":"string","title":"Fiscal identification number","description":"Tax identification number of the person. Required for non-FR UBOs when the organization investor has FATCA/CRS status `passiveNFE`."},{"type":"null"},{"type":"null"}]}},"required":["firstName","lastName","relationshipTypes"],"additionalProperties":false},"title":"Related persons","description":"UBOs, directors, and other related persons to create and link to the investor. Organization investors must provide all their UBOs and directors. FR organizations are exempt unless the distributor operates under a KYC reliance agreement with Spiko."},"id":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"createdOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"updatedOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"status":{"type":"string","enum":["pending-onboarding-workflow"],"deprecated":true},"complianceStatus":{"type":"string","enum":["pending-onboarding"]},"allowedByDistributorShareClasses":{"anyOf":[{"type":"array","prefixItems":[{"$ref":"#/components/schemas/ShareClassSymbol"}],"minItems":1,"items":{"$ref":"#/components/schemas/ShareClassSymbol"}},{"type":"null"}],"title":"Allowed share classes","description":"The share classes this investor may access, or null when they may access every share class you distribute."}},"required":["firstName","lastName","country","address","zipCode","city","details","id","distributorId","createdOn","updatedOn","status","complianceStatus"],"additionalProperties":false}]}}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Retrieve a paginated list of investors linked to the distributor.**\n\n- Investors are sorted by creation date (newest first).\n- Pagination parameters (`page` & `limit`) are optional and default to `page = 1` and `limit = 50`.\n- Use `textSearch` to filter investors by ID, name (first/last/legal), or email.\n          ","summary":"Get investors"}},"/v0/investors/{id}":{"get":{"tags":["Investors"],"operationId":"investors.getInvestor","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Legal representative first name (for organizational investors)"},"lastName":{"type":"string","title":"Last name","description":"Legal representative last name (for organizational investors)"},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"address":{"type":"string","title":"Address","description":"Registered legal address (for organizational investors)"},"zipCode":{"type":"string"},"city":{"type":"string"},"details":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["individual"]},"taxInformationByCountryOfResidence":{"type":"array","prefixItems":[{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}],"minItems":1,"items":{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"}]},"placeOfBirth":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"}]},"industry":{"anyOf":[{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation","Politics","Retired","Student"]},{"type":"null"}]}},"required":["type","taxInformationByCountryOfResidence","dateOfBirth","placeOfBirth","gender","industry"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["organization"]},"legalName":{"$ref":"#/components/schemas/LegalEntityName"},"legalEntityType":{"type":"string"},"registrationNumber":{"type":"string"},"industry":{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation"]}},"required":["type","legalName","legalEntityType","registrationNumber","industry"],"additionalProperties":false}]},"relatedPersons":{"type":"array","items":{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Person first name"},"lastName":{"type":"string","title":"Last name","description":"Person last name"},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"},{"type":"null"}],"title":"Gender","description":"Person gender (optional)"},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"},{"type":"null"}],"title":"Date of birth","description":"Person date of birth (optional)"},"cityOfBirth":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of birth","description":"Person city of birth (optional)"},"countryOfBirth":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of birth","description":"Person country of birth (optional)"},"nationality":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Nationality","description":"Person nationality (optional)"},"addressOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"Address of residence","description":"Person address of residence (optional)"},"cityOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of residence","description":"Person city of residence (optional)"},"zipCodeOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"ZIP code of residence","description":"Person ZIP code of residence (optional)"},"countryOfResidence":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of residence","description":"Person country of residence (optional)"},"relationshipTypes":{"type":"array","items":{"type":"string","enum":["ubo","director","self","other"]},"title":"Relationship types","description":"Types of relationship between person and investor"},"fiscalIdentificationNumber":{"anyOf":[{"type":"string","title":"Fiscal identification number","description":"Tax identification number of the person. Required for non-FR UBOs when the organization investor has FATCA/CRS status `passiveNFE`."},{"type":"null"},{"type":"null"}]}},"required":["firstName","lastName","relationshipTypes"],"additionalProperties":false},"title":"Related persons","description":"UBOs, directors, and other related persons to create and link to the investor. Organization investors must provide all their UBOs and directors. FR organizations are exempt unless the distributor operates under a KYC reliance agreement with Spiko."},"id":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"createdOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"updatedOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"status":{"type":"string","enum":["compliant"],"deprecated":true},"complianceStatus":{"type":"string","enum":["compliant"]},"allowedByDistributorShareClasses":{"anyOf":[{"type":"array","prefixItems":[{"$ref":"#/components/schemas/ShareClassSymbol"}],"minItems":1,"items":{"$ref":"#/components/schemas/ShareClassSymbol"}},{"type":"null"}],"title":"Allowed share classes","description":"The share classes this investor may access, or null when they may access every share class you distribute."},"hasAccessToProfessionalProducts":{"type":"boolean"}},"required":["firstName","lastName","country","address","zipCode","city","details","id","distributorId","createdOn","updatedOn","status","complianceStatus","hasAccessToProfessionalProducts"],"additionalProperties":false},{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Legal representative first name (for organizational investors)"},"lastName":{"type":"string","title":"Last name","description":"Legal representative last name (for organizational investors)"},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"address":{"type":"string","title":"Address","description":"Registered legal address (for organizational investors)"},"zipCode":{"type":"string"},"city":{"type":"string"},"details":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["individual"]},"taxInformationByCountryOfResidence":{"type":"array","prefixItems":[{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}],"minItems":1,"items":{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"}]},"placeOfBirth":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"}]},"industry":{"anyOf":[{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation","Politics","Retired","Student"]},{"type":"null"}]}},"required":["type","taxInformationByCountryOfResidence","dateOfBirth","placeOfBirth","gender","industry"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["organization"]},"legalName":{"$ref":"#/components/schemas/LegalEntityName"},"legalEntityType":{"type":"string"},"registrationNumber":{"type":"string"},"industry":{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation"]}},"required":["type","legalName","legalEntityType","registrationNumber","industry"],"additionalProperties":false}]},"relatedPersons":{"type":"array","items":{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Person first name"},"lastName":{"type":"string","title":"Last name","description":"Person last name"},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"},{"type":"null"}],"title":"Gender","description":"Person gender (optional)"},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"},{"type":"null"}],"title":"Date of birth","description":"Person date of birth (optional)"},"cityOfBirth":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of birth","description":"Person city of birth (optional)"},"countryOfBirth":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of birth","description":"Person country of birth (optional)"},"nationality":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Nationality","description":"Person nationality (optional)"},"addressOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"Address of residence","description":"Person address of residence (optional)"},"cityOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of residence","description":"Person city of residence (optional)"},"zipCodeOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"ZIP code of residence","description":"Person ZIP code of residence (optional)"},"countryOfResidence":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of residence","description":"Person country of residence (optional)"},"relationshipTypes":{"type":"array","items":{"type":"string","enum":["ubo","director","self","other"]},"title":"Relationship types","description":"Types of relationship between person and investor"},"fiscalIdentificationNumber":{"anyOf":[{"type":"string","title":"Fiscal identification number","description":"Tax identification number of the person. Required for non-FR UBOs when the organization investor has FATCA/CRS status `passiveNFE`."},{"type":"null"},{"type":"null"}]}},"required":["firstName","lastName","relationshipTypes"],"additionalProperties":false},"title":"Related persons","description":"UBOs, directors, and other related persons to create and link to the investor. Organization investors must provide all their UBOs and directors. FR organizations are exempt unless the distributor operates under a KYC reliance agreement with Spiko."},"id":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"createdOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"updatedOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"status":{"type":"string","enum":["non-compliant"],"deprecated":true},"complianceStatus":{"type":"string","enum":["non-compliant"]},"allowedByDistributorShareClasses":{"anyOf":[{"type":"array","prefixItems":[{"$ref":"#/components/schemas/ShareClassSymbol"}],"minItems":1,"items":{"$ref":"#/components/schemas/ShareClassSymbol"}},{"type":"null"}],"title":"Allowed share classes","description":"The share classes this investor may access, or null when they may access every share class you distribute."}},"required":["firstName","lastName","country","address","zipCode","city","details","id","distributorId","createdOn","updatedOn","status","complianceStatus"],"additionalProperties":false},{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Legal representative first name (for organizational investors)"},"lastName":{"type":"string","title":"Last name","description":"Legal representative last name (for organizational investors)"},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"address":{"type":"string","title":"Address","description":"Registered legal address (for organizational investors)"},"zipCode":{"type":"string"},"city":{"type":"string"},"details":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["individual"]},"taxInformationByCountryOfResidence":{"type":"array","prefixItems":[{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}],"minItems":1,"items":{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"}]},"placeOfBirth":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"}]},"industry":{"anyOf":[{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation","Politics","Retired","Student"]},{"type":"null"}]}},"required":["type","taxInformationByCountryOfResidence","dateOfBirth","placeOfBirth","gender","industry"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["organization"]},"legalName":{"$ref":"#/components/schemas/LegalEntityName"},"legalEntityType":{"type":"string"},"registrationNumber":{"type":"string"},"industry":{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation"]}},"required":["type","legalName","legalEntityType","registrationNumber","industry"],"additionalProperties":false}]},"relatedPersons":{"type":"array","items":{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Person first name"},"lastName":{"type":"string","title":"Last name","description":"Person last name"},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"},{"type":"null"}],"title":"Gender","description":"Person gender (optional)"},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"},{"type":"null"}],"title":"Date of birth","description":"Person date of birth (optional)"},"cityOfBirth":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of birth","description":"Person city of birth (optional)"},"countryOfBirth":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of birth","description":"Person country of birth (optional)"},"nationality":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Nationality","description":"Person nationality (optional)"},"addressOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"Address of residence","description":"Person address of residence (optional)"},"cityOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of residence","description":"Person city of residence (optional)"},"zipCodeOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"ZIP code of residence","description":"Person ZIP code of residence (optional)"},"countryOfResidence":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of residence","description":"Person country of residence (optional)"},"relationshipTypes":{"type":"array","items":{"type":"string","enum":["ubo","director","self","other"]},"title":"Relationship types","description":"Types of relationship between person and investor"},"fiscalIdentificationNumber":{"anyOf":[{"type":"string","title":"Fiscal identification number","description":"Tax identification number of the person. Required for non-FR UBOs when the organization investor has FATCA/CRS status `passiveNFE`."},{"type":"null"},{"type":"null"}]}},"required":["firstName","lastName","relationshipTypes"],"additionalProperties":false},"title":"Related persons","description":"UBOs, directors, and other related persons to create and link to the investor. Organization investors must provide all their UBOs and directors. FR organizations are exempt unless the distributor operates under a KYC reliance agreement with Spiko."},"id":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"createdOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"updatedOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"status":{"type":"string","enum":["pending-onboarding-workflow"],"deprecated":true},"complianceStatus":{"type":"string","enum":["pending-onboarding"]},"allowedByDistributorShareClasses":{"anyOf":[{"type":"array","prefixItems":[{"$ref":"#/components/schemas/ShareClassSymbol"}],"minItems":1,"items":{"$ref":"#/components/schemas/ShareClassSymbol"}},{"type":"null"}],"title":"Allowed share classes","description":"The share classes this investor may access, or null when they may access every share class you distribute."}},"required":["firstName","lastName","country","address","zipCode","city","details","id","distributorId","createdOn","updatedOn","status","complianceStatus"],"additionalProperties":false}]}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Retrieve detailed information about an investor linked to the distributor.**\n\n- Returns the complete investor profile including company or personal details and compliance status.\n          ","summary":"Get investor"},"patch":{"tags":["Investors"],"operationId":"investors.updateInvestor","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Legal representative first name (for organizational investors)"},"lastName":{"type":"string","title":"Last name","description":"Legal representative last name (for organizational investors)"},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"address":{"type":"string","title":"Address","description":"Registered legal address (for organizational investors)"},"zipCode":{"type":"string"},"city":{"type":"string"},"details":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["individual"]},"taxInformationByCountryOfResidence":{"type":"array","prefixItems":[{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}],"minItems":1,"items":{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"}]},"placeOfBirth":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"}]},"industry":{"anyOf":[{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation","Politics","Retired","Student"]},{"type":"null"}]}},"required":["type","taxInformationByCountryOfResidence","dateOfBirth","placeOfBirth","gender","industry"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["organization"]},"legalName":{"$ref":"#/components/schemas/LegalEntityName"},"legalEntityType":{"type":"string"},"registrationNumber":{"type":"string"},"industry":{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation"]}},"required":["type","legalName","legalEntityType","registrationNumber","industry"],"additionalProperties":false}]},"relatedPersons":{"type":"array","items":{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Person first name"},"lastName":{"type":"string","title":"Last name","description":"Person last name"},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"},{"type":"null"}],"title":"Gender","description":"Person gender (optional)"},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"},{"type":"null"}],"title":"Date of birth","description":"Person date of birth (optional)"},"cityOfBirth":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of birth","description":"Person city of birth (optional)"},"countryOfBirth":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of birth","description":"Person country of birth (optional)"},"nationality":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Nationality","description":"Person nationality (optional)"},"addressOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"Address of residence","description":"Person address of residence (optional)"},"cityOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of residence","description":"Person city of residence (optional)"},"zipCodeOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"ZIP code of residence","description":"Person ZIP code of residence (optional)"},"countryOfResidence":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of residence","description":"Person country of residence (optional)"},"relationshipTypes":{"type":"array","items":{"type":"string","enum":["ubo","director","self","other"]},"title":"Relationship types","description":"Types of relationship between person and investor"},"fiscalIdentificationNumber":{"anyOf":[{"type":"string","title":"Fiscal identification number","description":"Tax identification number of the person. Required for non-FR UBOs when the organization investor has FATCA/CRS status `passiveNFE`."},{"type":"null"},{"type":"null"}]}},"required":["firstName","lastName","relationshipTypes"],"additionalProperties":false},"title":"Related persons","description":"UBOs, directors, and other related persons to create and link to the investor. Organization investors must provide all their UBOs and directors. FR organizations are exempt unless the distributor operates under a KYC reliance agreement with Spiko."},"id":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"createdOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"updatedOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"status":{"type":"string","enum":["compliant"],"deprecated":true},"complianceStatus":{"type":"string","enum":["compliant"]},"allowedByDistributorShareClasses":{"anyOf":[{"type":"array","prefixItems":[{"$ref":"#/components/schemas/ShareClassSymbol"}],"minItems":1,"items":{"$ref":"#/components/schemas/ShareClassSymbol"}},{"type":"null"}],"title":"Allowed share classes","description":"The share classes this investor may access, or null when they may access every share class you distribute."},"hasAccessToProfessionalProducts":{"type":"boolean"}},"required":["firstName","lastName","country","address","zipCode","city","details","id","distributorId","createdOn","updatedOn","status","complianceStatus","hasAccessToProfessionalProducts"],"additionalProperties":false},{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Legal representative first name (for organizational investors)"},"lastName":{"type":"string","title":"Last name","description":"Legal representative last name (for organizational investors)"},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"address":{"type":"string","title":"Address","description":"Registered legal address (for organizational investors)"},"zipCode":{"type":"string"},"city":{"type":"string"},"details":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["individual"]},"taxInformationByCountryOfResidence":{"type":"array","prefixItems":[{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}],"minItems":1,"items":{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"}]},"placeOfBirth":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"}]},"industry":{"anyOf":[{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation","Politics","Retired","Student"]},{"type":"null"}]}},"required":["type","taxInformationByCountryOfResidence","dateOfBirth","placeOfBirth","gender","industry"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["organization"]},"legalName":{"$ref":"#/components/schemas/LegalEntityName"},"legalEntityType":{"type":"string"},"registrationNumber":{"type":"string"},"industry":{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation"]}},"required":["type","legalName","legalEntityType","registrationNumber","industry"],"additionalProperties":false}]},"relatedPersons":{"type":"array","items":{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Person first name"},"lastName":{"type":"string","title":"Last name","description":"Person last name"},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"},{"type":"null"}],"title":"Gender","description":"Person gender (optional)"},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"},{"type":"null"}],"title":"Date of birth","description":"Person date of birth (optional)"},"cityOfBirth":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of birth","description":"Person city of birth (optional)"},"countryOfBirth":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of birth","description":"Person country of birth (optional)"},"nationality":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Nationality","description":"Person nationality (optional)"},"addressOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"Address of residence","description":"Person address of residence (optional)"},"cityOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of residence","description":"Person city of residence (optional)"},"zipCodeOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"ZIP code of residence","description":"Person ZIP code of residence (optional)"},"countryOfResidence":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of residence","description":"Person country of residence (optional)"},"relationshipTypes":{"type":"array","items":{"type":"string","enum":["ubo","director","self","other"]},"title":"Relationship types","description":"Types of relationship between person and investor"},"fiscalIdentificationNumber":{"anyOf":[{"type":"string","title":"Fiscal identification number","description":"Tax identification number of the person. Required for non-FR UBOs when the organization investor has FATCA/CRS status `passiveNFE`."},{"type":"null"},{"type":"null"}]}},"required":["firstName","lastName","relationshipTypes"],"additionalProperties":false},"title":"Related persons","description":"UBOs, directors, and other related persons to create and link to the investor. Organization investors must provide all their UBOs and directors. FR organizations are exempt unless the distributor operates under a KYC reliance agreement with Spiko."},"id":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"createdOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"updatedOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"status":{"type":"string","enum":["non-compliant"],"deprecated":true},"complianceStatus":{"type":"string","enum":["non-compliant"]},"allowedByDistributorShareClasses":{"anyOf":[{"type":"array","prefixItems":[{"$ref":"#/components/schemas/ShareClassSymbol"}],"minItems":1,"items":{"$ref":"#/components/schemas/ShareClassSymbol"}},{"type":"null"}],"title":"Allowed share classes","description":"The share classes this investor may access, or null when they may access every share class you distribute."}},"required":["firstName","lastName","country","address","zipCode","city","details","id","distributorId","createdOn","updatedOn","status","complianceStatus"],"additionalProperties":false},{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Legal representative first name (for organizational investors)"},"lastName":{"type":"string","title":"Last name","description":"Legal representative last name (for organizational investors)"},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"address":{"type":"string","title":"Address","description":"Registered legal address (for organizational investors)"},"zipCode":{"type":"string"},"city":{"type":"string"},"details":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["individual"]},"taxInformationByCountryOfResidence":{"type":"array","prefixItems":[{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}],"minItems":1,"items":{"type":"object","properties":{"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"taxInformation":{"anyOf":[{"type":"object","properties":{"taxIdentificationNumber":{"type":"string"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["taxIdentificationNumber","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["country"],"additionalProperties":false}},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"}]},"placeOfBirth":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"}]},"industry":{"anyOf":[{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation","Politics","Retired","Student"]},{"type":"null"}]}},"required":["type","taxInformationByCountryOfResidence","dateOfBirth","placeOfBirth","gender","industry"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["organization"]},"legalName":{"$ref":"#/components/schemas/LegalEntityName"},"legalEntityType":{"type":"string"},"registrationNumber":{"type":"string"},"industry":{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation"]}},"required":["type","legalName","legalEntityType","registrationNumber","industry"],"additionalProperties":false}]},"relatedPersons":{"type":"array","items":{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Person first name"},"lastName":{"type":"string","title":"Last name","description":"Person last name"},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"},{"type":"null"}],"title":"Gender","description":"Person gender (optional)"},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"},{"type":"null"}],"title":"Date of birth","description":"Person date of birth (optional)"},"cityOfBirth":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of birth","description":"Person city of birth (optional)"},"countryOfBirth":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of birth","description":"Person country of birth (optional)"},"nationality":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Nationality","description":"Person nationality (optional)"},"addressOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"Address of residence","description":"Person address of residence (optional)"},"cityOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of residence","description":"Person city of residence (optional)"},"zipCodeOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"ZIP code of residence","description":"Person ZIP code of residence (optional)"},"countryOfResidence":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of residence","description":"Person country of residence (optional)"},"relationshipTypes":{"type":"array","items":{"type":"string","enum":["ubo","director","self","other"]},"title":"Relationship types","description":"Types of relationship between person and investor"},"fiscalIdentificationNumber":{"anyOf":[{"type":"string","title":"Fiscal identification number","description":"Tax identification number of the person. Required for non-FR UBOs when the organization investor has FATCA/CRS status `passiveNFE`."},{"type":"null"},{"type":"null"}]}},"required":["firstName","lastName","relationshipTypes"],"additionalProperties":false},"title":"Related persons","description":"UBOs, directors, and other related persons to create and link to the investor. Organization investors must provide all their UBOs and directors. FR organizations are exempt unless the distributor operates under a KYC reliance agreement with Spiko."},"id":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"createdOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"updatedOn":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"status":{"type":"string","enum":["pending-onboarding-workflow"],"deprecated":true},"complianceStatus":{"type":"string","enum":["pending-onboarding"]},"allowedByDistributorShareClasses":{"anyOf":[{"type":"array","prefixItems":[{"$ref":"#/components/schemas/ShareClassSymbol"}],"minItems":1,"items":{"$ref":"#/components/schemas/ShareClassSymbol"}},{"type":"null"}],"title":"Allowed share classes","description":"The share classes this investor may access, or null when they may access every share class you distribute."}},"required":["firstName","lastName","country","address","zipCode","city","details","id","distributorId","createdOn","updatedOn","status","complianceStatus"],"additionalProperties":false}]}}}},"400":{"description":"BadRequest | Bad Request | Distributors using the Spiko License model must provide an investorEmail for every investor | Individual investors must provide a tax identification number for every country of tax residence outside France | The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BadRequestError"},{"$ref":"#/components/schemas/MissingInvestorEmailError"},{"$ref":"#/components/schemas/MissingTaxIdentificationNumberError"},{"$ref":"#/components/schemas/HttpApiDecodeError"}]}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Modify an existing investor by updating the specified attributes.**\n\n- Return the complete investor profile.\n- When `taxInformationByCountryOfResidence` is sent, every country of tax residence outside France needs a `taxIdentificationNumber`.\n            ","summary":"Update investor","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Legal representative first name (for organizational investors)"},"lastName":{"type":"string","title":"Last name","description":"Legal representative last name (for organizational investors)"},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"address":{"type":"string","title":"Address","description":"Registered legal address (for organizational investors)"},"zipCode":{"type":"string"},"city":{"type":"string"},"details":{"anyOf":[{"type":"object","properties":{"taxInformationByCountryOfResidence":{"$ref":"#/components/schemas/TaxIdentificationNumberByCountry"},"dateOfBirth":{"$ref":"#/components/schemas/Day"},"placeOfBirth":{"type":"string"},"gender":{"type":"string","enum":["Female","Male"]},"nationality":{"$ref":"#/components/schemas/CountryCodeAlpha2"},"industry":{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation","Politics","Retired","Student"]}},"additionalProperties":false,"minProperties":1},{"type":"object","properties":{"legalName":{"$ref":"#/components/schemas/LegalEntityName"},"legalEntityType":{"type":"string"},"registrationNumber":{"type":"string"},"industry":{"type":"string","enum":["AgricultureAndFoodProcessing","ArtsMediaAndEntertainment","CasinosAndGambling","Construction","Cryptocurrency","DefenseAndMilitaryIndustry","Education","EnergyAndUtilities","FinancialServices","FoodAndLodging","Government","HealthProfessions","HoldingCompany","IndustryAndManufacturing","Mining","NonProfit","ProfessionalServices","RealEstate","RetailTradeAutomotive","RetailTradeJewelryAntiques","RetailTradeOthers","SportAndTourism","TechnologyAndComputing","Transportation"]},"fatcaCrsStatus":{"type":"string","enum":["activeNFE","passiveNFE","FE"],"title":"FATCA/CRS status","description":"FATCA/CRS entity classification. When `passiveNFE`, non-FR UBOs must provide a `fiscalIdentificationNumber`."}},"additionalProperties":false}]},"relatedPersons":{"type":"array","items":{"type":"object","properties":{"firstName":{"type":"string","title":"First name","description":"Person first name"},"lastName":{"type":"string","title":"Last name","description":"Person last name"},"gender":{"anyOf":[{"type":"string","enum":["Female","Male"]},{"type":"null"},{"type":"null"}],"title":"Gender","description":"Person gender (optional)"},"dateOfBirth":{"anyOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"},{"type":"null"}],"title":"Date of birth","description":"Person date of birth (optional)"},"cityOfBirth":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of birth","description":"Person city of birth (optional)"},"countryOfBirth":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of birth","description":"Person country of birth (optional)"},"nationality":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Nationality","description":"Person nationality (optional)"},"addressOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"Address of residence","description":"Person address of residence (optional)"},"cityOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"City of residence","description":"Person city of residence (optional)"},"zipCodeOfResidence":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}],"title":"ZIP code of residence","description":"Person ZIP code of residence (optional)"},"countryOfResidence":{"anyOf":[{"$ref":"#/components/schemas/CountryCodeAlpha2"},{"type":"null"},{"type":"null"}],"title":"Country of residence","description":"Person country of residence (optional)"},"relationshipTypes":{"type":"array","items":{"type":"string","enum":["ubo","director","self","other"]},"title":"Relationship types","description":"Types of relationship between person and investor"},"fiscalIdentificationNumber":{"anyOf":[{"type":"string","title":"Fiscal identification number","description":"Tax identification number of the person. Required for non-FR UBOs when the organization investor has FATCA/CRS status `passiveNFE`."},{"type":"null"},{"type":"null"}]}},"required":["firstName","lastName","relationshipTypes"],"additionalProperties":false},"title":"Related persons","description":"UBOs, directors, and other related persons to create and link to the investor. Organization investors must provide all their UBOs and directors. FR organizations are exempt unless the distributor operates under a KYC reliance agreement with Spiko."},"investorEmail":{"type":"string","title":"Investor email","description":"Email address of the investor. Replaces the previously stored contact. Must remain set for distributors using the Spiko License model."},"allowedByDistributorShareClasses":{"anyOf":[{"type":"array","prefixItems":[{"$ref":"#/components/schemas/ShareClassSymbol"}],"minItems":1,"items":{"$ref":"#/components/schemas/ShareClassSymbol"}},{"type":"null"}],"title":"Allowed share classes","description":"Restricts the investor to this subset of the share classes you distribute. Send null to lift the restriction and give the investor your full range. Omit it to leave the current restriction untouched."}},"additionalProperties":false}}},"required":true}}},"/v0/accounts":{"post":{"tags":["Accounts"],"operationId":"accounts.createAccount","parameters":[],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"walletId":{"$ref":"#/components/schemas/UUID"},"address":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"$ref":"#/components/schemas/StarknetAddress"},{"$ref":"#/components/schemas/StellarAccountAddress"},{"$ref":"#/components/schemas/StellarContractAddress"},{"$ref":"#/components/schemas/SolanaAddress"}],"description":"Deprecated. Use the wallet API instead.","deprecated":true},"network":{"type":"string","enum":["Ethereum","Polygon","Base","Arbitrum","ArbitrumUk","Etherlink","Starknet","Stellar","Solana"],"title":"Network","description":"Deprecated. Use the wallet API instead.","deprecated":true},"createdAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["Some"]},"value":{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1}},"required":["_tag","value"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["None"]}},"required":["_tag"],"additionalProperties":false}]},"shareClassIds":{"type":"array","items":{"$ref":"#/components/schemas/UUID"}}},"required":["id","investorId","walletId","address","network","createdAt","name","shareClassIds"],"additionalProperties":false}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"Create an account for an investor","summary":"Create an account","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"investorId":{"$ref":"#/components/schemas/UUID"},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"shareClassIds":{"type":"array","items":{"$ref":"#/components/schemas/UUID"}}},"required":["investorId"],"additionalProperties":false}}},"required":true}},"get":{"tags":["Accounts"],"operationId":"accounts.getAccounts","parameters":[{"name":"investorId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"walletId":{"$ref":"#/components/schemas/UUID"},"address":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"$ref":"#/components/schemas/StarknetAddress"},{"$ref":"#/components/schemas/StellarAccountAddress"},{"$ref":"#/components/schemas/StellarContractAddress"},{"$ref":"#/components/schemas/SolanaAddress"}],"description":"Deprecated. Use the wallet API instead.","deprecated":true},"network":{"type":"string","enum":["Ethereum","Polygon","Base","Arbitrum","ArbitrumUk","Etherlink","Starknet","Stellar","Solana"],"title":"Network","description":"Deprecated. Use the wallet API instead.","deprecated":true},"createdAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["Some"]},"value":{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1}},"required":["_tag","value"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["None"]}},"required":["_tag"],"additionalProperties":false}]},"shareClassIds":{"type":"array","items":{"$ref":"#/components/schemas/UUID"}}},"required":["id","investorId","walletId","address","network","createdAt","name","shareClassIds"],"additionalProperties":false}}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"Retrieve all accounts associated with a specific investor. Returns a list of accounts that can be used for deposits and withdrawals.","summary":"Get accounts of an investor"}},"/v0/accounts/{accountId}/lines":{"post":{"tags":["Accounts"],"operationId":"accounts.addAccountLine","parameters":[{"name":"accountId","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"walletId":{"$ref":"#/components/schemas/UUID"},"address":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"$ref":"#/components/schemas/StarknetAddress"},{"$ref":"#/components/schemas/StellarAccountAddress"},{"$ref":"#/components/schemas/StellarContractAddress"},{"$ref":"#/components/schemas/SolanaAddress"}],"description":"Deprecated. Use the wallet API instead.","deprecated":true},"network":{"type":"string","enum":["Ethereum","Polygon","Base","Arbitrum","ArbitrumUk","Etherlink","Starknet","Stellar","Solana"],"title":"Network","description":"Deprecated. Use the wallet API instead.","deprecated":true},"createdAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["Some"]},"value":{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1}},"required":["_tag","value"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["None"]}},"required":["_tag"],"additionalProperties":false}]},"shareClassIds":{"type":"array","items":{"$ref":"#/components/schemas/UUID"}}},"required":["id","investorId","walletId","address","network","createdAt","name","shareClassIds"],"additionalProperties":false}}}},"400":{"description":"BadRequest | The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"409":{"description":"Conflict"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"Add a new line to an internal account for a given share class. This enables the investor to hold and subscribe to that share class within the account. Returns 409 if the account already has a line for the specified share class.","summary":"Add a share-class line to an account","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"shareClassId":{"$ref":"#/components/schemas/UUID"}},"required":["shareClassId"],"additionalProperties":false}}},"required":true}}},"/v0/accounts/external":{"post":{"tags":["Accounts"],"operationId":"accounts.createExternalAccount","parameters":[],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"walletId":{"$ref":"#/components/schemas/UUID"},"address":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"$ref":"#/components/schemas/StarknetAddress"},{"$ref":"#/components/schemas/StellarAccountAddress"},{"$ref":"#/components/schemas/StellarContractAddress"},{"$ref":"#/components/schemas/SolanaAddress"}],"description":"Deprecated. Use the wallet API instead.","deprecated":true},"network":{"type":"string","enum":["Ethereum","Polygon","Base","Arbitrum","ArbitrumUk","Etherlink","Starknet","Stellar","Solana"],"title":"Network","description":"Deprecated. Use the wallet API instead.","deprecated":true},"createdAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["Some"]},"value":{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1}},"required":["_tag","value"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["None"]}},"required":["_tag"],"additionalProperties":false}]},"shareClassIds":{"type":"array","items":{"$ref":"#/components/schemas/UUID"}}},"required":["id","investorId","walletId","address","network","createdAt","name","shareClassIds"],"additionalProperties":false}}}},"400":{"description":"Network Not Enabled | The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/NetworkNotEnabledError"},{"$ref":"#/components/schemas/HttpApiDecodeError"}]}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"409":{"description":"Conflict"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Register and authorize one of an investor's own blockchain addresses as an external account.**\n\n- The returned `walletId` is the identifier to use as a `stablecoin-transfer` withdrawal destination on [create withdrawal order](#tag/Withdrawal-orders/operation/withdrawalOrders.createWithdrawalOrder), and the address a stablecoin deposit must originate from.\n- `network` must be one of the networks enabled for the environment, and `address` must be a valid address for that network's family.\n- The address must not already be assigned to another investor (409). Re-submitting an address whose account was previously archived reopens that account and returns its original `id`.\n- An investor may hold at most 100 active external accounts (409).\n- Whitelisting is submitted on-chain asynchronously: a success response means the transaction was launched, not yet confirmed.\n\n> ⚠️ Only register addresses the investor actually controls. Spiko does not verify ownership on this endpoint, and the address is authorized for payouts on your assertion alone.\n","summary":"Create external account","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"network":{"$ref":"#/components/schemas/Network"},"address":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"$ref":"#/components/schemas/StarknetAddress"},{"$ref":"#/components/schemas/StellarAccountAddress"},{"$ref":"#/components/schemas/StellarContractAddress"},{"$ref":"#/components/schemas/SolanaAddress"}]},"investorId":{"$ref":"#/components/schemas/UUID"},"name":{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1}},"required":["network","address","investorId"],"additionalProperties":false}}},"required":true}}},"/v0/accounts/{accountId}":{"get":{"tags":["Accounts"],"operationId":"accounts.getAccount","parameters":[{"name":"accountId","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"walletId":{"$ref":"#/components/schemas/UUID"},"address":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"$ref":"#/components/schemas/StarknetAddress"},{"$ref":"#/components/schemas/StellarAccountAddress"},{"$ref":"#/components/schemas/StellarContractAddress"},{"$ref":"#/components/schemas/SolanaAddress"}],"description":"Deprecated. Use the wallet API instead.","deprecated":true},"network":{"type":"string","enum":["Ethereum","Polygon","Base","Arbitrum","ArbitrumUk","Etherlink","Starknet","Stellar","Solana"],"title":"Network","description":"Deprecated. Use the wallet API instead.","deprecated":true},"createdAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["Some"]},"value":{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1}},"required":["_tag","value"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["None"]}},"required":["_tag"],"additionalProperties":false}]},"shareClassIds":{"type":"array","items":{"$ref":"#/components/schemas/UUID"}}},"required":["id","investorId","walletId","address","network","createdAt","name","shareClassIds"],"additionalProperties":false}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"Retrieve account information (including the investor who owns it) by providing the account ID.","summary":"Get account"}},"/v0/accounts/{accountId}/deposit-instructions":{"get":{"tags":["Accounts"],"operationId":"accounts.getDepositInstructions","parameters":[{"name":"accountId","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true},{"name":"shareClassId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":true},{"name":"subscriptionCurrency","in":"query","schema":{"$ref":"#/components/schemas/CurrencyCode"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"shareClassCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"accounts":{"type":"array","items":{"type":"object","properties":{"accountDetails":{"anyOf":[{"type":"object","properties":{"sortCode":{"type":"string","pattern":"^\\d{2}-\\d{2}-\\d{2}$"},"accountNumber":{"type":"string","title":"UK Bank Account Number","description":"a valid UK Bank Account Number (8 digits)"}},"required":["sortCode","accountNumber"],"additionalProperties":false},{"type":"object","properties":{"iban":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"bic":{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},"intermediaryBic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]}},"required":["iban","bic","intermediaryBic"],"additionalProperties":false}]},"bankName":{"type":"string","enum":["Memo Bank","Banking Circle","CACEIS","HSBC"]},"beneficiaryName":{"type":"string","minLength":1},"rails":{"type":"array","items":{"type":"string","enum":["SCT","SCT Instant","SWIFT","Faster Payments","CHAPS","BACS"]}}},"required":["accountDetails","bankName","beneficiaryName","rails"],"additionalProperties":false}},"stablecoinDepositAccounts":{"type":"array","items":{"type":"object","properties":{"network":{"$ref":"#/components/schemas/Network"},"address":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"$ref":"#/components/schemas/StarknetAddress"},{"$ref":"#/components/schemas/StellarAccountAddress"},{"$ref":"#/components/schemas/StellarContractAddress"},{"$ref":"#/components/schemas/SolanaAddress"}]},"stablecoins":{"type":"array","items":{"type":"string","enum":["USDC","EURC"]}}},"required":["network","address","stablecoins"],"additionalProperties":false}}},"required":["shareClassCurrency","accounts","stablecoinDepositAccounts"],"additionalProperties":false}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"422":{"description":"The account has no virtual IBAN in the requested currency to receive this deposit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDepositAccountInCurrencyError"}}}},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Retrieve deposit instructions for a given account, share class, and subscription currency.**\n\nReturns a list of virtual bank accounts, each with its supported payment rails. An empty list means the share class cannot be funded by bank transfer in `subscriptionCurrency` on this account: the account has no active line on the share class, no virtual bank account is provisioned, or the share class does not accept deposits in that currency.\n\nWhen `subscriptionCurrency` differs from the share class currency, the deposit is routed in one of two ways depending on the fund:\n- Share classes listing `subscriptionCurrency` in their `intermediaryShareClasses` (for example `USTBL` and `UKTBL` in `EUR`): the virtual IBAN is provisioned on the account's line on the requested share class itself, so no line on the intermediary share class is needed.\n- `SAFO` share classes: the instructions point to the investor's virtual bank account on the share class of the same fund denominated in `subscriptionCurrency` (a `SAFOd` deposit in `EUR` is funded through the `eurSAFOd` virtual IBAN). The request fails with `NoDepositAccountInCurrencyError` (422) when that share class is not available to the distributor, or when the account has no virtual IBAN on it.\n\nEach entry includes payment informations and supported rails:\n- `SCT` / `SCT Instant` - SEPA Credit Transfer (EUR)\n- `Faster Payments` / `CHAPS` / `BACS` - UK local transfers (GBP); also includes `gbpLocalDetails` with sort code and account number\n- `SWIFT` - international wire\n\nThe response also lists stablecoin deposit accounts under `stablecoinDepositAccounts`: one deposit address per supported network, provisioned on demand the first time instructions are requested. Each address accepts every stablecoin listed in its `stablecoins` field (independent of `subscriptionCurrency`); sending a supported stablecoin to it automatically creates and funds a subscription. An empty list means stablecoin deposits are not available for this account and share class (the feature requires an organization, or an individual with a tax identification number on file, on supported share classes).\n          ","summary":"Get deposit instructions"}},"/v0/deposit-orders/":{"post":{"tags":["Deposit orders"],"operationId":"depositOrders.createDepositOrder","parameters":[],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"wireInstructions":{"type":"object","properties":{"reference":{"$ref":"#/components/schemas/WireReference"},"iban":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"intermediaryBic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]},"bic":{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},"currency":{"allOf":[{"$ref":"#/components/schemas/CurrencyCode"}],"description":"Currency the wire must be sent in. It is the currency of the destination account and of the order amount, which can differ from the share class currency."}},"required":["reference","iban","intermediaryBic","bic","currency"],"additionalProperties":false},"status":{"type":"string","enum":["created"]},"createdAt":{"type":"string"}},"required":["id","investorId","accountId","shareClassId","amount","wireInstructions","status","createdAt"],"additionalProperties":false}}}},"400":{"description":"Application Error | The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/ApplicationError"},{"$ref":"#/components/schemas/HttpApiDecodeError"}]}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"409":{"description":"Investor token has already been used","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DuplicateInvestorTokenError"}}}},"422":{"description":"Investor is not ready for order creation yet | The account has no virtual IBAN in the requested currency to receive this deposit","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/InvestorNotReadyError"},{"$ref":"#/components/schemas/NoDepositAccountInCurrencyError"}]}}}},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Create a new deposit order for an investor with the specified parameters.**\n\n- Return order details, including wire instructions to fund the deposit.\n- A deposit in a currency other than the share class currency is funded through the investor's virtual IBAN on the share class of the same fund denominated in that currency (a `SAFOd` deposit in `EUR` is wired to the `eurSAFOd` virtual IBAN). The account must hold an active line on that share class; otherwise the request fails with `NoDepositAccountInCurrencyError` (422) and no order is created.\n- Set `sendDepositInstructions` to email the subscription form for this order to your distributor contact address.\n- `sendDepositInstructions` has no effect when authenticating with an investor JWT. Use [the subscription form endpoint](#tag/Deposit-orders/operation/depositOrders.getSubscriptionForm) to retrieve the same document, with any authentication method.\n\n> **Distribute-with-Spiko's-license distributors** cannot place this order from their backend. The investor must place it directly from the browser with a short-lived [Investor JWT](/developers/distributor_api/technical_guides/investor_jwt), targeting the investor-scoped path **`POST /v0/investor/deposit-orders/`** (identical payload and response, but authenticated with the investor JWT as bearer token instead of your API credentials).\n","summary":"Create deposit order","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"investorId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"accountId":{"anyOf":[{"$ref":"#/components/schemas/UUID"},{"type":"null"},{"type":"null"}]},"sendDepositInstructions":{"anyOf":[{"type":"object","properties":{"value":{"type":"boolean","enum":[false]}},"required":["value"],"additionalProperties":false},{"type":"object","properties":{"value":{"type":"boolean","enum":[true]},"locale":{"$ref":"#/components/schemas/LocaleLanguage"}},"required":["value","locale"],"additionalProperties":false}]}},"required":["investorId","amount","shareClassId"],"additionalProperties":false}}},"required":true}},"get":{"tags":["Deposit orders"],"operationId":"depositOrders.getDepositOrders","parameters":[{"name":"investorId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":true},{"name":"shareClassId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":false},{"name":"page","in":"query","schema":{"type":"string","title":"Page number","description":"defaults to \"1\" if not provided "},"required":false},{"name":"limit","in":"query","schema":{"type":"string","title":"Number of items per page","description":"defaults to \"50\" if not provided"},"required":false}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"createdAt":{"type":"string"},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["created"]}},"required":["id","investorId","accountId","shareClassId","amount","createdAt","settlement","status"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"createdAt":{"type":"string"},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["pending-collection"]}},"required":["id","investorId","accountId","shareClassId","amount","createdAt","settlement","status"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"createdAt":{"type":"string"},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["funded"]},"fundedAt":{"type":"string"}},"required":["id","investorId","accountId","shareClassId","amount","createdAt","settlement","status","fundedAt"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"createdAt":{"type":"string"},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["executed"]},"fundedAt":{"type":"string"},"executedAt":{"type":"string"}},"required":["id","investorId","accountId","shareClassId","amount","createdAt","settlement","status","fundedAt","executedAt"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"createdAt":{"type":"string"},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["canceled"]},"canceledAt":{"type":"string"}},"required":["id","investorId","accountId","shareClassId","amount","createdAt","settlement","status","canceledAt"],"additionalProperties":false}]}}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"500":{"description":"InternalServerError"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Retrieve a paginated list of the deposit orders made by an investor.**\n\n> ⚠️ **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.\n\n- Orders are sorted by creation date (newest first).\n- When `shareClassId` is specified, only deposit orders for that share class are returned.\n- Pagination parameters (`page` & `limit`) are optional and default to `page = 1` and `limit = 50`.\n          ","summary":"Get deposit orders"}},"/v0/deposit-orders/{id}":{"get":{"tags":["Deposit orders"],"operationId":"depositOrders.getDepositOrder","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"createdAt":{"type":"string"},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["created"]}},"required":["id","investorId","accountId","shareClassId","amount","createdAt","settlement","status"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"createdAt":{"type":"string"},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["pending-collection"]}},"required":["id","investorId","accountId","shareClassId","amount","createdAt","settlement","status"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"createdAt":{"type":"string"},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["funded"]},"fundedAt":{"type":"string"}},"required":["id","investorId","accountId","shareClassId","amount","createdAt","settlement","status","fundedAt"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"createdAt":{"type":"string"},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["executed"]},"fundedAt":{"type":"string"},"executedAt":{"type":"string"}},"required":["id","investorId","accountId","shareClassId","amount","createdAt","settlement","status","fundedAt","executedAt"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"createdAt":{"type":"string"},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["canceled"]},"canceledAt":{"type":"string"}},"required":["id","investorId","accountId","shareClassId","amount","createdAt","settlement","status","canceledAt"],"additionalProperties":false}]}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Retrieve information about a specific deposit order.**\n\n- Includes order status (`created` / `pending-collection` / `funded` / `executed` / `canceled`).\n","summary":"Get deposit order"}},"/v0/deposit-orders/subscription-form/":{"get":{"tags":["Deposit orders"],"operationId":"depositOrders.getSubscriptionForm","parameters":[{"name":"accountId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":true},{"name":"shareClassId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":true},{"name":"amount","in":"query","schema":{"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\""},"required":true},{"name":"currency","in":"query","schema":{"$ref":"#/components/schemas/CurrencyCode"},"required":true},{"name":"locale","in":"query","schema":{"$ref":"#/components/schemas/LocaleLanguage"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"422":{"description":"The account has no virtual IBAN in the requested currency to receive this deposit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoDepositAccountInCurrencyError"}}}},"500":{"description":"InternalServerError"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Get a pre-signed URL to download the subscription form for a deposit you are about to make, as a PDF.**\n\n- Use this when you wire funds to the account's virtual IBAN, and your bank requires the subscription form to release the transfer. The wire is reconciled on arrival, so no order has to exist beforehand.\n- The document restates the investor's details, the fund being subscribed to, and the wire instructions to fund the deposit. It is the document to forward to a bank, or to keep as a payment justification.\n- Returns a pre-signed URL that can be used to download the document. The URL is valid for one hour.\n- `locale` selects the language of the document and is required. The same account, share class, amount, currency and locale always resolve to the same stored file.\n","summary":"Get a subscription form to support placing a deposit order"}},"/v0/deposit-orders/all/":{"get":{"tags":["Deposit orders"],"operationId":"depositOrders.getAllDistributorDepositOrders","parameters":[{"name":"page","in":"query","schema":{"type":"string","title":"Page number","description":"defaults to \"1\" if not provided "},"required":false},{"name":"limit","in":"query","schema":{"type":"string","title":"Number of items per page","description":"defaults to \"50\" if not provided"},"required":false}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"createdAt":{"type":"string"},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["created"]}},"required":["id","investorId","accountId","shareClassId","amount","createdAt","settlement","status"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"createdAt":{"type":"string"},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["pending-collection"]}},"required":["id","investorId","accountId","shareClassId","amount","createdAt","settlement","status"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"createdAt":{"type":"string"},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["funded"]},"fundedAt":{"type":"string"}},"required":["id","investorId","accountId","shareClassId","amount","createdAt","settlement","status","fundedAt"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"createdAt":{"type":"string"},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["executed"]},"fundedAt":{"type":"string"},"executedAt":{"type":"string"}},"required":["id","investorId","accountId","shareClassId","amount","createdAt","settlement","status","fundedAt","executedAt"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"createdAt":{"type":"string"},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["canceled"]},"canceledAt":{"type":"string"}},"required":["id","investorId","accountId","shareClassId","amount","createdAt","settlement","status","canceledAt"],"additionalProperties":false}]}}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"500":{"description":"InternalServerError"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Retrieve a paginated list of all deposit orders made by a distributor.**\n\n> ⚠️ **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.\n\n- Orders are sorted by creation date (newest first).\n- Pagination parameters (`page` & `limit`) are optional and default to `page = 1` and `limit = 50`.\n          ","summary":"Get all distributor deposit orders"}},"/v0/deposit-orders/{id}/cancel":{"put":{"tags":["Deposit orders"],"operationId":"depositOrders.cancelDepositOrder","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"createdAt":{"type":"string"},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["created"]}},"required":["id","investorId","accountId","shareClassId","amount","createdAt","settlement","status"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"createdAt":{"type":"string"},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["pending-collection"]}},"required":["id","investorId","accountId","shareClassId","amount","createdAt","settlement","status"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"createdAt":{"type":"string"},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["funded"]},"fundedAt":{"type":"string"}},"required":["id","investorId","accountId","shareClassId","amount","createdAt","settlement","status","fundedAt"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"createdAt":{"type":"string"},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["executed"]},"fundedAt":{"type":"string"},"executedAt":{"type":"string"}},"required":["id","investorId","accountId","shareClassId","amount","createdAt","settlement","status","fundedAt","executedAt"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"createdAt":{"type":"string"},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["canceled"]},"canceledAt":{"type":"string"}},"required":["id","investorId","accountId","shareClassId","amount","createdAt","settlement","status","canceledAt"],"additionalProperties":false}]}}}},"400":{"description":"Bad Request | The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BadRequestError"},{"$ref":"#/components/schemas/HttpApiDecodeError"}]}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"500":{"description":"InternalServerError"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Cancel a deposit order.** Order must be in created or pending-collection status.\n\n> **Distribute-with-Spiko's-license distributors** cannot cancel this order from their backend. The investor must do it directly from the browser with a short-lived [Investor JWT](/developers/distributor_api/technical_guides/investor_jwt), targeting the investor-scoped path **`PUT /v0/investor/deposit-orders/{id}/cancel`** (identical payload and response, but authenticated with the investor JWT as bearer token instead of your API credentials).\n","summary":"Cancel deposit order"}},"/v0/deposit-orders/{id}/retarget":{"put":{"tags":["Deposit orders"],"operationId":"depositOrders.retargetDepositOrder","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"createdAt":{"type":"string"},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["created"]}},"required":["id","investorId","accountId","shareClassId","amount","createdAt","settlement","status"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"createdAt":{"type":"string"},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["pending-collection"]}},"required":["id","investorId","accountId","shareClassId","amount","createdAt","settlement","status"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"createdAt":{"type":"string"},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["funded"]},"fundedAt":{"type":"string"}},"required":["id","investorId","accountId","shareClassId","amount","createdAt","settlement","status","fundedAt"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"createdAt":{"type":"string"},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["executed"]},"fundedAt":{"type":"string"},"executedAt":{"type":"string"}},"required":["id","investorId","accountId","shareClassId","amount","createdAt","settlement","status","fundedAt","executedAt"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"createdAt":{"type":"string"},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["canceled"]},"canceledAt":{"type":"string"}},"required":["id","investorId","accountId","shareClassId","amount","createdAt","settlement","status","canceledAt"],"additionalProperties":false}]}}}},"400":{"description":"Application Error | The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/ApplicationError"},{"$ref":"#/components/schemas/HttpApiDecodeError"}]}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Move a funded deposit order to another share class of the same fund, before it is valued.**\n\n- Use this when an investor funded a deposit for one share class and wants the shares issued in another one - a different currency class of the same fund, typically.\n- The order must be `funded` and not yet selected for execution. Once the daily execution has picked it up, retargeting is refused.\n- The target share class must belong to the same fund as the current one, must be available to you, and the investor's account must not have a frozen or closed line for it. A line the account does not hold yet is opened as part of the re-target.\n- Returns the updated order, with its new `shareClassId`.\n\n> **Distribute-with-Spiko's-license distributors** cannot re-target this order from their backend. The investor must do it directly from the browser with a short-lived [Investor JWT](/developers/distributor_api/technical_guides/investor_jwt), targeting the investor-scoped path **`PUT /v0/investor/deposit-orders/{id}/retarget`** (identical payload and response, but authenticated with the investor JWT as bearer token instead of your API credentials).\n","summary":"Retarget deposit order","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"shareClassId":{"$ref":"#/components/schemas/UUID"}},"required":["shareClassId"],"additionalProperties":false}}},"required":true}}},"/v0/withdrawal-orders/":{"post":{"tags":["Withdrawal orders"],"operationId":"withdrawalOrders.createWithdrawalOrder","parameters":[],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"destination":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["bank-transfer"]},"bankAccountId":{"$ref":"#/components/schemas/UUID"}},"required":["type","bankAccountId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["instant-bank-transfer"]},"bankAccountId":{"$ref":"#/components/schemas/UUID"}},"required":["type","bankAccountId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["stablecoin-transfer"]},"walletId":{"$ref":"#/components/schemas/UUID"}},"required":["type","walletId"],"additionalProperties":false}]},"quantity":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["amount"]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["mode","amount"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["shares"]},"shares":{"type":"string"}},"required":["mode","shares"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["total"]}},"required":["mode"],"additionalProperties":false}]},"status":{"type":"string","enum":["pending","executed","canceled"]},"createdAt":{"type":"string"},"executedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"canceledAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]}},"required":["id","investorId","accountId","shareClassId","destination","quantity","status","createdAt","executedAt","canceledAt","settlement"],"additionalProperties":false}}}},"400":{"description":"Bad Request | Application Error | Insufficient balance in account to process requested operation | The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BadRequestError"},{"$ref":"#/components/schemas/ApplicationError"},{"$ref":"#/components/schemas/InsufficientBalanceError"},{"$ref":"#/components/schemas/HttpApiDecodeError"}]}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"409":{"description":"Investor token has already been used","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DuplicateInvestorTokenError"}}}},"422":{"description":"Investor is not ready for order creation yet | Unprocessable Content | Requested instant withdrawal amount exceeds daily limit for this investor","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/InvestorNotReadyError"},{"$ref":"#/components/schemas/UnprocessableContentError"},{"$ref":"#/components/schemas/InstantWithdrawalDailyLimitExceededError"}]}}}},"503":{"description":"Service Unavailable | Instant withdrawals are disabled for this distributor | The bank is experiencing a temporary outage | The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/ServiceUnavailableError"},{"$ref":"#/components/schemas/InstantWithdrawalDisabledError"},{"$ref":"#/components/schemas/BankOutageError"},{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}]}}}}},"description":"\n**Create a new withdrawal order for an investor with the specified parameters.**\n\n- The `destination` field supports three modes:\n  - `{\"type\":\"bank-transfer\",\"bankAccountId\":\"...\"}` - pay out by bank transfer to one of the investor's bank accounts\n  - `{\"type\":\"instant-bank-transfer\",\"bankAccountId\":\"...\"}` - **instant withdrawal**: pay out the same day by instant bank transfer to one of the investor's bank accounts, without waiting for the standard settlement cycle\n  - `{\"type\":\"stablecoin-transfer\",\"walletId\":\"...\"}` - pay out in stablecoin to one of the investor's external wallets (organizations or individuals with a tax identification number, on supported share classes)\n- The top-level `bankAccountId` field is a deprecated shorthand for the bank-transfer destination; provide exactly one of `destination` or `bankAccountId`.\n- The `quantity` field supports three modes:\n  - `{\"mode\":\"amount\",\"amount\":{\"value\":\"1000\",\"currency\":\"USD\"}}` - withdraw a specific fiat amount\n  - `{\"mode\":\"shares\",\"shares\":\"10.5\"}` - withdraw a specific number of shares\n  - `{\"mode\":\"total\"}` - withdraw all shares (full withdrawal)\n- If the order is expressed in shares or if it is total, the currency used will be the bank account currency.\n- Returns complete order details, including its UUID identifier.\n- **Instant withdrawals** carry extra conditions: your distributor must be enabled for them, the share class must be `EUTBL` or `eurSAFO`, the amount must be in `EUR` and within the investor's remaining daily instant limit, the destination bank account must be validated, and its bank must accept instant transfers. They are executed straight away and cannot be canceled.\n\n> **Distribute-with-Spiko's-license distributors** cannot place this order from their backend. The investor must place it directly from the browser with a short-lived [Investor JWT](/developers/distributor_api/technical_guides/investor_jwt), targeting the investor-scoped path **`POST /v0/investor/withdrawal-orders/`** (identical payload and response, but authenticated with the investor JWT as bearer token instead of your API credentials).\n","summary":"Create withdrawal order","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"anyOf":[{"$ref":"#/components/schemas/UUID"},{"type":"null"},{"type":"null"}]},"shareClassId":{"$ref":"#/components/schemas/UUID"},"bankAccountId":{"anyOf":[{"type":"string","format":"uuid","description":"Deprecated. Use `destination` instead.","deprecated":true},{"type":"null"},{"type":"null"}]},"destination":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["bank-transfer"]},"bankAccountId":{"$ref":"#/components/schemas/UUID"}},"required":["type","bankAccountId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["instant-bank-transfer"]},"bankAccountId":{"$ref":"#/components/schemas/UUID"}},"required":["type","bankAccountId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["stablecoin-transfer"]},"walletId":{"$ref":"#/components/schemas/UUID"}},"required":["type","walletId"],"additionalProperties":false},{"type":"null"},{"type":"null"}]},"quantity":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["amount"]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["mode","amount"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["shares"]},"shares":{"type":"string"}},"required":["mode","shares"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["total"]}},"required":["mode"],"additionalProperties":false}]}},"required":["investorId","shareClassId","quantity"],"additionalProperties":false}}},"required":true}},"get":{"tags":["Withdrawal orders"],"operationId":"withdrawalOrders.getWithdrawalOrders","parameters":[{"name":"investorId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":true},{"name":"shareClassId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":false},{"name":"page","in":"query","schema":{"type":"string","title":"Page number","description":"defaults to \"1\" if not provided "},"required":false},{"name":"limit","in":"query","schema":{"type":"string","title":"Number of items per page","description":"defaults to \"50\" if not provided"},"required":false}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"destination":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["bank-transfer"]},"bankAccountId":{"$ref":"#/components/schemas/UUID"}},"required":["type","bankAccountId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["instant-bank-transfer"]},"bankAccountId":{"$ref":"#/components/schemas/UUID"}},"required":["type","bankAccountId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["stablecoin-transfer"]},"walletId":{"$ref":"#/components/schemas/UUID"}},"required":["type","walletId"],"additionalProperties":false}]},"quantity":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["amount"]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["mode","amount"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["shares"]},"shares":{"type":"string"}},"required":["mode","shares"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["total"]}},"required":["mode"],"additionalProperties":false}]},"status":{"type":"string","enum":["pending","executed","canceled"]},"createdAt":{"type":"string"},"executedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"canceledAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]}},"required":["id","investorId","accountId","shareClassId","destination","quantity","status","createdAt","executedAt","canceledAt","settlement"],"additionalProperties":false}}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Retrieve a paginated list of the withdrawal orders made by an investor.**\n\n> ⚠️ **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.\n\n- Orders are sorted by creation date (newest first).\n- When `shareClassId` is specified, only withdrawal orders for that share class are returned.\n- Pagination parameters (`page` & `limit`) are optional and default to `page = 1` and `limit = 50`.\n          ","summary":"Get withdrawal orders"}},"/v0/withdrawal-orders/{id}":{"get":{"tags":["Withdrawal orders"],"operationId":"withdrawalOrders.getWithdrawalOrder","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"destination":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["bank-transfer"]},"bankAccountId":{"$ref":"#/components/schemas/UUID"}},"required":["type","bankAccountId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["instant-bank-transfer"]},"bankAccountId":{"$ref":"#/components/schemas/UUID"}},"required":["type","bankAccountId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["stablecoin-transfer"]},"walletId":{"$ref":"#/components/schemas/UUID"}},"required":["type","walletId"],"additionalProperties":false}]},"quantity":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["amount"]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["mode","amount"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["shares"]},"shares":{"type":"string"}},"required":["mode","shares"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["total"]}},"required":["mode"],"additionalProperties":false}]},"status":{"type":"string","enum":["pending","executed","canceled"]},"createdAt":{"type":"string"},"executedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"canceledAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]}},"required":["id","investorId","accountId","shareClassId","destination","quantity","status","createdAt","executedAt","canceledAt","settlement"],"additionalProperties":false}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Retrieve information about a specific withdrawal order.**\n\n- Includes order status (`pending` / `executed` / `canceled`).\n","summary":"Get withdrawal order"}},"/v0/withdrawal-orders/all/":{"get":{"tags":["Withdrawal orders"],"operationId":"withdrawalOrders.getAllDistributorWithdrawalOrders","parameters":[{"name":"page","in":"query","schema":{"type":"string","title":"Page number","description":"defaults to \"1\" if not provided "},"required":false},{"name":"limit","in":"query","schema":{"type":"string","title":"Number of items per page","description":"defaults to \"50\" if not provided"},"required":false}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"destination":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["bank-transfer"]},"bankAccountId":{"$ref":"#/components/schemas/UUID"}},"required":["type","bankAccountId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["instant-bank-transfer"]},"bankAccountId":{"$ref":"#/components/schemas/UUID"}},"required":["type","bankAccountId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["stablecoin-transfer"]},"walletId":{"$ref":"#/components/schemas/UUID"}},"required":["type","walletId"],"additionalProperties":false}]},"quantity":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["amount"]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["mode","amount"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["shares"]},"shares":{"type":"string"}},"required":["mode","shares"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["total"]}},"required":["mode"],"additionalProperties":false}]},"status":{"type":"string","enum":["pending","executed","canceled"]},"createdAt":{"type":"string"},"executedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"canceledAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]}},"required":["id","investorId","accountId","shareClassId","destination","quantity","status","createdAt","executedAt","canceledAt","settlement"],"additionalProperties":false}}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Retrieve a paginated list of all withdrawal orders made by a distributor.**\n\n> ⚠️ **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.\n\n- Orders are sorted by creation date (newest first).\n- Pagination parameters (`page` & `limit`) are optional and default to `page = 1` and `limit = 50`.\n          ","summary":"Get all distributor withdrawal orders"}},"/v0/withdrawal-orders/instant-eligibility":{"get":{"tags":["Withdrawal orders"],"operationId":"withdrawalOrders.getInstantWithdrawalEligibility","parameters":[{"name":"investorId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":true},{"name":"shareClassSymbol","in":"query","schema":{"$ref":"#/components/schemas/ShareClassSymbol"},"required":true},{"name":"bankAccountId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":false}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"eligible":{"type":"boolean","enum":[false]}},"required":["eligible"],"additionalProperties":false},{"type":"object","properties":{"eligible":{"type":"boolean","enum":[true]},"bankSupportsInstant":{"type":"boolean"},"availableAmount":{"type":"string"}},"required":["eligible","bankSupportsInstant","availableAmount"],"additionalProperties":false}]}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundError"}}}},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Check whether an investor can place an instant withdrawal, and how much.**\n\n- Returns `{\"eligible\":false}` when instant withdrawals are unavailable for this investor and share class.\n- When eligible, `availableAmount` is the remaining amount (in `EUR`) the investor can instantly withdraw today, and `bankSupportsInstant` indicates whether the destination bank accepts instant transfers (always `true` when `bankAccountId` is omitted).\n","summary":"Get instant withdrawal eligibility"}},"/v0/withdrawal-orders/{id}/cancel":{"put":{"tags":["Withdrawal orders"],"operationId":"withdrawalOrders.cancelWithdrawalOrder","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"destination":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["bank-transfer"]},"bankAccountId":{"$ref":"#/components/schemas/UUID"}},"required":["type","bankAccountId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["instant-bank-transfer"]},"bankAccountId":{"$ref":"#/components/schemas/UUID"}},"required":["type","bankAccountId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["stablecoin-transfer"]},"walletId":{"$ref":"#/components/schemas/UUID"}},"required":["type","walletId"],"additionalProperties":false}]},"quantity":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["amount"]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["mode","amount"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["shares"]},"shares":{"type":"string"}},"required":["mode","shares"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["total"]}},"required":["mode"],"additionalProperties":false}]},"status":{"type":"string","enum":["pending","executed","canceled"]},"createdAt":{"type":"string"},"executedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"canceledAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"settlement":{"anyOf":[{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"shares":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["amount","shares","appliedNAV"],"additionalProperties":false},{"type":"null"}]}},"required":["id","investorId","accountId","shareClassId","destination","quantity","status","createdAt","executedAt","canceledAt","settlement"],"additionalProperties":false}}}},"400":{"description":"Bad Request | The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BadRequestError"},{"$ref":"#/components/schemas/HttpApiDecodeError"}]}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"500":{"description":"InternalServerError"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Cancel a withdrawal order.** Order must be in `pending` status.\n\n> **Distribute-with-Spiko's-license distributors** cannot cancel this order from their backend. The investor must do it directly from the browser with a short-lived [Investor JWT](/developers/distributor_api/technical_guides/investor_jwt), targeting the investor-scoped path **`PUT /v0/investor/withdrawal-orders/{id}/cancel`** (identical payload and response, but authenticated with the investor JWT as bearer token instead of your API credentials).\n","summary":"Cancel withdrawal order"}},"/v0/swap-orders/":{"post":{"tags":["Swap orders"],"operationId":"swapOrders.createSwapOrder","parameters":[],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"fromShareClassId":{"$ref":"#/components/schemas/UUID"},"toShareClassId":{"$ref":"#/components/schemas/UUID"},"quantity":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["amount"]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["mode","amount"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["shares"]},"shares":{"type":"string"}},"required":["mode","shares"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["total"]}},"required":["mode"],"additionalProperties":false}]},"createdAt":{"type":"string"},"status":{"type":"string","enum":["created"]}},"required":["id","investorId","accountId","fromShareClassId","toShareClassId","quantity","createdAt","status"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"fromShareClassId":{"$ref":"#/components/schemas/UUID"},"toShareClassId":{"$ref":"#/components/schemas/UUID"},"quantity":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["amount"]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["mode","amount"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["shares"]},"shares":{"type":"string"}},"required":["mode","shares"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["total"]}},"required":["mode"],"additionalProperties":false}]},"createdAt":{"type":"string"},"status":{"type":"string","enum":["executed"]},"executedAt":{"type":"string"},"settlement":{"type":"object","properties":{"source":{"type":"object","properties":{"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"sharesAmount":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["shareClassId","amount","sharesAmount","appliedNAV"],"additionalProperties":false},"target":{"type":"object","properties":{"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"sharesAmount":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["shareClassId","amount","sharesAmount","appliedNAV"],"additionalProperties":false},"exchangeRate":{"anyOf":[{"type":"object","properties":{"fundId":{"$ref":"#/components/schemas/UUID"},"day":{"$ref":"#/components/schemas/Day"},"baseCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quoteCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"fxRate":{"type":"string"}},"required":["fundId","day","baseCurrency","quoteCurrency","fxRate"],"additionalProperties":false},{"type":"null"}]}},"required":["source","target","exchangeRate"],"additionalProperties":false}},"required":["id","investorId","accountId","fromShareClassId","toShareClassId","quantity","createdAt","status","executedAt","settlement"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"fromShareClassId":{"$ref":"#/components/schemas/UUID"},"toShareClassId":{"$ref":"#/components/schemas/UUID"},"quantity":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["amount"]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["mode","amount"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["shares"]},"shares":{"type":"string"}},"required":["mode","shares"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["total"]}},"required":["mode"],"additionalProperties":false}]},"createdAt":{"type":"string"},"status":{"type":"string","enum":["canceled"]},"canceledAt":{"type":"string"},"canceledBy":{"type":"string","enum":["admin","distributor","investor","system"]}},"required":["id","investorId","accountId","fromShareClassId","toShareClassId","quantity","createdAt","status","canceledAt","canceledBy"],"additionalProperties":false}]}}}},"400":{"description":"Application Error | Insufficient balance in account to process requested operation | This pair of share classes cannot be swapped. `reason` says why. | The target account holds no active line for this share class. Add one first, then retry the swap. | The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/ApplicationError"},{"$ref":"#/components/schemas/InsufficientBalanceError"},{"$ref":"#/components/schemas/SwapNotAvailableError"},{"$ref":"#/components/schemas/MissingAccountLineError"},{"$ref":"#/components/schemas/HttpApiDecodeError"}]}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"409":{"description":"A fixed-term line is funded once, at its opening","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatedLineAlreadyFundedError"}}}},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Move an investor's holdings directly from one share class to another. This is materialized by a linked redemption/subscription pair.**\n\n- `accountId` must belong to `investorId` and must already hold an active line for `toShareClassId`; otherwise the order is rejected with `MissingAccountLineError`. Add the line with [POST /v0/accounts/{accountId}/lines](#tag/Accounts/operation/accounts.addAccountLine) and retry.\n- The `quantity` field supports three modes:\n  - `{\"mode\":\"amount\",\"amount\":{\"value\":\"1000\",\"currency\":\"USD\"}}` - swap a specific amount\n  - `{\"mode\":\"shares\",\"shares\":\"10.5\"}` - swap a specific number of shares\n  - `{\"mode\":\"total\"}` - swap the whole position\n- In `amount` mode, `amount.currency` **must** be the currency of `fromShareClassId` (`USD` for `SAFO`, `EUR` for `eurSAFO`, and so on). Any other currency, including the target share class currency, is rejected with an `ApplicationError` carrying `customErrorCode: \"CurrencyNotSupported\"`. A swap is always sized on the side it leaves from; the conversion to the target currency happens at execution.\n- Not every pair of share classes can be swapped. An unavailable pair is rejected with `SwapNotAvailableError`, whose `reason` says why (`share-classes-not-swappable`, `no-conversion-path`, …).\n- Where the two share classes are denominated in different currencies, the conversion is applied at execution using that day's rate. The rate is not known when the order is created, so it appears in `settlement.exchangeRate` only once the order reaches `executed`.\n- The order stays `created` until both sides have been valued, then becomes `executed` and carries a `settlement` with both sides' amounts, shares and applied NAVs. Depending on the funds involved, the two sides are valued either on the same day or a few business days apart.\n\n> **Distribute-with-Spiko's-license distributors** cannot place this order. Swap orders are not yet available through an [Investor JWT](/developers/distributor_api/technical_guides/investor_jwt).\n","summary":"Create swap order","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"fromShareClassId":{"$ref":"#/components/schemas/UUID"},"toShareClassId":{"$ref":"#/components/schemas/UUID"},"quantity":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["amount"]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["mode","amount"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["shares"]},"shares":{"type":"string"}},"required":["mode","shares"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["total"]}},"required":["mode"],"additionalProperties":false}]}},"required":["investorId","accountId","fromShareClassId","toShareClassId","quantity"],"additionalProperties":false}}},"required":true}},"get":{"tags":["Swap orders"],"operationId":"swapOrders.getSwapOrders","parameters":[{"name":"investorId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":true},{"name":"shareClassId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":false},{"name":"page","in":"query","schema":{"type":"string","title":"Page number","description":"defaults to \"1\" if not provided "},"required":false},{"name":"limit","in":"query","schema":{"type":"string","title":"Number of items per page","description":"defaults to \"50\" if not provided"},"required":false}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"fromShareClassId":{"$ref":"#/components/schemas/UUID"},"toShareClassId":{"$ref":"#/components/schemas/UUID"},"quantity":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["amount"]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["mode","amount"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["shares"]},"shares":{"type":"string"}},"required":["mode","shares"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["total"]}},"required":["mode"],"additionalProperties":false}]},"createdAt":{"type":"string"},"status":{"type":"string","enum":["created"]}},"required":["id","investorId","accountId","fromShareClassId","toShareClassId","quantity","createdAt","status"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"fromShareClassId":{"$ref":"#/components/schemas/UUID"},"toShareClassId":{"$ref":"#/components/schemas/UUID"},"quantity":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["amount"]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["mode","amount"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["shares"]},"shares":{"type":"string"}},"required":["mode","shares"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["total"]}},"required":["mode"],"additionalProperties":false}]},"createdAt":{"type":"string"},"status":{"type":"string","enum":["executed"]},"executedAt":{"type":"string"},"settlement":{"type":"object","properties":{"source":{"type":"object","properties":{"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"sharesAmount":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["shareClassId","amount","sharesAmount","appliedNAV"],"additionalProperties":false},"target":{"type":"object","properties":{"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"sharesAmount":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["shareClassId","amount","sharesAmount","appliedNAV"],"additionalProperties":false},"exchangeRate":{"anyOf":[{"type":"object","properties":{"fundId":{"$ref":"#/components/schemas/UUID"},"day":{"$ref":"#/components/schemas/Day"},"baseCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quoteCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"fxRate":{"type":"string"}},"required":["fundId","day","baseCurrency","quoteCurrency","fxRate"],"additionalProperties":false},{"type":"null"}]}},"required":["source","target","exchangeRate"],"additionalProperties":false}},"required":["id","investorId","accountId","fromShareClassId","toShareClassId","quantity","createdAt","status","executedAt","settlement"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"fromShareClassId":{"$ref":"#/components/schemas/UUID"},"toShareClassId":{"$ref":"#/components/schemas/UUID"},"quantity":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["amount"]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["mode","amount"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["shares"]},"shares":{"type":"string"}},"required":["mode","shares"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["total"]}},"required":["mode"],"additionalProperties":false}]},"createdAt":{"type":"string"},"status":{"type":"string","enum":["canceled"]},"canceledAt":{"type":"string"},"canceledBy":{"type":"string","enum":["admin","distributor","investor","system"]}},"required":["id","investorId","accountId","fromShareClassId","toShareClassId","quantity","createdAt","status","canceledAt","canceledBy"],"additionalProperties":false}]}}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Retrieve a paginated list of the swap orders made by an investor.**\n\n> ⚠️ **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.\n\n- Orders are sorted by creation date (newest first).\n- When `shareClassId` is specified, only swap orders with that share class on either side are returned.\n- Pagination parameters (`page` & `limit`) are optional and default to `page = 1` and `limit = 50`.\n","summary":"Get swap orders"}},"/v0/swap-orders/{id}":{"get":{"tags":["Swap orders"],"operationId":"swapOrders.getSwapOrder","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"fromShareClassId":{"$ref":"#/components/schemas/UUID"},"toShareClassId":{"$ref":"#/components/schemas/UUID"},"quantity":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["amount"]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["mode","amount"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["shares"]},"shares":{"type":"string"}},"required":["mode","shares"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["total"]}},"required":["mode"],"additionalProperties":false}]},"createdAt":{"type":"string"},"status":{"type":"string","enum":["created"]}},"required":["id","investorId","accountId","fromShareClassId","toShareClassId","quantity","createdAt","status"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"fromShareClassId":{"$ref":"#/components/schemas/UUID"},"toShareClassId":{"$ref":"#/components/schemas/UUID"},"quantity":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["amount"]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["mode","amount"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["shares"]},"shares":{"type":"string"}},"required":["mode","shares"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["total"]}},"required":["mode"],"additionalProperties":false}]},"createdAt":{"type":"string"},"status":{"type":"string","enum":["executed"]},"executedAt":{"type":"string"},"settlement":{"type":"object","properties":{"source":{"type":"object","properties":{"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"sharesAmount":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["shareClassId","amount","sharesAmount","appliedNAV"],"additionalProperties":false},"target":{"type":"object","properties":{"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"sharesAmount":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["shareClassId","amount","sharesAmount","appliedNAV"],"additionalProperties":false},"exchangeRate":{"anyOf":[{"type":"object","properties":{"fundId":{"$ref":"#/components/schemas/UUID"},"day":{"$ref":"#/components/schemas/Day"},"baseCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quoteCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"fxRate":{"type":"string"}},"required":["fundId","day","baseCurrency","quoteCurrency","fxRate"],"additionalProperties":false},{"type":"null"}]}},"required":["source","target","exchangeRate"],"additionalProperties":false}},"required":["id","investorId","accountId","fromShareClassId","toShareClassId","quantity","createdAt","status","executedAt","settlement"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"fromShareClassId":{"$ref":"#/components/schemas/UUID"},"toShareClassId":{"$ref":"#/components/schemas/UUID"},"quantity":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["amount"]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["mode","amount"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["shares"]},"shares":{"type":"string"}},"required":["mode","shares"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["total"]}},"required":["mode"],"additionalProperties":false}]},"createdAt":{"type":"string"},"status":{"type":"string","enum":["canceled"]},"canceledAt":{"type":"string"},"canceledBy":{"type":"string","enum":["admin","distributor","investor","system"]}},"required":["id","investorId","accountId","fromShareClassId","toShareClassId","quantity","createdAt","status","canceledAt","canceledBy"],"additionalProperties":false}]}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Retrieve information about a specific swap order.**\n\n- Includes order status (`created` / `executed` / `canceled`).\n- Once `executed`, `settlement` carries both sides: the amount, share quantity and applied NAV that left the source share class and that entered the target one, plus the applied exchange rate for a cross-currency swap.\n","summary":"Get swap order"}},"/v0/swap-orders/all/":{"get":{"tags":["Swap orders"],"operationId":"swapOrders.getAllDistributorSwapOrders","parameters":[{"name":"page","in":"query","schema":{"type":"string","title":"Page number","description":"defaults to \"1\" if not provided "},"required":false},{"name":"limit","in":"query","schema":{"type":"string","title":"Number of items per page","description":"defaults to \"50\" if not provided"},"required":false}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"fromShareClassId":{"$ref":"#/components/schemas/UUID"},"toShareClassId":{"$ref":"#/components/schemas/UUID"},"quantity":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["amount"]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["mode","amount"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["shares"]},"shares":{"type":"string"}},"required":["mode","shares"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["total"]}},"required":["mode"],"additionalProperties":false}]},"createdAt":{"type":"string"},"status":{"type":"string","enum":["created"]}},"required":["id","investorId","accountId","fromShareClassId","toShareClassId","quantity","createdAt","status"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"fromShareClassId":{"$ref":"#/components/schemas/UUID"},"toShareClassId":{"$ref":"#/components/schemas/UUID"},"quantity":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["amount"]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["mode","amount"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["shares"]},"shares":{"type":"string"}},"required":["mode","shares"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["total"]}},"required":["mode"],"additionalProperties":false}]},"createdAt":{"type":"string"},"status":{"type":"string","enum":["executed"]},"executedAt":{"type":"string"},"settlement":{"type":"object","properties":{"source":{"type":"object","properties":{"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"sharesAmount":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["shareClassId","amount","sharesAmount","appliedNAV"],"additionalProperties":false},"target":{"type":"object","properties":{"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"sharesAmount":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["shareClassId","amount","sharesAmount","appliedNAV"],"additionalProperties":false},"exchangeRate":{"anyOf":[{"type":"object","properties":{"fundId":{"$ref":"#/components/schemas/UUID"},"day":{"$ref":"#/components/schemas/Day"},"baseCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quoteCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"fxRate":{"type":"string"}},"required":["fundId","day","baseCurrency","quoteCurrency","fxRate"],"additionalProperties":false},{"type":"null"}]}},"required":["source","target","exchangeRate"],"additionalProperties":false}},"required":["id","investorId","accountId","fromShareClassId","toShareClassId","quantity","createdAt","status","executedAt","settlement"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"fromShareClassId":{"$ref":"#/components/schemas/UUID"},"toShareClassId":{"$ref":"#/components/schemas/UUID"},"quantity":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["amount"]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["mode","amount"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["shares"]},"shares":{"type":"string"}},"required":["mode","shares"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["total"]}},"required":["mode"],"additionalProperties":false}]},"createdAt":{"type":"string"},"status":{"type":"string","enum":["canceled"]},"canceledAt":{"type":"string"},"canceledBy":{"type":"string","enum":["admin","distributor","investor","system"]}},"required":["id","investorId","accountId","fromShareClassId","toShareClassId","quantity","createdAt","status","canceledAt","canceledBy"],"additionalProperties":false}]}}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Retrieve a paginated list of all swap orders made by a distributor.**\n\n- Orders are sorted by creation date (newest first).\n- Pagination parameters (`page` & `limit`) are optional and default to `page = 1` and `limit = 50`.\n","summary":"Get all distributor swap orders"}},"/v0/swap-orders/{id}/cancel":{"put":{"tags":["Swap orders"],"operationId":"swapOrders.cancelSwapOrder","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"fromShareClassId":{"$ref":"#/components/schemas/UUID"},"toShareClassId":{"$ref":"#/components/schemas/UUID"},"quantity":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["amount"]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["mode","amount"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["shares"]},"shares":{"type":"string"}},"required":["mode","shares"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["total"]}},"required":["mode"],"additionalProperties":false}]},"createdAt":{"type":"string"},"status":{"type":"string","enum":["created"]}},"required":["id","investorId","accountId","fromShareClassId","toShareClassId","quantity","createdAt","status"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"fromShareClassId":{"$ref":"#/components/schemas/UUID"},"toShareClassId":{"$ref":"#/components/schemas/UUID"},"quantity":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["amount"]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["mode","amount"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["shares"]},"shares":{"type":"string"}},"required":["mode","shares"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["total"]}},"required":["mode"],"additionalProperties":false}]},"createdAt":{"type":"string"},"status":{"type":"string","enum":["executed"]},"executedAt":{"type":"string"},"settlement":{"type":"object","properties":{"source":{"type":"object","properties":{"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"sharesAmount":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["shareClassId","amount","sharesAmount","appliedNAV"],"additionalProperties":false},"target":{"type":"object","properties":{"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"sharesAmount":{"type":"string"},"appliedNAV":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["day","amount"],"additionalProperties":false}},"required":["shareClassId","amount","sharesAmount","appliedNAV"],"additionalProperties":false},"exchangeRate":{"anyOf":[{"type":"object","properties":{"fundId":{"$ref":"#/components/schemas/UUID"},"day":{"$ref":"#/components/schemas/Day"},"baseCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quoteCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"fxRate":{"type":"string"}},"required":["fundId","day","baseCurrency","quoteCurrency","fxRate"],"additionalProperties":false},{"type":"null"}]}},"required":["source","target","exchangeRate"],"additionalProperties":false}},"required":["id","investorId","accountId","fromShareClassId","toShareClassId","quantity","createdAt","status","executedAt","settlement"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"fromShareClassId":{"$ref":"#/components/schemas/UUID"},"toShareClassId":{"$ref":"#/components/schemas/UUID"},"quantity":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["amount"]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["mode","amount"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["shares"]},"shares":{"type":"string"}},"required":["mode","shares"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["total"]}},"required":["mode"],"additionalProperties":false}]},"createdAt":{"type":"string"},"status":{"type":"string","enum":["canceled"]},"canceledAt":{"type":"string"},"canceledBy":{"type":"string","enum":["admin","distributor","investor","system"]}},"required":["id","investorId","accountId","fromShareClassId","toShareClassId","quantity","createdAt","status","canceledAt","canceledBy"],"additionalProperties":false}]}}}},"400":{"description":"Swap order cannot be canceled | The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/SwapOrderNotCancelableError"},{"$ref":"#/components/schemas/HttpApiDecodeError"}]}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Cancel a swap order.** Order must be in `created` status, and only until the source side is valued: once that day's cutoff has passed the order can no longer be canceled and `SwapOrderNotCancelableError` is returned.\n","summary":"Cancel swap order"}},"/v0/share-classes/swap-routes":{"get":{"tags":["Swap orders"],"operationId":"distributors.getSwapRoutes","parameters":[{"name":"fromShareClassId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":false}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SwapRouteDistributorApi"}}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Returns every share class pair you have access to that supports a swap.**\n\n- Both share classes of a returned pair are ones you can access, and the pair is one Spiko can currently convert. Use this to decide what to present: a pair absent from the list is a swap you should not offer.\n- Pass `fromShareClassId` to get only the routes leaving one share class.\n- A pair listed here is one [POST /v0/swap-orders/](#tag/Swap-orders/operation/swapOrders.createSwapOrder) accepts. The converse does not hold: that endpoint gates on convertibility and on the target account holding an active line, not on your access to the share classes, which is gated when the line is added. A pair absent here only for access reasons may therefore still be accepted.\n- Whether a pair is swappable depends only on the two share classes, so this response is safe to cache per distributor. It says nothing about a particular investor: balance, an active account line on the destination account, and the investor's own fund access are checked when the order is placed.\n","summary":"List swap routes"}},"/v0/portfolios/":{"get":{"tags":["Portfolios"],"operationId":"portfolios.getPortfolio","parameters":[{"name":"investorId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"network":{"$ref":"#/components/schemas/Network"},"walletAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"$ref":"#/components/schemas/StarknetAddress"},{"$ref":"#/components/schemas/StellarAccountAddress"},{"$ref":"#/components/schemas/StellarContractAddress"},{"$ref":"#/components/schemas/SolanaAddress"}]},"totalNumberOfShares":{"type":"string"},"currentValue":{"$ref":"#/components/schemas/NonNegativeAmount"},"isCustodialWallet":{"type":"boolean"},"pending":{"type":"object","properties":{"credit":{"type":"object","properties":{"numberOfSubscriptions":{"$ref":"#/components/schemas/NonNegativeInt"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"approximated":{"type":"boolean"}},"required":["numberOfSubscriptions","amount","approximated"],"additionalProperties":false},"debit":{"type":"object","properties":{"numberOfRedemptions":{"$ref":"#/components/schemas/NonNegativeInt"},"approximated":{"type":"boolean"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["numberOfRedemptions","approximated","amount"],"additionalProperties":false}},"required":["credit","debit"],"additionalProperties":false},"projectedBalance":{"$ref":"#/components/schemas/NonNegativeAmount"},"projectedBalanceInShares":{"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\""},"withdrawableBalance":{"$ref":"#/components/schemas/NonNegativeAmount"},"withdrawableBalanceInShares":{"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\""},"virtualIban":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"bic":{"type":"string"},"depositIbanLines":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"},"tooltip":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"cashCollectionBankAccountBeneficiaryName":{"type":"string","minLength":1}},"required":["investorId","accountId","shareClassId","network","walletAddress","totalNumberOfShares","currentValue","isCustodialWallet","pending","projectedBalance","projectedBalanceInShares","withdrawableBalance","withdrawableBalanceInShares"],"additionalProperties":false}},"totalGainSinceStart":{"type":"array","items":{"type":"object","properties":{"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"totalGainAmount":{"$ref":"#/components/schemas/Amount"}},"required":["investorId","accountId","shareClassId","totalGainAmount"],"additionalProperties":false}}},"required":["items","totalGainSinceStart"],"additionalProperties":false}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"Retrieve a view of an investor's investment portfolio, including current asset values, asset allocation, and performance metrics.","summary":"Get portfolio"}},"/v0/bank-accounts":{"post":{"tags":["Bank accounts"],"operationId":"bankAccounts.addBankAccount","parameters":[],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"details":{"anyOf":[{"type":"object","properties":{"currency":{"type":"string","enum":["EUR"]},"accountNumber":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"bic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]}},"required":["currency","accountNumber","bic"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["GBP"]},"accountNumber":{"type":"string","title":"UK Bank Account Number","description":"a valid UK Bank Account Number (8 digits)"},"sortCode":{"type":"string","title":"Sort Code","description":"A valid UK Sort Code (6 digits)"}},"required":["currency","accountNumber","sortCode"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["USD","GBP","CHF","JPY","SGD","SEK","NOK","DKK","PLN","HUF","CZK"]},"accountNumber":{"anyOf":[{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},{"type":"string","title":"US Bank Account Number","description":"a valid US Bank Account Number"}]},"bic":{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},"intermediaryBic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]},"address":{"anyOf":[{"type":"object","properties":{"street":{"type":"string","minLength":1},"city":{"type":"string","minLength":1},"zipCode":{"type":"string","minLength":1},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"}},"required":["street","city","zipCode","country"],"additionalProperties":false},{"type":"null"},{"type":"null"}]}},"required":["currency","accountNumber","bic","intermediaryBic"],"additionalProperties":false}]},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":255},{"type":"null"}]},"proofInvestorDocumentId":{"anyOf":[{"$ref":"#/components/schemas/UUID"},{"type":"null"}]},"mandate":{"type":"null","description":"Deprecated. Always null: direct debit mandates are not exposed through the distributor API.","deprecated":true},"vop":{"type":"null","description":"Deprecated. Always null.","deprecated":true},"status":{"type":"string","enum":["validated"]}},"required":["id","investorId","details","createdAt","name","proofInvestorDocumentId","mandate","vop","status"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"details":{"anyOf":[{"type":"object","properties":{"currency":{"type":"string","enum":["EUR"]},"accountNumber":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"bic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]}},"required":["currency","accountNumber","bic"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["GBP"]},"accountNumber":{"type":"string","title":"UK Bank Account Number","description":"a valid UK Bank Account Number (8 digits)"},"sortCode":{"type":"string","title":"Sort Code","description":"A valid UK Sort Code (6 digits)"}},"required":["currency","accountNumber","sortCode"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["USD","GBP","CHF","JPY","SGD","SEK","NOK","DKK","PLN","HUF","CZK"]},"accountNumber":{"anyOf":[{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},{"type":"string","title":"US Bank Account Number","description":"a valid US Bank Account Number"}]},"bic":{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},"intermediaryBic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]},"address":{"anyOf":[{"type":"object","properties":{"street":{"type":"string","minLength":1},"city":{"type":"string","minLength":1},"zipCode":{"type":"string","minLength":1},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"}},"required":["street","city","zipCode","country"],"additionalProperties":false},{"type":"null"},{"type":"null"}]}},"required":["currency","accountNumber","bic","intermediaryBic"],"additionalProperties":false}]},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":255},{"type":"null"}]},"proofInvestorDocumentId":{"anyOf":[{"$ref":"#/components/schemas/UUID"},{"type":"null"}]},"mandate":{"type":"null","description":"Deprecated. Always null: direct debit mandates are not exposed through the distributor API.","deprecated":true},"vop":{"type":"null","description":"Deprecated. Always null.","deprecated":true},"status":{"type":"string","enum":["pending-vop"]}},"required":["id","investorId","details","createdAt","name","proofInvestorDocumentId","mandate","vop","status"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"details":{"anyOf":[{"type":"object","properties":{"currency":{"type":"string","enum":["EUR"]},"accountNumber":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"bic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]}},"required":["currency","accountNumber","bic"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["GBP"]},"accountNumber":{"type":"string","title":"UK Bank Account Number","description":"a valid UK Bank Account Number (8 digits)"},"sortCode":{"type":"string","title":"Sort Code","description":"A valid UK Sort Code (6 digits)"}},"required":["currency","accountNumber","sortCode"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["USD","GBP","CHF","JPY","SGD","SEK","NOK","DKK","PLN","HUF","CZK"]},"accountNumber":{"anyOf":[{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},{"type":"string","title":"US Bank Account Number","description":"a valid US Bank Account Number"}]},"bic":{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},"intermediaryBic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]},"address":{"anyOf":[{"type":"object","properties":{"street":{"type":"string","minLength":1},"city":{"type":"string","minLength":1},"zipCode":{"type":"string","minLength":1},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"}},"required":["street","city","zipCode","country"],"additionalProperties":false},{"type":"null"},{"type":"null"}]}},"required":["currency","accountNumber","bic","intermediaryBic"],"additionalProperties":false}]},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":255},{"type":"null"}]},"proofInvestorDocumentId":{"anyOf":[{"$ref":"#/components/schemas/UUID"},{"type":"null"}]},"mandate":{"type":"null","description":"Deprecated. Always null: direct debit mandates are not exposed through the distributor API.","deprecated":true},"vop":{"type":"null","description":"Deprecated. Always null.","deprecated":true},"status":{"type":"string","enum":["pending-validation"]}},"required":["id","investorId","details","createdAt","name","proofInvestorDocumentId","mandate","vop","status"],"additionalProperties":false}]}}}},"400":{"description":"A proof of bank account ownership document is required. Automated verification (VoP/CoP) is not available for this currency. | Bad Request | The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/ProofDocumentRequiredError"},{"$ref":"#/components/schemas/BadRequestError"},{"$ref":"#/components/schemas/HttpApiDecodeError"}]}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Create a new bank account, linked to an existing investor, and for a given currency.**\n\n- Link the specified banking details to the investor's profile for future withdrawals processing.\n- An optional `name` may be provided as a human-readable label for the bank account.\n- EUR/GBP accounts may undergo automated verification (VoP/CoP). The bank account status will reflect the verification state.\n- Other currencies REQUIRE a proof of bank account ownership document (`proofInvestorDocumentId`).\n- For non-EUR accounts, the beneficiary `address` is temporarily optional: when omitted, the investor's registered address is used instead. It will become required in a future update.\n- Return complete bank account information.\n          ","summary":"Add bank account","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"currency":{"type":"string","enum":["EUR"]},"accountNumber":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"bic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]},"investorId":{"$ref":"#/components/schemas/UUID"},"name":{"type":"string","minLength":1,"maxLength":255},"proofInvestorDocumentId":{"$ref":"#/components/schemas/UUID"}},"required":["currency","accountNumber","bic","investorId"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["GBP"]},"accountNumber":{"type":"string","title":"UK Bank Account Number","description":"a valid UK Bank Account Number (8 digits)"},"sortCode":{"type":"string","title":"Sort Code","description":"A valid UK Sort Code (6 digits)"},"investorId":{"$ref":"#/components/schemas/UUID"},"name":{"type":"string","minLength":1,"maxLength":255},"proofInvestorDocumentId":{"$ref":"#/components/schemas/UUID"}},"required":["currency","accountNumber","sortCode","investorId"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["USD","GBP","CHF","JPY","SGD","SEK","NOK","DKK","PLN","HUF","CZK"]},"accountNumber":{"anyOf":[{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},{"type":"string","title":"US Bank Account Number","description":"a valid US Bank Account Number"}]},"bic":{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},"intermediaryBic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]},"address":{"anyOf":[{"type":"object","properties":{"street":{"type":"string","minLength":1},"city":{"type":"string","minLength":1},"zipCode":{"type":"string","minLength":1},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"}},"required":["street","city","zipCode","country"],"additionalProperties":false},{"type":"null"},{"type":"null"}]},"investorId":{"$ref":"#/components/schemas/UUID"},"name":{"type":"string","minLength":1,"maxLength":255},"proofInvestorDocumentId":{"$ref":"#/components/schemas/UUID"}},"required":["currency","accountNumber","bic","intermediaryBic","investorId"],"additionalProperties":false}]}}},"required":true}},"get":{"tags":["Bank accounts"],"operationId":"bankAccounts.getBankAccounts","parameters":[{"name":"investorId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":true},{"name":"currency","in":"query","schema":{"$ref":"#/components/schemas/CurrencyCode"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"details":{"anyOf":[{"type":"object","properties":{"currency":{"type":"string","enum":["EUR"]},"accountNumber":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"bic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]}},"required":["currency","accountNumber","bic"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["GBP"]},"accountNumber":{"type":"string","title":"UK Bank Account Number","description":"a valid UK Bank Account Number (8 digits)"},"sortCode":{"type":"string","title":"Sort Code","description":"A valid UK Sort Code (6 digits)"}},"required":["currency","accountNumber","sortCode"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["USD","GBP","CHF","JPY","SGD","SEK","NOK","DKK","PLN","HUF","CZK"]},"accountNumber":{"anyOf":[{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},{"type":"string","title":"US Bank Account Number","description":"a valid US Bank Account Number"}]},"bic":{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},"intermediaryBic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]},"address":{"anyOf":[{"type":"object","properties":{"street":{"type":"string","minLength":1},"city":{"type":"string","minLength":1},"zipCode":{"type":"string","minLength":1},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"}},"required":["street","city","zipCode","country"],"additionalProperties":false},{"type":"null"},{"type":"null"}]}},"required":["currency","accountNumber","bic","intermediaryBic"],"additionalProperties":false}]},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":255},{"type":"null"}]},"proofInvestorDocumentId":{"anyOf":[{"$ref":"#/components/schemas/UUID"},{"type":"null"}]},"mandate":{"type":"null","description":"Deprecated. Always null: direct debit mandates are not exposed through the distributor API.","deprecated":true},"vop":{"type":"null","description":"Deprecated. Always null.","deprecated":true},"status":{"type":"string","enum":["pending-validation"]}},"required":["id","investorId","details","createdAt","name","proofInvestorDocumentId","mandate","vop","status"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"details":{"anyOf":[{"type":"object","properties":{"currency":{"type":"string","enum":["EUR"]},"accountNumber":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"bic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]}},"required":["currency","accountNumber","bic"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["GBP"]},"accountNumber":{"type":"string","title":"UK Bank Account Number","description":"a valid UK Bank Account Number (8 digits)"},"sortCode":{"type":"string","title":"Sort Code","description":"A valid UK Sort Code (6 digits)"}},"required":["currency","accountNumber","sortCode"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["USD","GBP","CHF","JPY","SGD","SEK","NOK","DKK","PLN","HUF","CZK"]},"accountNumber":{"anyOf":[{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},{"type":"string","title":"US Bank Account Number","description":"a valid US Bank Account Number"}]},"bic":{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},"intermediaryBic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]},"address":{"anyOf":[{"type":"object","properties":{"street":{"type":"string","minLength":1},"city":{"type":"string","minLength":1},"zipCode":{"type":"string","minLength":1},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"}},"required":["street","city","zipCode","country"],"additionalProperties":false},{"type":"null"},{"type":"null"}]}},"required":["currency","accountNumber","bic","intermediaryBic"],"additionalProperties":false}]},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":255},{"type":"null"}]},"proofInvestorDocumentId":{"anyOf":[{"$ref":"#/components/schemas/UUID"},{"type":"null"}]},"mandate":{"type":"null","description":"Deprecated. Always null: direct debit mandates are not exposed through the distributor API.","deprecated":true},"vop":{"type":"null","description":"Deprecated. Always null.","deprecated":true},"status":{"type":"string","enum":["pending-vop"]}},"required":["id","investorId","details","createdAt","name","proofInvestorDocumentId","mandate","vop","status"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"details":{"anyOf":[{"type":"object","properties":{"currency":{"type":"string","enum":["EUR"]},"accountNumber":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"bic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]}},"required":["currency","accountNumber","bic"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["GBP"]},"accountNumber":{"type":"string","title":"UK Bank Account Number","description":"a valid UK Bank Account Number (8 digits)"},"sortCode":{"type":"string","title":"Sort Code","description":"A valid UK Sort Code (6 digits)"}},"required":["currency","accountNumber","sortCode"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["USD","GBP","CHF","JPY","SGD","SEK","NOK","DKK","PLN","HUF","CZK"]},"accountNumber":{"anyOf":[{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},{"type":"string","title":"US Bank Account Number","description":"a valid US Bank Account Number"}]},"bic":{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},"intermediaryBic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]},"address":{"anyOf":[{"type":"object","properties":{"street":{"type":"string","minLength":1},"city":{"type":"string","minLength":1},"zipCode":{"type":"string","minLength":1},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"}},"required":["street","city","zipCode","country"],"additionalProperties":false},{"type":"null"},{"type":"null"}]}},"required":["currency","accountNumber","bic","intermediaryBic"],"additionalProperties":false}]},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":255},{"type":"null"}]},"proofInvestorDocumentId":{"anyOf":[{"$ref":"#/components/schemas/UUID"},{"type":"null"}]},"mandate":{"type":"null","description":"Deprecated. Always null: direct debit mandates are not exposed through the distributor API.","deprecated":true},"vop":{"type":"null","description":"Deprecated. Always null.","deprecated":true},"status":{"type":"string","enum":["validated"]}},"required":["id","investorId","details","createdAt","name","proofInvestorDocumentId","mandate","vop","status"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"details":{"anyOf":[{"type":"object","properties":{"currency":{"type":"string","enum":["EUR"]},"accountNumber":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"bic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]}},"required":["currency","accountNumber","bic"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["GBP"]},"accountNumber":{"type":"string","title":"UK Bank Account Number","description":"a valid UK Bank Account Number (8 digits)"},"sortCode":{"type":"string","title":"Sort Code","description":"A valid UK Sort Code (6 digits)"}},"required":["currency","accountNumber","sortCode"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["USD","GBP","CHF","JPY","SGD","SEK","NOK","DKK","PLN","HUF","CZK"]},"accountNumber":{"anyOf":[{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},{"type":"string","title":"US Bank Account Number","description":"a valid US Bank Account Number"}]},"bic":{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},"intermediaryBic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]},"address":{"anyOf":[{"type":"object","properties":{"street":{"type":"string","minLength":1},"city":{"type":"string","minLength":1},"zipCode":{"type":"string","minLength":1},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"}},"required":["street","city","zipCode","country"],"additionalProperties":false},{"type":"null"},{"type":"null"}]}},"required":["currency","accountNumber","bic","intermediaryBic"],"additionalProperties":false}]},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":255},{"type":"null"}]},"proofInvestorDocumentId":{"anyOf":[{"$ref":"#/components/schemas/UUID"},{"type":"null"}]},"mandate":{"type":"null","description":"Deprecated. Always null: direct debit mandates are not exposed through the distributor API.","deprecated":true},"vop":{"type":"null","description":"Deprecated. Always null.","deprecated":true},"status":{"type":"string","enum":["invalidated"]},"invalidationReason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","investorId","details","createdAt","name","proofInvestorDocumentId","mandate","vop","status","invalidationReason"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"details":{"anyOf":[{"type":"object","properties":{"currency":{"type":"string","enum":["EUR"]},"accountNumber":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"bic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]}},"required":["currency","accountNumber","bic"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["GBP"]},"accountNumber":{"type":"string","title":"UK Bank Account Number","description":"a valid UK Bank Account Number (8 digits)"},"sortCode":{"type":"string","title":"Sort Code","description":"A valid UK Sort Code (6 digits)"}},"required":["currency","accountNumber","sortCode"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["USD","GBP","CHF","JPY","SGD","SEK","NOK","DKK","PLN","HUF","CZK"]},"accountNumber":{"anyOf":[{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},{"type":"string","title":"US Bank Account Number","description":"a valid US Bank Account Number"}]},"bic":{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},"intermediaryBic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]},"address":{"anyOf":[{"type":"object","properties":{"street":{"type":"string","minLength":1},"city":{"type":"string","minLength":1},"zipCode":{"type":"string","minLength":1},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"}},"required":["street","city","zipCode","country"],"additionalProperties":false},{"type":"null"},{"type":"null"}]}},"required":["currency","accountNumber","bic","intermediaryBic"],"additionalProperties":false}]},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":255},{"type":"null"}]},"proofInvestorDocumentId":{"anyOf":[{"$ref":"#/components/schemas/UUID"},{"type":"null"}]},"mandate":{"type":"null","description":"Deprecated. Always null: direct debit mandates are not exposed through the distributor API.","deprecated":true},"vop":{"type":"null","description":"Deprecated. Always null.","deprecated":true},"status":{"type":"string","enum":["archived"]}},"required":["id","investorId","details","createdAt","name","proofInvestorDocumentId","mandate","vop","status"],"additionalProperties":false}]}}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Retrieve all bank accounts for a given investor and currency.**\n\n- Returns account details including IBAN, BIC, and validation status.\n- Excludes archived bank accounts.\n            ","summary":"Get bank accounts"}},"/v0/bank-accounts/{id}":{"get":{"tags":["Bank accounts"],"operationId":"bankAccounts.getBankAccount","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"details":{"anyOf":[{"type":"object","properties":{"currency":{"type":"string","enum":["EUR"]},"accountNumber":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"bic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]}},"required":["currency","accountNumber","bic"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["GBP"]},"accountNumber":{"type":"string","title":"UK Bank Account Number","description":"a valid UK Bank Account Number (8 digits)"},"sortCode":{"type":"string","title":"Sort Code","description":"A valid UK Sort Code (6 digits)"}},"required":["currency","accountNumber","sortCode"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["USD","GBP","CHF","JPY","SGD","SEK","NOK","DKK","PLN","HUF","CZK"]},"accountNumber":{"anyOf":[{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},{"type":"string","title":"US Bank Account Number","description":"a valid US Bank Account Number"}]},"bic":{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},"intermediaryBic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]},"address":{"anyOf":[{"type":"object","properties":{"street":{"type":"string","minLength":1},"city":{"type":"string","minLength":1},"zipCode":{"type":"string","minLength":1},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"}},"required":["street","city","zipCode","country"],"additionalProperties":false},{"type":"null"},{"type":"null"}]}},"required":["currency","accountNumber","bic","intermediaryBic"],"additionalProperties":false}]},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":255},{"type":"null"}]},"proofInvestorDocumentId":{"anyOf":[{"$ref":"#/components/schemas/UUID"},{"type":"null"}]},"mandate":{"type":"null","description":"Deprecated. Always null: direct debit mandates are not exposed through the distributor API.","deprecated":true},"vop":{"type":"null","description":"Deprecated. Always null.","deprecated":true},"status":{"type":"string","enum":["pending-validation"]}},"required":["id","investorId","details","createdAt","name","proofInvestorDocumentId","mandate","vop","status"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"details":{"anyOf":[{"type":"object","properties":{"currency":{"type":"string","enum":["EUR"]},"accountNumber":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"bic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]}},"required":["currency","accountNumber","bic"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["GBP"]},"accountNumber":{"type":"string","title":"UK Bank Account Number","description":"a valid UK Bank Account Number (8 digits)"},"sortCode":{"type":"string","title":"Sort Code","description":"A valid UK Sort Code (6 digits)"}},"required":["currency","accountNumber","sortCode"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["USD","GBP","CHF","JPY","SGD","SEK","NOK","DKK","PLN","HUF","CZK"]},"accountNumber":{"anyOf":[{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},{"type":"string","title":"US Bank Account Number","description":"a valid US Bank Account Number"}]},"bic":{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},"intermediaryBic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]},"address":{"anyOf":[{"type":"object","properties":{"street":{"type":"string","minLength":1},"city":{"type":"string","minLength":1},"zipCode":{"type":"string","minLength":1},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"}},"required":["street","city","zipCode","country"],"additionalProperties":false},{"type":"null"},{"type":"null"}]}},"required":["currency","accountNumber","bic","intermediaryBic"],"additionalProperties":false}]},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":255},{"type":"null"}]},"proofInvestorDocumentId":{"anyOf":[{"$ref":"#/components/schemas/UUID"},{"type":"null"}]},"mandate":{"type":"null","description":"Deprecated. Always null: direct debit mandates are not exposed through the distributor API.","deprecated":true},"vop":{"type":"null","description":"Deprecated. Always null.","deprecated":true},"status":{"type":"string","enum":["pending-vop"]}},"required":["id","investorId","details","createdAt","name","proofInvestorDocumentId","mandate","vop","status"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"details":{"anyOf":[{"type":"object","properties":{"currency":{"type":"string","enum":["EUR"]},"accountNumber":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"bic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]}},"required":["currency","accountNumber","bic"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["GBP"]},"accountNumber":{"type":"string","title":"UK Bank Account Number","description":"a valid UK Bank Account Number (8 digits)"},"sortCode":{"type":"string","title":"Sort Code","description":"A valid UK Sort Code (6 digits)"}},"required":["currency","accountNumber","sortCode"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["USD","GBP","CHF","JPY","SGD","SEK","NOK","DKK","PLN","HUF","CZK"]},"accountNumber":{"anyOf":[{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},{"type":"string","title":"US Bank Account Number","description":"a valid US Bank Account Number"}]},"bic":{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},"intermediaryBic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]},"address":{"anyOf":[{"type":"object","properties":{"street":{"type":"string","minLength":1},"city":{"type":"string","minLength":1},"zipCode":{"type":"string","minLength":1},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"}},"required":["street","city","zipCode","country"],"additionalProperties":false},{"type":"null"},{"type":"null"}]}},"required":["currency","accountNumber","bic","intermediaryBic"],"additionalProperties":false}]},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":255},{"type":"null"}]},"proofInvestorDocumentId":{"anyOf":[{"$ref":"#/components/schemas/UUID"},{"type":"null"}]},"mandate":{"type":"null","description":"Deprecated. Always null: direct debit mandates are not exposed through the distributor API.","deprecated":true},"vop":{"type":"null","description":"Deprecated. Always null.","deprecated":true},"status":{"type":"string","enum":["validated"]}},"required":["id","investorId","details","createdAt","name","proofInvestorDocumentId","mandate","vop","status"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"details":{"anyOf":[{"type":"object","properties":{"currency":{"type":"string","enum":["EUR"]},"accountNumber":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"bic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]}},"required":["currency","accountNumber","bic"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["GBP"]},"accountNumber":{"type":"string","title":"UK Bank Account Number","description":"a valid UK Bank Account Number (8 digits)"},"sortCode":{"type":"string","title":"Sort Code","description":"A valid UK Sort Code (6 digits)"}},"required":["currency","accountNumber","sortCode"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["USD","GBP","CHF","JPY","SGD","SEK","NOK","DKK","PLN","HUF","CZK"]},"accountNumber":{"anyOf":[{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},{"type":"string","title":"US Bank Account Number","description":"a valid US Bank Account Number"}]},"bic":{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},"intermediaryBic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]},"address":{"anyOf":[{"type":"object","properties":{"street":{"type":"string","minLength":1},"city":{"type":"string","minLength":1},"zipCode":{"type":"string","minLength":1},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"}},"required":["street","city","zipCode","country"],"additionalProperties":false},{"type":"null"},{"type":"null"}]}},"required":["currency","accountNumber","bic","intermediaryBic"],"additionalProperties":false}]},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":255},{"type":"null"}]},"proofInvestorDocumentId":{"anyOf":[{"$ref":"#/components/schemas/UUID"},{"type":"null"}]},"mandate":{"type":"null","description":"Deprecated. Always null: direct debit mandates are not exposed through the distributor API.","deprecated":true},"vop":{"type":"null","description":"Deprecated. Always null.","deprecated":true},"status":{"type":"string","enum":["invalidated"]},"invalidationReason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","investorId","details","createdAt","name","proofInvestorDocumentId","mandate","vop","status","invalidationReason"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"details":{"anyOf":[{"type":"object","properties":{"currency":{"type":"string","enum":["EUR"]},"accountNumber":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"bic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]}},"required":["currency","accountNumber","bic"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["GBP"]},"accountNumber":{"type":"string","title":"UK Bank Account Number","description":"a valid UK Bank Account Number (8 digits)"},"sortCode":{"type":"string","title":"Sort Code","description":"A valid UK Sort Code (6 digits)"}},"required":["currency","accountNumber","sortCode"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["USD","GBP","CHF","JPY","SGD","SEK","NOK","DKK","PLN","HUF","CZK"]},"accountNumber":{"anyOf":[{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},{"type":"string","title":"US Bank Account Number","description":"a valid US Bank Account Number"}]},"bic":{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},"intermediaryBic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]},"address":{"anyOf":[{"type":"object","properties":{"street":{"type":"string","minLength":1},"city":{"type":"string","minLength":1},"zipCode":{"type":"string","minLength":1},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"}},"required":["street","city","zipCode","country"],"additionalProperties":false},{"type":"null"},{"type":"null"}]}},"required":["currency","accountNumber","bic","intermediaryBic"],"additionalProperties":false}]},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":255},{"type":"null"}]},"proofInvestorDocumentId":{"anyOf":[{"$ref":"#/components/schemas/UUID"},{"type":"null"}]},"mandate":{"type":"null","description":"Deprecated. Always null: direct debit mandates are not exposed through the distributor API.","deprecated":true},"vop":{"type":"null","description":"Deprecated. Always null.","deprecated":true},"status":{"type":"string","enum":["archived"]}},"required":["id","investorId","details","createdAt","name","proofInvestorDocumentId","mandate","vop","status"],"additionalProperties":false}]}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Fetch a bank account by its ID.**\n\n- Return detailed bank account information, including IBAN or account number, BIC, and validation status.\n        ","summary":"Get bank account"},"patch":{"tags":["Bank accounts"],"operationId":"bankAccounts.uploadBankAccountProofDocument","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"details":{"anyOf":[{"type":"object","properties":{"currency":{"type":"string","enum":["EUR"]},"accountNumber":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"bic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]}},"required":["currency","accountNumber","bic"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["GBP"]},"accountNumber":{"type":"string","title":"UK Bank Account Number","description":"a valid UK Bank Account Number (8 digits)"},"sortCode":{"type":"string","title":"Sort Code","description":"A valid UK Sort Code (6 digits)"}},"required":["currency","accountNumber","sortCode"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["USD","GBP","CHF","JPY","SGD","SEK","NOK","DKK","PLN","HUF","CZK"]},"accountNumber":{"anyOf":[{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},{"type":"string","title":"US Bank Account Number","description":"a valid US Bank Account Number"}]},"bic":{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},"intermediaryBic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]},"address":{"anyOf":[{"type":"object","properties":{"street":{"type":"string","minLength":1},"city":{"type":"string","minLength":1},"zipCode":{"type":"string","minLength":1},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"}},"required":["street","city","zipCode","country"],"additionalProperties":false},{"type":"null"},{"type":"null"}]}},"required":["currency","accountNumber","bic","intermediaryBic"],"additionalProperties":false}]},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":255},{"type":"null"}]},"proofInvestorDocumentId":{"anyOf":[{"$ref":"#/components/schemas/UUID"},{"type":"null"}]},"mandate":{"type":"null","description":"Deprecated. Always null: direct debit mandates are not exposed through the distributor API.","deprecated":true},"vop":{"type":"null","description":"Deprecated. Always null.","deprecated":true},"status":{"type":"string","enum":["pending-validation"]}},"required":["id","investorId","details","createdAt","name","proofInvestorDocumentId","mandate","vop","status"],"additionalProperties":false}}}},"400":{"description":"The bank account is not in invalidated status. Proof document upload is only allowed on invalidated bank accounts. | The proof document is invalid. Make sure it was previously uploaded. | The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BankAccountProofUploadNotAllowedError"},{"$ref":"#/components/schemas/InvalidProofDocumentError"},{"$ref":"#/components/schemas/HttpApiDecodeError"}]}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Upload a proof of bank account ownership document for a bank account that was invalidated after VoP verification failure.**\n\n- Only allowed on bank accounts with status `invalidated`.\n- Transitions the bank account to `pending-validation` for manual review by Spiko's operations team.\n- The `proofInvestorDocumentId` must reference a previously uploaded investor document.\n          ","summary":"Upload proof document for invalidated bank account","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"proofInvestorDocumentId":{"$ref":"#/components/schemas/UUID"}},"required":["proofInvestorDocumentId"],"additionalProperties":false}}},"required":true}},"delete":{"tags":["Bank accounts"],"operationId":"bankAccounts.archiveBankAccount","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"details":{"anyOf":[{"type":"object","properties":{"currency":{"type":"string","enum":["EUR"]},"accountNumber":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"bic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]}},"required":["currency","accountNumber","bic"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["GBP"]},"accountNumber":{"type":"string","title":"UK Bank Account Number","description":"a valid UK Bank Account Number (8 digits)"},"sortCode":{"type":"string","title":"Sort Code","description":"A valid UK Sort Code (6 digits)"}},"required":["currency","accountNumber","sortCode"],"additionalProperties":false},{"type":"object","properties":{"currency":{"type":"string","enum":["USD","GBP","CHF","JPY","SGD","SEK","NOK","DKK","PLN","HUF","CZK"]},"accountNumber":{"anyOf":[{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},{"type":"string","title":"US Bank Account Number","description":"a valid US Bank Account Number"}]},"bic":{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},"intermediaryBic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]},"address":{"anyOf":[{"type":"object","properties":{"street":{"type":"string","minLength":1},"city":{"type":"string","minLength":1},"zipCode":{"type":"string","minLength":1},"country":{"$ref":"#/components/schemas/CountryCodeAlpha2"}},"required":["street","city","zipCode","country"],"additionalProperties":false},{"type":"null"},{"type":"null"}]}},"required":["currency","accountNumber","bic","intermediaryBic"],"additionalProperties":false}]},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":255},{"type":"null"}]},"proofInvestorDocumentId":{"anyOf":[{"$ref":"#/components/schemas/UUID"},{"type":"null"}]},"mandate":{"type":"null","description":"Deprecated. Always null: direct debit mandates are not exposed through the distributor API.","deprecated":true},"vop":{"type":"null","description":"Deprecated. Always null.","deprecated":true},"status":{"type":"string","enum":["archived"]}},"required":["id","investorId","details","createdAt","name","proofInvestorDocumentId","mandate","vop","status"],"additionalProperties":false}}}},"400":{"description":"BadRequest | The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Archive a bank account. The associated proof of ownership document (if any) is also archived.**\n\n- Once archived, a bank account is no longer available for new transactions, but remains accessible for historical reference and audit purposes.\n- Any pending withdrawal orders that were using this account will have the bank account reference removed. Orders that are already executed are not affected.\n          ","summary":"Archive bank account"}},"/v0/accounting-positions/history":{"get":{"tags":["Accounting positions"],"operationId":"accountingPositions.getAccountingPositionsHistory","parameters":[{"name":"investorId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":true},{"name":"shareClassId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":true},{"name":"from","in":"query","schema":{"$ref":"#/components/schemas/Day"},"required":true},{"name":"to","in":"query","schema":{"$ref":"#/components/schemas/Day"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"day":{"$ref":"#/components/schemas/Day"},"status":{"type":"string","enum":["nav","noNav"]},"investorId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"accountIds":{"type":"array","prefixItems":[{"$ref":"#/components/schemas/UUID"}],"minItems":1,"items":{"$ref":"#/components/schemas/UUID"}},"sharesHoldings":{"$ref":"#/components/schemas/NonNegativeBigint"},"holdings":{"$ref":"#/components/schemas/NonNegativeAmount"},"subscriptions":{"type":"object","properties":{"ofDay":{"$ref":"#/components/schemas/NonNegativeAmount"},"total":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["ofDay","total"],"additionalProperties":false},"redemptions":{"type":"object","properties":{"ofDay":{"$ref":"#/components/schemas/NonNegativeAmount"},"total":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["ofDay","total"],"additionalProperties":false},"transfers":{"type":"object","properties":{"ofDay":{"$ref":"#/components/schemas/Amount"},"total":{"$ref":"#/components/schemas/Amount"}},"required":["ofDay","total"],"additionalProperties":false},"yield":{"type":"object","properties":{"ofDay":{"$ref":"#/components/schemas/Amount"},"total":{"$ref":"#/components/schemas/Amount"}},"required":["ofDay","total"],"additionalProperties":false},"realizedGain":{"type":"object","properties":{"ofDay":{"$ref":"#/components/schemas/Amount"},"total":{"$ref":"#/components/schemas/Amount"}},"required":["ofDay","total"],"additionalProperties":false},"transferredGain":{"type":"object","properties":{"ofDay":{"$ref":"#/components/schemas/Amount"},"total":{"$ref":"#/components/schemas/Amount"}},"required":["ofDay","total"],"additionalProperties":false},"totalUnrealizedGain":{"$ref":"#/components/schemas/Amount"}},"required":["day","status","investorId","shareClassId","accountIds","sharesHoldings","holdings","subscriptions","redemptions","transfers","yield","realizedGain","transferredGain","totalUnrealizedGain"],"additionalProperties":false}}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Retrieve detailed accounting positions (midnight to midnight UTC) for an investor in a specific share class.**\n\nReturns a chronological list of positions within the specified date range, including:\n- Holdings (in shares and in currency);\n- Daily and total subscriptions, redemptions, and transfers;\n- Realized and unrealized gains;\n- Daily and total yields.\n        ","summary":"Get accounting positions"}},"/v0/accounting-positions/account-statement":{"get":{"tags":["Accounting positions"],"operationId":"accountingPositions.downloadAccountStatement","parameters":[{"name":"investorId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":true},{"name":"shareClassId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":true},{"name":"from","in":"query","schema":{"$ref":"#/components/schemas/Day"},"required":true},{"name":"to","in":"query","schema":{"$ref":"#/components/schemas/Day"},"required":true},{"name":"locale","in":"query","schema":{"$ref":"#/components/schemas/LocaleLanguage"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"BadRequest | The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n  **Download an account statement related to an investor and a share class between two dates.**\n\n  - The account statement will be a pdf file.\n            ","summary":"Download account statement"}},"/v0/yields/history":{"get":{"tags":["Yields"],"operationId":"yields.getYieldHistory","parameters":[{"name":"investorId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":true},{"name":"accountId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":false},{"name":"shareClassId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":true},{"name":"from","in":"query","schema":{"type":"string","title":"Day","description":"a day formatted as \"yyyy-MM-dd\""},"required":false},{"name":"to","in":"query","schema":{"type":"string","title":"Day","description":"a day formatted as \"yyyy-MM-dd\""},"required":false}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"day":{"type":"string","title":"Day","description":"a day formatted as \"yyyy-MM-dd\""},"shareClassId":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"yield":{"$ref":"#/components/schemas/Amount"},"navId":{"$ref":"#/components/schemas/UUID"},"navUpdateDate":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["day","shareClassId","investorId","accountId","yield","navId","navUpdateDate"],"additionalProperties":false}}}}},"400":{"description":"BadRequest | The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"422":{"description":"Investor is not ready for order creation yet","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorNotReadyError"}}}},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Return a chronological list of daily yields for an investor in a specific share class.**\n\n> ⚠️ **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.\n\n- `from` and `to` parameters are optional\n          ","summary":"Get yields"}},"/v0/yields/{accountingPositionId}":{"get":{"tags":["Yields"],"operationId":"yields.getYield","parameters":[{"name":"accountingPositionId","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"day":{"type":"string","title":"Day","description":"a day formatted as \"yyyy-MM-dd\""},"shareClassId":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"yield":{"$ref":"#/components/schemas/Amount"},"navId":{"$ref":"#/components/schemas/UUID"},"navUpdateDate":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["day","shareClassId","investorId","accountId","yield","navId","navUpdateDate"],"additionalProperties":false}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Return a single daily yield by its identifier.**\n\nThe identifier is the `id` delivered in the `yield.credited` webhook payload.\n          ","summary":"Get a yield"}},"/v0/investors/{investorId}/users":{"post":{"tags":["Users"],"operationId":"users.createInvestorInvitation","parameters":[{"name":"investorId","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["invitation-sent"]},"invitation":{"type":"object","properties":{"email":{"type":"string"},"firstName":{"type":"string","title":"Name","description":"a valid name, of max size 255, non empty, without number, some special characters are forbidden"},"lastName":{"type":"string","title":"Name","description":"a valid name, of max size 255, non empty, without number, some special characters are forbidden"}},"required":["email","firstName","lastName"],"additionalProperties":false}},"required":["type","invitation"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["user-added"]},"user":{"type":"object","properties":{"userId":{"$ref":"#/components/schemas/UUID"},"email":{"type":"string"},"firstName":{"type":"string","title":"Name","description":"a valid name, of max size 255, non empty, without number, some special characters are forbidden"},"lastName":{"type":"string","title":"Name","description":"a valid name, of max size 255, non empty, without number, some special characters are forbidden"}},"required":["userId","email","firstName","lastName"],"additionalProperties":false}},"required":["type","user"],"additionalProperties":false}]}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"409":{"description":"Account already exists | Invitation already exists","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/AccountAlreadyExistsApiError"},{"$ref":"#/components/schemas/InvitationAlreadyExistsApiError"}]}}}},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Invite a new user to join an investor account.**\n\n- If the user already has a Spiko account, they will be added directly to the investor with the specified role.\n- If the user does not have a Spiko account, an invitation email will be sent.\n- Returns either the created invitation or the added user depending on the scenario.\n          ","summary":"Invite user to investor","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","title":"Email","description":"Email address of the user to invite"},"firstName":{"type":"string","title":"First name","description":"First name of the user to invite"},"lastName":{"type":"string","title":"Last name","description":"Last name of the user to invite"},"role":{"type":"string","enum":["admin","manager","viewer"],"title":"Role","description":"Role to assign to the invited user: \"admin\" for full access, \"manager\" to place and manage orders without administrative access, \"viewer\" for read-only access."}},"required":["email","firstName","lastName","role"],"additionalProperties":false}}},"required":true}},"get":{"tags":["Users"],"operationId":"users.getUsersOfInvestor","parameters":[{"name":"investorId","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"userId":{"$ref":"#/components/schemas/UUID"},"email":{"type":"string"},"firstName":{"type":"string","title":"Name","description":"a valid name, of max size 255, non empty, without number, some special characters are forbidden"},"lastName":{"type":"string","title":"Name","description":"a valid name, of max size 255, non empty, without number, some special characters are forbidden"}},"required":["userId","email","firstName","lastName"],"additionalProperties":false}}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Retrieve all users associated with an investor.**\n\n- Returns the list of users with their roles (admin, manager, or viewer).\n          ","summary":"Get users of investor"}},"/v0/investors/{investorId}/invitations":{"get":{"tags":["Users"],"operationId":"users.getPendingInvitationsOfInvestor","parameters":[{"name":"investorId","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"email":{"type":"string"},"firstName":{"type":"string","title":"Name","description":"a valid name, of max size 255, non empty, without number, some special characters are forbidden"},"lastName":{"type":"string","title":"Name","description":"a valid name, of max size 255, non empty, without number, some special characters are forbidden"}},"required":["email","firstName","lastName"],"additionalProperties":false}}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Retrieve all pending user invitations for an investor.**\n\n- Returns invitations that have been sent but not yet accepted.\n          ","summary":"Get pending invitations"}},"/v0/investors/{investorId}/invitations/{id}":{"get":{"tags":["Users"],"operationId":"users.getInvitationOfInvestor","parameters":[{"name":"investorId","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true},{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"email":{"type":"string"},"firstName":{"type":"string","title":"Name","description":"a valid name, of max size 255, non empty, without number, some special characters are forbidden"},"lastName":{"type":"string","title":"Name","description":"a valid name, of max size 255, non empty, without number, some special characters are forbidden"},"role":{"type":"string","enum":["admin","coordinator","manager","viewer","legal-representative"]},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"status":{"type":"string","enum":["pending"]}},"required":["id","investorId","email","firstName","lastName","role","createdAt","status"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"email":{"type":"string"},"firstName":{"type":"string","title":"Name","description":"a valid name, of max size 255, non empty, without number, some special characters are forbidden"},"lastName":{"type":"string","title":"Name","description":"a valid name, of max size 255, non empty, without number, some special characters are forbidden"},"role":{"type":"string","enum":["admin","coordinator","manager","viewer","legal-representative"]},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"status":{"type":"string","enum":["accepted"]},"acceptedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"userId":{"$ref":"#/components/schemas/UUID"}},"required":["id","investorId","email","firstName","lastName","role","createdAt","status","acceptedAt","userId"],"additionalProperties":false}]}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Retrieve a user invitation by its ID.**\n\n- Returns the invitation with its current status (`pending` or `accepted`).\n- Useful for looking up an invitation when receiving an `investor-invitation.accepted` webhook.\n          ","summary":"Get invitation of investor"}},"/v0/investors/{investorId}/users/{userId}":{"delete":{"tags":["Users"],"operationId":"users.unlinkUser","parameters":[{"name":"investorId","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true},{"name":"userId","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"204":{"description":"User unlinked from the investor"},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Remove a user from an investor account.**\n          ","summary":"Unlink user from investor"}},"/v0/investors/{investorId}/invitations/{email}":{"delete":{"tags":["Users"],"operationId":"users.deleteInvitation","parameters":[{"name":"investorId","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true},{"name":"email","in":"path","schema":{"type":"string"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"204":{"description":"Invitation deleted"},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Delete a pending user invitation for an investor.**\n\n- Only pending (not yet accepted) invitations can be deleted.\n- The invitation is identified by the invitee's email address.\n          ","summary":"Delete pending invitation"}},"/v0/investors/{investorId}/invitations/{email}/resend":{"post":{"tags":["Users"],"operationId":"users.resendInvitation","parameters":[{"name":"investorId","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true},{"name":"email","in":"path","schema":{"type":"string"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"204":{"description":"Invitation resent"},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Resend the invitation email for a pending user invitation.**\n\n- Only pending (not yet accepted) invitations can be resent.\n- The invitation is identified by the invitee's email address.\n- A new invitation email is sent to the invitee.\n          ","summary":"Resend pending invitation"}},"/v0/account-transactions/":{"get":{"tags":["Account transactions"],"operationId":"accountTransactions.getAccountTransactions","parameters":[{"name":"accountId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":true},{"name":"transactionType","in":"query","schema":{"type":"string","enum":["deposit","withdrawal","transfer","yield"]},"required":false},{"name":"direction","in":"query","schema":{"type":"string","enum":["asc","desc"],"description":"\"desc\" returns newest transactions first (anti-chronological), \"asc\" returns oldest first (chronological). Defaults to \"desc\"."},"required":false},{"name":"limit","in":"query","schema":{"type":"string","title":"Number of items per page","description":"defaults to \"50\" if not provided, max 10000"},"required":false},{"name":"cursor","in":"query","schema":{"type":"string"},"required":false},{"name":"search","in":"query","schema":{"type":"string","title":"Search query","description":"Full-text search across relevant fields"},"required":false}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"createdAt":{"type":"string"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"shareClassSymbol":{"$ref":"#/components/schemas/ShareClassSymbol"},"shareDecimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"accountId":{"$ref":"#/components/schemas/UUID"},"sharesAmount":{"anyOf":[{"type":"string"},{"type":"null"}]},"netAssetValue":{"anyOf":[{"$ref":"#/components/schemas/NonNegativeAmount"},{"type":"null"}]},"amount":{"anyOf":[{"$ref":"#/components/schemas/NonNegativeAmount"},{"type":"null"}]},"confirmedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"applicableExchangeRateConversion":{"anyOf":[{"type":"object","properties":{"exchangeRate":{"type":"object","properties":{"fundId":{"$ref":"#/components/schemas/UUID"},"day":{"$ref":"#/components/schemas/Day"},"baseCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quoteCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"fxRate":{"type":"string"}},"required":["fundId","day","baseCurrency","quoteCurrency","fxRate"],"additionalProperties":false},"convertedAmount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["exchangeRate","convertedAmount"],"additionalProperties":false},{"type":"null"}]},"id":{"$ref":"#/components/schemas/UUID"},"orderType":{"type":"string","enum":["Redemption"]},"scheduled":{"anyOf":[{"type":"string"},{"type":"null"}]},"shareClassNetAssetValueAtCreation":{"$ref":"#/components/schemas/NonNegativeAmount"},"exchangeRateAtCreation":{"anyOf":[{"type":"object","properties":{"fundId":{"$ref":"#/components/schemas/UUID"},"day":{"$ref":"#/components/schemas/Day"},"baseCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quoteCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"fxRate":{"type":"string"}},"required":["fundId","day","baseCurrency","quoteCurrency","fxRate"],"additionalProperties":false},{"type":"null"}]},"payoutCurrency":{"anyOf":[{"$ref":"#/components/schemas/CurrencyCode"},{"type":"null"}]},"bankAccountName":{"anyOf":[{"type":"string"},{"type":"null"}]},"bankAccountNumber":{"anyOf":[{"type":"string"},{"type":"null"}]},"bankAccountBic":{"anyOf":[{"type":"string"},{"type":"null"}]},"recurringWithdrawalScheduleId":{"anyOf":[{"$ref":"#/components/schemas/UUID"},{"type":"null"}]},"status":{"type":"string","enum":["scheduled-in-shares","scheduled","canceled","created-on-app","pending-valuation"]},"amountAtCreation":{"$ref":"#/components/schemas/NonNegativeAmount"},"estimatedPayout":{"anyOf":[{"$ref":"#/components/schemas/NonNegativeAmount"},{"type":"null"}]}},"required":["createdAt","shareClassId","shareClassSymbol","shareDecimals","accountId","sharesAmount","netAssetValue","amount","confirmedAt","applicableExchangeRateConversion","id","orderType","scheduled","shareClassNetAssetValueAtCreation","exchangeRateAtCreation","payoutCurrency","bankAccountName","bankAccountNumber","bankAccountBic","recurringWithdrawalScheduleId","status","amountAtCreation","estimatedPayout"],"additionalProperties":false},{"type":"object","properties":{"createdAt":{"type":"string"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"shareClassSymbol":{"$ref":"#/components/schemas/ShareClassSymbol"},"shareDecimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"accountId":{"$ref":"#/components/schemas/UUID"},"sharesAmount":{"anyOf":[{"type":"string"},{"type":"null"}]},"netAssetValue":{"$ref":"#/components/schemas/NonNegativeAmount"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"confirmedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"applicableExchangeRateConversion":{"anyOf":[{"type":"object","properties":{"exchangeRate":{"type":"object","properties":{"fundId":{"$ref":"#/components/schemas/UUID"},"day":{"$ref":"#/components/schemas/Day"},"baseCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quoteCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"fxRate":{"type":"string"}},"required":["fundId","day","baseCurrency","quoteCurrency","fxRate"],"additionalProperties":false},"convertedAmount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["exchangeRate","convertedAmount"],"additionalProperties":false},{"type":"null"}]},"id":{"$ref":"#/components/schemas/UUID"},"orderType":{"type":"string","enum":["Redemption"]},"scheduled":{"anyOf":[{"type":"string"},{"type":"null"}]},"shareClassNetAssetValueAtCreation":{"$ref":"#/components/schemas/NonNegativeAmount"},"exchangeRateAtCreation":{"anyOf":[{"type":"object","properties":{"fundId":{"$ref":"#/components/schemas/UUID"},"day":{"$ref":"#/components/schemas/Day"},"baseCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quoteCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"fxRate":{"type":"string"}},"required":["fundId","day","baseCurrency","quoteCurrency","fxRate"],"additionalProperties":false},{"type":"null"}]},"payoutCurrency":{"anyOf":[{"$ref":"#/components/schemas/CurrencyCode"},{"type":"null"}]},"bankAccountName":{"anyOf":[{"type":"string"},{"type":"null"}]},"bankAccountNumber":{"anyOf":[{"type":"string"},{"type":"null"}]},"bankAccountBic":{"anyOf":[{"type":"string"},{"type":"null"}]},"recurringWithdrawalScheduleId":{"anyOf":[{"$ref":"#/components/schemas/UUID"},{"type":"null"}]},"status":{"type":"string","enum":["pending-execution","executed"]}},"required":["createdAt","shareClassId","shareClassSymbol","shareDecimals","accountId","sharesAmount","netAssetValue","amount","confirmedAt","applicableExchangeRateConversion","id","orderType","scheduled","shareClassNetAssetValueAtCreation","exchangeRateAtCreation","payoutCurrency","bankAccountName","bankAccountNumber","bankAccountBic","recurringWithdrawalScheduleId","status"],"additionalProperties":false},{"type":"object","properties":{"createdAt":{"type":"string"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"shareClassSymbol":{"$ref":"#/components/schemas/ShareClassSymbol"},"shareDecimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"accountId":{"$ref":"#/components/schemas/UUID"},"sharesAmount":{"anyOf":[{"type":"string"},{"type":"null"}]},"netAssetValue":{"anyOf":[{"$ref":"#/components/schemas/NonNegativeAmount"},{"type":"null"}]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"confirmedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"applicableExchangeRateConversion":{"anyOf":[{"type":"object","properties":{"exchangeRate":{"type":"object","properties":{"fundId":{"$ref":"#/components/schemas/UUID"},"day":{"$ref":"#/components/schemas/Day"},"baseCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quoteCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"fxRate":{"type":"string"}},"required":["fundId","day","baseCurrency","quoteCurrency","fxRate"],"additionalProperties":false},"convertedAmount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["exchangeRate","convertedAmount"],"additionalProperties":false},{"type":"null"}]},"id":{"$ref":"#/components/schemas/UUID"},"status":{"type":"string","enum":["pending","canceled","executed"]},"orderType":{"type":"string","enum":["InstantRedemption"]},"bankAccountName":{"anyOf":[{"type":"string"},{"type":"null"}]},"bankAccountNumber":{"anyOf":[{"type":"string"},{"type":"null"}]},"bankAccountBic":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["createdAt","shareClassId","shareClassSymbol","shareDecimals","accountId","sharesAmount","netAssetValue","amount","confirmedAt","applicableExchangeRateConversion","id","status","orderType","bankAccountName","bankAccountNumber","bankAccountBic"],"additionalProperties":false},{"type":"object","properties":{"createdAt":{"type":"string"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"shareClassSymbol":{"$ref":"#/components/schemas/ShareClassSymbol"},"shareDecimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"accountId":{"$ref":"#/components/schemas/UUID"},"sharesAmount":{"anyOf":[{"type":"string"},{"type":"null"}]},"netAssetValue":{"anyOf":[{"$ref":"#/components/schemas/NonNegativeAmount"},{"type":"null"}]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"confirmedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"applicableExchangeRateConversion":{"anyOf":[{"type":"object","properties":{"exchangeRate":{"type":"object","properties":{"fundId":{"$ref":"#/components/schemas/UUID"},"day":{"$ref":"#/components/schemas/Day"},"baseCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quoteCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"fxRate":{"type":"string"}},"required":["fundId","day","baseCurrency","quoteCurrency","fxRate"],"additionalProperties":false},"convertedAmount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["exchangeRate","convertedAmount"],"additionalProperties":false},{"type":"null"}]},"id":{"$ref":"#/components/schemas/UUID"},"status":{"type":"string","enum":["pending-wire","canceled","pending-valuation","pending-execution","executed"]},"orderType":{"type":"string","enum":["Subscription"]},"method":{"type":"string","enum":["collection"]},"wireReference":{"anyOf":[{"type":"string"},{"type":"null"}]},"accountNumber":{"type":"string"},"bic":{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},"intermediaryBic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]},"intermerdiaryBic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]},"bankAccountName":{"anyOf":[{"type":"string"},{"type":"null"}]},"bankAccountNumber":{"anyOf":[{"type":"string"},{"type":"null"}]},"bankAccountBic":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["createdAt","shareClassId","shareClassSymbol","shareDecimals","accountId","sharesAmount","netAssetValue","amount","confirmedAt","applicableExchangeRateConversion","id","status","orderType","wireReference","accountNumber","bic","intermediaryBic","intermerdiaryBic","bankAccountName","bankAccountNumber","bankAccountBic"],"additionalProperties":false},{"type":"object","properties":{"createdAt":{"type":"string"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"shareClassSymbol":{"$ref":"#/components/schemas/ShareClassSymbol"},"shareDecimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"accountId":{"$ref":"#/components/schemas/UUID"},"sharesAmount":{"type":"string"},"netAssetValue":{"anyOf":[{"$ref":"#/components/schemas/NonNegativeAmount"},{"type":"null"}]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"confirmedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"applicableExchangeRateConversion":{"anyOf":[{"type":"object","properties":{"exchangeRate":{"type":"object","properties":{"fundId":{"$ref":"#/components/schemas/UUID"},"day":{"$ref":"#/components/schemas/Day"},"baseCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quoteCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"fxRate":{"type":"string"}},"required":["fundId","day","baseCurrency","quoteCurrency","fxRate"],"additionalProperties":false},"convertedAmount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["exchangeRate","convertedAmount"],"additionalProperties":false},{"type":"null"}]},"id":{"$ref":"#/components/schemas/UUID"},"status":{"type":"string","enum":["created-on-app","pending-execution","executed","canceled","failed"]},"orderType":{"type":"string","enum":["TransferFrom"]},"toInvestorName":{"type":"string"}},"required":["createdAt","shareClassId","shareClassSymbol","shareDecimals","accountId","sharesAmount","netAssetValue","amount","confirmedAt","applicableExchangeRateConversion","id","status","orderType","toInvestorName"],"additionalProperties":false},{"type":"object","properties":{"createdAt":{"type":"string"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"shareClassSymbol":{"$ref":"#/components/schemas/ShareClassSymbol"},"shareDecimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"accountId":{"$ref":"#/components/schemas/UUID"},"sharesAmount":{"type":"string"},"netAssetValue":{"anyOf":[{"$ref":"#/components/schemas/NonNegativeAmount"},{"type":"null"}]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"confirmedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"applicableExchangeRateConversion":{"anyOf":[{"type":"object","properties":{"exchangeRate":{"type":"object","properties":{"fundId":{"$ref":"#/components/schemas/UUID"},"day":{"$ref":"#/components/schemas/Day"},"baseCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quoteCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"fxRate":{"type":"string"}},"required":["fundId","day","baseCurrency","quoteCurrency","fxRate"],"additionalProperties":false},"convertedAmount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["exchangeRate","convertedAmount"],"additionalProperties":false},{"type":"null"}]},"id":{"$ref":"#/components/schemas/UUID"},"status":{"type":"string","enum":["created-on-app","pending-execution","executed","canceled","failed"]},"orderType":{"type":"string","enum":["TransferTo"]},"fromInvestorName":{"type":"string"}},"required":["createdAt","shareClassId","shareClassSymbol","shareDecimals","accountId","sharesAmount","netAssetValue","amount","confirmedAt","applicableExchangeRateConversion","id","status","orderType","fromInvestorName"],"additionalProperties":false},{"type":"object","properties":{"createdAt":{"type":"string"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"shareClassSymbol":{"$ref":"#/components/schemas/ShareClassSymbol"},"shareDecimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"accountId":{"$ref":"#/components/schemas/UUID"},"sharesAmount":{"anyOf":[{"type":"string"},{"type":"null"}]},"netAssetValue":{"anyOf":[{"$ref":"#/components/schemas/NonNegativeAmount"},{"type":"null"}]},"amount":{"anyOf":[{"$ref":"#/components/schemas/NonNegativeAmount"},{"type":"null"}]},"confirmedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"applicableExchangeRateConversion":{"anyOf":[{"type":"object","properties":{"exchangeRate":{"type":"object","properties":{"fundId":{"$ref":"#/components/schemas/UUID"},"day":{"$ref":"#/components/schemas/Day"},"baseCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quoteCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"fxRate":{"type":"string"}},"required":["fundId","day","baseCurrency","quoteCurrency","fxRate"],"additionalProperties":false},"convertedAmount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["exchangeRate","convertedAmount"],"additionalProperties":false},{"type":"null"}]},"id":{"$ref":"#/components/schemas/UUID"},"orderType":{"type":"string","enum":["FundSwapTransferFrom"]},"status":{"type":"string","enum":["pending-redemption","pending-subscription","pending-subscription-execution","executed","canceled"]},"toAccountName":{"type":"string"},"toAccountId":{"$ref":"#/components/schemas/UUID"},"toShareClassId":{"$ref":"#/components/schemas/UUID"},"fundSwapFields":{"type":"object","properties":{"sourceAmount":{"$ref":"#/components/schemas/NonNegativeAmount"},"targetAmount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["sourceAmount","targetAmount"],"additionalProperties":false}},"required":["createdAt","shareClassId","shareClassSymbol","shareDecimals","accountId","sharesAmount","netAssetValue","amount","confirmedAt","applicableExchangeRateConversion","id","orderType","status","toAccountName","toAccountId","toShareClassId","fundSwapFields"],"additionalProperties":false},{"type":"object","properties":{"createdAt":{"type":"string"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"shareClassSymbol":{"$ref":"#/components/schemas/ShareClassSymbol"},"shareDecimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"accountId":{"$ref":"#/components/schemas/UUID"},"sharesAmount":{"anyOf":[{"type":"string"},{"type":"null"}]},"netAssetValue":{"anyOf":[{"$ref":"#/components/schemas/NonNegativeAmount"},{"type":"null"}]},"amount":{"anyOf":[{"$ref":"#/components/schemas/NonNegativeAmount"},{"type":"null"}]},"confirmedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"applicableExchangeRateConversion":{"anyOf":[{"type":"object","properties":{"exchangeRate":{"type":"object","properties":{"fundId":{"$ref":"#/components/schemas/UUID"},"day":{"$ref":"#/components/schemas/Day"},"baseCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quoteCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"fxRate":{"type":"string"}},"required":["fundId","day","baseCurrency","quoteCurrency","fxRate"],"additionalProperties":false},"convertedAmount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["exchangeRate","convertedAmount"],"additionalProperties":false},{"type":"null"}]},"id":{"$ref":"#/components/schemas/UUID"},"orderType":{"type":"string","enum":["FundSwapTransferTo"]},"status":{"type":"string","enum":["pending-redemption","pending-subscription","pending-subscription-execution","executed","canceled"]},"fromAccountName":{"type":"string"},"fromAccountId":{"$ref":"#/components/schemas/UUID"},"fromShareClassId":{"$ref":"#/components/schemas/UUID"},"fundSwapFields":{"type":"object","properties":{"sourceAmount":{"$ref":"#/components/schemas/NonNegativeAmount"},"targetAmount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["sourceAmount","targetAmount"],"additionalProperties":false}},"required":["createdAt","shareClassId","shareClassSymbol","shareDecimals","accountId","sharesAmount","netAssetValue","amount","confirmedAt","applicableExchangeRateConversion","id","orderType","status","fromAccountName","fromAccountId","fromShareClassId","fundSwapFields"],"additionalProperties":false},{"type":"object","properties":{"createdAt":{"type":"string"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"shareClassSymbol":{"$ref":"#/components/schemas/ShareClassSymbol"},"shareDecimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"accountId":{"$ref":"#/components/schemas/UUID"},"sharesAmount":{"type":"string"},"netAssetValue":{"anyOf":[{"$ref":"#/components/schemas/NonNegativeAmount"},{"type":"null"}]},"amount":{"anyOf":[{"$ref":"#/components/schemas/NonNegativeAmount"},{"type":"null"}]},"confirmedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"applicableExchangeRateConversion":{"anyOf":[{"type":"object","properties":{"exchangeRate":{"type":"object","properties":{"fundId":{"$ref":"#/components/schemas/UUID"},"day":{"$ref":"#/components/schemas/Day"},"baseCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quoteCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"fxRate":{"type":"string"}},"required":["fundId","day","baseCurrency","quoteCurrency","fxRate"],"additionalProperties":false},"convertedAmount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["exchangeRate","convertedAmount"],"additionalProperties":false},{"type":"null"}]},"id":{"$ref":"#/components/schemas/UUID"},"status":{"type":"string","enum":["created","pending-execution","executed","canceled"]},"orderType":{"type":"string","enum":["SharesWithdrawal"]}},"required":["createdAt","shareClassId","shareClassSymbol","shareDecimals","accountId","sharesAmount","netAssetValue","amount","confirmedAt","applicableExchangeRateConversion","id","status","orderType"],"additionalProperties":false},{"type":"object","properties":{"createdAt":{"type":"string"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"shareClassSymbol":{"$ref":"#/components/schemas/ShareClassSymbol"},"shareDecimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"accountId":{"$ref":"#/components/schemas/UUID"},"sharesAmount":{"anyOf":[{"type":"string"},{"type":"null"}]},"netAssetValue":{"anyOf":[{"$ref":"#/components/schemas/NonNegativeAmount"},{"type":"null"}]},"amount":{"$ref":"#/components/schemas/Amount"},"confirmedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"applicableExchangeRateConversion":{"anyOf":[{"type":"object","properties":{"exchangeRate":{"type":"object","properties":{"fundId":{"$ref":"#/components/schemas/UUID"},"day":{"$ref":"#/components/schemas/Day"},"baseCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quoteCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"fxRate":{"type":"string"}},"required":["fundId","day","baseCurrency","quoteCurrency","fxRate"],"additionalProperties":false},"convertedAmount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["exchangeRate","convertedAmount"],"additionalProperties":false},{"type":"null"}]},"id":{"$ref":"#/components/schemas/UUID"},"orderType":{"type":"string","enum":["Yield"]},"status":{"type":"string","enum":["executed"]},"yieldNavId":{"$ref":"#/components/schemas/UUID"},"yieldDay":{"$ref":"#/components/schemas/Day"}},"required":["createdAt","shareClassId","shareClassSymbol","shareDecimals","accountId","sharesAmount","netAssetValue","amount","confirmedAt","applicableExchangeRateConversion","id","orderType","status","yieldNavId","yieldDay"],"additionalProperties":false}]}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"hasMore":{"type":"boolean"}},"required":["items","nextCursor","hasMore"],"additionalProperties":false}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Retrieve the unified transaction history for an account.**\n\nThis is the recommended endpoint for displaying an account's activity to investors. It returns deposits, withdrawals, transfers and yield accruals merged into a single, paginated, time-ordered stream.\n\n- Results are paginated using a cursor. Pass the `nextCursor` returned by the previous call to retrieve subsequent pages.\n- Sorted anti-chronologically (newest first) by default; pass `direction=asc` for chronological order.\n- Optional `transactionType` filter narrows to one of `deposit`, `withdrawal`, `transfer`, or `yield`.\n- Canceled and failed entries are excluded.\n          ","summary":"Get account transaction history"}},"/v0/sandbox/execution-runs":{"get":{"tags":["Sandbox"],"operationId":"sandbox.getInProgressExecutionRuns","parameters":[{"name":"fundId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"ordersExecutionRunId":{"$ref":"#/components/schemas/UUID"},"fundId":{"$ref":"#/components/schemas/UUID"},"depositOrderIds":{"type":"array","items":{"$ref":"#/components/schemas/UUID"}},"withdrawalOrderIds":{"type":"array","items":{"$ref":"#/components/schemas/UUID"}}},"required":["ordersExecutionRunId","fundId","depositOrderIds","withdrawalOrderIds"],"additionalProperties":false}}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"Report the sandbox execution runs started by you that have not completed, and the deposit and withdrawal orders each one covers. Available in the sandbox environment only.","summary":"List your sandbox executions currently running"}},"/v0/sandbox/execution-runs/":{"post":{"tags":["Sandbox"],"operationId":"sandbox.startExecutionRun","parameters":[],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"ordersExecutionRunId":{"$ref":"#/components/schemas/UUID"},"outcome":{"type":"string","enum":["completed","progressed","waiting"]}},"required":["ordersExecutionRunId","outcome"],"additionalProperties":false}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictError"}}}},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableContentError"}}}},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"Execute a subset of your own deposit and withdrawal orders immediately. Only one execution at a time is allowed per fund. Available in the sandbox environment only.","summary":"Execute some of your executable orders","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"fundId":{"$ref":"#/components/schemas/UUID"},"depositOrderIds":{"type":"array","items":{"$ref":"#/components/schemas/UUID"}},"withdrawalOrderIds":{"type":"array","items":{"$ref":"#/components/schemas/UUID"}}},"required":["fundId"],"additionalProperties":false}}},"required":true}}},"/v0/sandbox/execution-runs/full":{"post":{"tags":["Sandbox"],"operationId":"sandbox.startFullExecutionRun","parameters":[],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"ordersExecutionRunId":{"$ref":"#/components/schemas/UUID"},"outcome":{"type":"string","enum":["completed","progressed","waiting"]}},"required":["ordersExecutionRunId","outcome"],"additionalProperties":false}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictError"}}}},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableContentError"}}}},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"Execute all of your own executable orders in a given fund. Only one execution at a time is allowed per fund. Available in the sandbox environment only.","summary":"Execute all of your executable orders in a fund","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"fundId":{"$ref":"#/components/schemas/UUID"}},"required":["fundId"],"additionalProperties":false}}},"required":true}}},"/v0/sandbox/deposit-orders/{depositOrderId}/fund":{"post":{"tags":["Sandbox"],"operationId":"sandbox.fundDepositOrder","parameters":[{"name":"depositOrderId","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"204":{"description":"Deposit order funded"},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableContentError"}}}},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"Moves a created deposit order straight to funded, as though its wire had arrived and been reconciled. Available in the sandbox environment only.","summary":"Mark a deposit order as funded"}},"/v0/sandbox/incoming-wires":{"post":{"tags":["Sandbox"],"operationId":"sandbox.simulateIncomingWire","parameters":[],"security":[{"basicAuth":[]}],"responses":{"204":{"description":"Incoming wire simulated"},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableContentError"}}}},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"Credits an IBAN as though a wire had arrived, and lets the ordinary processing run. The IBAN is either one of your investors' virtual IBANs, where an existing deposit order is matched and funded and otherwise one is created, or the `wireInstructions.iban` of a bulk deposit, where the wire funds its deposit orders when `message` carries its `wireInstructions.reference`, `counterpartyIban` is one of your registered bank accounts and `amount` is its total in cents. Available in the sandbox environment only.","summary":"Simulate an incoming wire","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"localIban":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"amount":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Amount of the wire in cents of EUR, e.g. 15025 for 150.25 EUR."},"counterpartyName":{"type":"string"},"counterpartyIban":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"message":{"type":"string"},"endToEndId":{"type":"string"}},"required":["localIban","amount"],"additionalProperties":false}}},"required":true}}},"/v0/sandbox/bulk-deposits":{"post":{"tags":["Sandbox"],"operationId":"sandbox.submitBulkDeposit","parameters":[],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"paymentEntryId":{"$ref":"#/components/schemas/UUID"},"wireInstructions":{"type":"object","properties":{"reference":{"type":"string"},"iban":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"bic":{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},"intermediaryBic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]},"currency":{"$ref":"#/components/schemas/CurrencyCode"}},"required":["reference","iban","bic","intermediaryBic","currency"],"additionalProperties":false},"lines":{"type":"array","prefixItems":[{"type":"object","properties":{"depositOrderId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["depositOrderId","accountId","shareClassId","amount"],"additionalProperties":false}],"minItems":1,"items":{"type":"object","properties":{"depositOrderId":{"$ref":"#/components/schemas/UUID"},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["depositOrderId","accountId","shareClassId","amount"],"additionalProperties":false}}},"required":["paymentEntryId","wireInstructions","lines"],"additionalProperties":false}}}},"400":{"description":"Bad Request | Application Error | The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BadRequestError"},{"$ref":"#/components/schemas/ApplicationError"},{"$ref":"#/components/schemas/HttpApiDecodeError"}]}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"422":{"description":"Some lines of the bulk deposit cannot be accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkDepositLinesRejectedError"}}}},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"Splits one wire across the accounts of your investors in a share class: every line is validated, then one deposit order is created per line and the wire instructions to quote are returned. Every rejected line is reported at once. Preview available in the sandbox environment only; its contract may still change.","summary":"Submit a bulk deposit (preview)","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"shareClassId":{"$ref":"#/components/schemas/UUID"},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"},"lines":{"type":"array","prefixItems":[{"type":"object","properties":{"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"anyOf":[{"$ref":"#/components/schemas/UUID"},{"type":"null"},{"type":"null"}]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["investorId","amount"],"additionalProperties":false}],"minItems":1,"items":{"type":"object","properties":{"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"anyOf":[{"$ref":"#/components/schemas/UUID"},{"type":"null"},{"type":"null"}]},"amount":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["investorId","amount"],"additionalProperties":false},"description":"The deposit of each investor, at most 1000 lines."}},"required":["shareClassId","amount","lines"],"additionalProperties":false}}},"required":true}}},"/v0/sandbox/bulk-deposits/{paymentEntryId}/cancel":{"post":{"tags":["Sandbox"],"operationId":"sandbox.cancelBulkDeposit","parameters":[{"name":"paymentEntryId","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"204":{"description":"Bulk deposit canceled"},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictError"}}}},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"Cancels a bulk deposit as a whole, with every deposit order it created, as long as no wire has funded it. A funded bulk deposit cannot be canceled, and its deposit orders cannot be canceled one by one. A wire quoting a canceled bulk deposit is returned to its sender. Preview available in the sandbox environment only; its contract may still change.","summary":"Cancel a bulk deposit (preview)"}},"/v0/distributors/me":{"get":{"tags":["Distributors"],"operationId":"distributors.getDefaultDistributor","parameters":[],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"name":{"type":"string","minLength":1},"email":{"type":"string"},"distributionModel":{"type":"string","enum":["spiko-license","named-accounts","omnibus"]},"instantWithdrawalEnabled":{"type":"boolean"}},"required":["id","name","email","distributionModel","instantWithdrawalEnabled"],"additionalProperties":false}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"Retrieve information about the distributor linked to the client credentials.","summary":"Get distributor info"}},"/v0/share-classes":{"get":{"tags":["Distributors"],"operationId":"distributors.getAllAllowedShareClasses","parameters":[],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"symbol":{"$ref":"#/components/schemas/ShareClassSymbol"},"fundId":{"$ref":"#/components/schemas/UUID"},"isin":{"type":"string","title":"Isin","description":"A valid ISIN"},"navDecimals":{"type":"integer","minimum":0,"maximum":20},"shareDecimals":{"type":"integer","minimum":0,"maximum":20},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"tokens":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"network":{"$ref":"#/components/schemas/EVMNetwork"},"address":{"$ref":"#/components/schemas/EvmAddress"}},"required":["network","address"],"additionalProperties":false},{"type":"object","properties":{"network":{"type":"string","enum":["Starknet"]},"address":{"$ref":"#/components/schemas/StarknetAddress"}},"required":["network","address"],"additionalProperties":false},{"type":"object","properties":{"network":{"type":"string","enum":["Stellar"]},"address":{"anyOf":[{"$ref":"#/components/schemas/StellarAccountAddress"},{"$ref":"#/components/schemas/StellarContractAddress"}]}},"required":["network","address"],"additionalProperties":false},{"type":"object","properties":{"network":{"type":"string","enum":["Solana"]},"address":{"$ref":"#/components/schemas/SolanaAddress"}},"required":["network","address"],"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\""},"bankAccountNumber":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"bankAccountIntermediaryBic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]},"bankAccountBic":{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},"intermediaryShareClasses":{"type":"array","items":{"type":"array","prefixItems":[{"$ref":"#/components/schemas/CurrencyCode"},{"$ref":"#/components/schemas/UUID"}],"maxItems":2,"minItems":2}},"cashCollectionBankAccount":{"anyOf":[{"type":"object","properties":{"bank":{"type":"string","enum":["MemoBank"]},"id":{"$ref":"#/components/schemas/UUID"},"legalEntity":{"type":"string","enum":["spiko-sicav","spiko-finance","spiko-cash-and-carry"]},"details":{"type":"object","properties":{"beneficiaryName":{"type":"string","minLength":1},"bic":{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"accountNumber":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"intermediaryBic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]}},"required":["beneficiaryName","bic","currency","accountNumber","intermediaryBic"],"additionalProperties":false}},"required":["bank","id","legalEntity","details"],"additionalProperties":false},{"type":"object","properties":{"bank":{"type":"string","enum":["BankingCircle"]},"id":{"$ref":"#/components/schemas/UUID"},"details":{"type":"object","properties":{"beneficiaryName":{"type":"string","minLength":1},"bic":{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"accountNumber":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"intermediaryBic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]}},"required":["beneficiaryName","bic","currency","accountNumber","intermediaryBic"],"additionalProperties":false}},"required":["bank","id","details"],"additionalProperties":false},{"type":"object","properties":{"bank":{"type":"string","enum":["HSBC"]},"id":{"$ref":"#/components/schemas/UUID"},"details":{"type":"object","properties":{"beneficiaryName":{"type":"string","minLength":1},"bic":{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"accountNumber":{"type":"string","title":"IBAN","description":"a valid IBAN (International Bank Account Number)"},"intermediaryBic":{"anyOf":[{"type":"string","title":"BIC","description":"A valid BIC (Bank Identifier Code)"},{"type":"null"}]}},"required":["beneficiaryName","bic","currency","accountNumber","intermediaryBic"],"additionalProperties":false}},"required":["bank","id","details"],"additionalProperties":false},{"type":"null"}],"description":"Deprecated. Always null."}},"required":["id","symbol","fundId","isin","navDecimals","shareDecimals","currency","tokens","useOfIncome","minimumInitialSubscription","minimumSubsequentSubscription","minimumRedemption","subscriptionFees","redemptionFees","managementFees","bankAccountNumber","bankAccountIntermediaryBic","bankAccountBic","intermediaryShareClasses","cashCollectionBankAccount"],"additionalProperties":false}}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"List share classes accessible to the authenticated distributor.","summary":"List share classes"}},"/v0/distributor-investor-contracts/{id}":{"get":{"tags":["Distributor investor contracts"],"operationId":"distributorInvestorContracts.getDistributorInvestorContract","parameters":[{"name":"id","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"annualFee":{"type":"string","title":"annual fee","description":"annual fee paid by the investor to the distributor, expressed as a yearly rate (e.g. \"0.0025\" for 0.25%)"}},"required":["id","distributorId","investorId","shareClassId","annualFee"],"additionalProperties":false}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"Retrieve information about a distributor investor contract (investor, share class, annual fee).","summary":"Get distributor investor contract"}},"/v0/distributor-investor-contracts/investor":{"get":{"tags":["Distributor investor contracts"],"operationId":"distributorInvestorContracts.getDistributorInvestorContractOfInvestorAndShareClass","parameters":[{"name":"investorId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":true},{"name":"shareClassId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"annualFee":{"type":"string","title":"annual fee","description":"annual fee paid by the investor to the distributor, expressed as a yearly rate (e.g. \"0.0025\" for 0.25%)"}},"required":["id","distributorId","investorId","shareClassId","annualFee"],"additionalProperties":false}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"Get a distributor investor contract informations of the given investor.","summary":"Get distributor investor contract of investor"}},"/v0/distributor-investor-contracts":{"post":{"tags":["Distributor investor contracts"],"operationId":"distributorInvestorContracts.createDistributorInvestorContract","parameters":[],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"annualFee":{"type":"string","title":"annual fee","description":"annual fee paid by the investor to the distributor, expressed as a yearly rate (e.g. \"0.0025\" for 0.25%)"}},"required":["id","distributorId","investorId","shareClassId","annualFee"],"additionalProperties":false}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"405":{"description":"MethodNotAllowed"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"Create a new contract that defines the annual fee paid by the investor to the distributor for a share class.","summary":"Create a contract","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"investorId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"annualFee":{"type":"string","title":"annual fee","description":"annual fee paid by the investor to the distributor, expressed as a yearly rate (e.g. \"0.0025\" for 0.25%)"}},"required":["investorId","shareClassId","annualFee"],"additionalProperties":false}}},"required":true}},"put":{"tags":["Distributor investor contracts"],"operationId":"distributorInvestorContracts.updateDistributorInvestorContractFee","parameters":[],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"},"annualFee":{"type":"string","title":"annual fee","description":"annual fee paid by the investor to the distributor, expressed as a yearly rate (e.g. \"0.0025\" for 0.25%)"}},"required":["id","distributorId","investorId","shareClassId","annualFee"],"additionalProperties":false}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"Update the annual fee of an existing distributor investor contract.","summary":"Update a distributor investor contract","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"annualFee":{"type":"string","title":"annual fee","description":"annual fee paid by the investor to the distributor, expressed as a yearly rate (e.g. \"0.0025\" for 0.25%)"}},"required":["id","annualFee"],"additionalProperties":false}}},"required":true}}},"/v0/distributor-investor-contracts/{distributorInvestorContractId}/paid-fees":{"get":{"tags":["Distributor investor contracts"],"operationId":"distributorInvestorContracts.getPaidFees","parameters":[{"name":"distributorInvestorContractId","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true},{"name":"from","in":"query","schema":{"type":"string","title":"Day","description":"a day formatted as \"yyyy-MM-dd\""},"required":false},{"name":"to","in":"query","schema":{"type":"string","title":"Day","description":"a day formatted as \"yyyy-MM-dd\""},"required":false}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"distributorInvestorContractId":{"$ref":"#/components/schemas/UUID"},"day":{"type":"string","title":"Day","description":"a day formatted as \"yyyy-MM-dd\""},"paidFee":{"$ref":"#/components/schemas/NonNegativeAmount"},"paidFeeInShares":{"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\""}},"required":["distributorInvestorContractId","day","paidFee","paidFeeInShares"],"additionalProperties":false}}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Retrieve the fees paid for the given distributor investor contract.**\n\n- Returns an array of paid fees both in amount and in number of shares, sorted by day.\n- `from` and `to` query parameters are optional and used to filter the results by day range.\n          ","summary":"Get the fees paid for the given distributor investor contract"}},"/v0/investor-tokens/":{"post":{"tags":["Investor tokens"],"operationId":"investorTokens.createInvestorToken","parameters":[],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string"},"expiresAt":{"type":"string"}},"required":["token","expiresAt"],"additionalProperties":false}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"Create a short-lived, single-use JWT for the investor to place orders directly from the distributor frontend.","summary":"Mint an investor-scoped JWT","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"investorId":{"$ref":"#/components/schemas/UUID"},"operation":{"type":"string","enum":["subscription","deposit","withdrawal"]}},"required":["investorId","operation"],"additionalProperties":false}}},"required":true}}},"/v0/webhook-configurations":{"post":{"tags":["Webhook Configurations"],"operationId":"webhookConfigurations.createWebhookConfiguration","parameters":[],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"url":{"$ref":"#/components/schemas/HttpsUrl"},"topics":{"type":"array","prefixItems":[{"type":"string","enum":["account.internal.created","deposit-order.created","deposit-order.funded","deposit-order.executed","deposit-order.canceled","deposit-order.retargeted","withdrawal-order.pending","withdrawal-order.executed","withdrawal-order.canceled","transfer-order.created","transfer-order.executed","swap-order.created","swap-order.executed","swap-order.canceled","investor.created","investor.updated","investor.activated","investor.made-compliant","investor.made-non-compliant","investor.archived","bank-account.created","bank-account.validated","bank-account.invalidated","bank-account.pending-validation","bank-account.archived","investor-invitation.accepted","yield.credited","subscription-order.created","subscription-order.executed","subscription-order.canceled","subscription-order.wire-validated","redemption-order.created","redemption-order.executed","redemption-order.canceled"]}],"minItems":1,"items":{"type":"string","enum":["account.internal.created","deposit-order.created","deposit-order.funded","deposit-order.executed","deposit-order.canceled","deposit-order.retargeted","withdrawal-order.pending","withdrawal-order.executed","withdrawal-order.canceled","transfer-order.created","transfer-order.executed","swap-order.created","swap-order.executed","swap-order.canceled","investor.created","investor.updated","investor.activated","investor.made-compliant","investor.made-non-compliant","investor.archived","bank-account.created","bank-account.validated","bank-account.invalidated","bank-account.pending-validation","bank-account.archived","investor-invitation.accepted","yield.credited","subscription-order.created","subscription-order.executed","subscription-order.canceled","subscription-order.wire-validated","redemption-order.created","redemption-order.executed","redemption-order.canceled"]}},"signingSecret":{"type":"string"},"previousSigningSecret":{"anyOf":[{"type":"string"},{"type":"null"}]},"secretRotatedAt":{"anyOf":[{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},{"type":"null"}]},"status":{"type":"string","enum":["active","disabled","circuit-broken"]},"consecutiveFailures":{"$ref":"#/components/schemas/NonNegativeInt"},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["id","distributorId","url","topics","signingSecret","previousSigningSecret","secretRotatedAt","status","consecutiveFailures","createdAt","updatedAt"],"additionalProperties":false}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"Register a new webhook endpoint. The signing secret is returned only in this response - store it securely.","summary":"Create a webhook configuration","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"$ref":"#/components/schemas/HttpsUrl"},"topics":{"type":"array","prefixItems":[{"type":"string","enum":["account.internal.created","deposit-order.created","deposit-order.funded","deposit-order.executed","deposit-order.canceled","deposit-order.retargeted","withdrawal-order.pending","withdrawal-order.executed","withdrawal-order.canceled","transfer-order.created","transfer-order.executed","swap-order.created","swap-order.executed","swap-order.canceled","investor.created","investor.updated","investor.activated","investor.made-compliant","investor.made-non-compliant","investor.archived","bank-account.created","bank-account.validated","bank-account.invalidated","bank-account.pending-validation","bank-account.archived","investor-invitation.accepted","yield.credited"]}],"minItems":1,"items":{"type":"string","enum":["account.internal.created","deposit-order.created","deposit-order.funded","deposit-order.executed","deposit-order.canceled","deposit-order.retargeted","withdrawal-order.pending","withdrawal-order.executed","withdrawal-order.canceled","transfer-order.created","transfer-order.executed","swap-order.created","swap-order.executed","swap-order.canceled","investor.created","investor.updated","investor.activated","investor.made-compliant","investor.made-non-compliant","investor.archived","bank-account.created","bank-account.validated","bank-account.invalidated","bank-account.pending-validation","bank-account.archived","investor-invitation.accepted","yield.credited"]}}},"required":["url","topics"],"additionalProperties":false}}},"required":true}},"get":{"tags":["Webhook Configurations"],"operationId":"webhookConfigurations.listWebhookConfigurations","parameters":[],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"url":{"$ref":"#/components/schemas/HttpsUrl"},"topics":{"type":"array","prefixItems":[{"type":"string","enum":["account.internal.created","deposit-order.created","deposit-order.funded","deposit-order.executed","deposit-order.canceled","deposit-order.retargeted","withdrawal-order.pending","withdrawal-order.executed","withdrawal-order.canceled","transfer-order.created","transfer-order.executed","swap-order.created","swap-order.executed","swap-order.canceled","investor.created","investor.updated","investor.activated","investor.made-compliant","investor.made-non-compliant","investor.archived","bank-account.created","bank-account.validated","bank-account.invalidated","bank-account.pending-validation","bank-account.archived","investor-invitation.accepted","yield.credited","subscription-order.created","subscription-order.executed","subscription-order.canceled","subscription-order.wire-validated","redemption-order.created","redemption-order.executed","redemption-order.canceled"]}],"minItems":1,"items":{"type":"string","enum":["account.internal.created","deposit-order.created","deposit-order.funded","deposit-order.executed","deposit-order.canceled","deposit-order.retargeted","withdrawal-order.pending","withdrawal-order.executed","withdrawal-order.canceled","transfer-order.created","transfer-order.executed","swap-order.created","swap-order.executed","swap-order.canceled","investor.created","investor.updated","investor.activated","investor.made-compliant","investor.made-non-compliant","investor.archived","bank-account.created","bank-account.validated","bank-account.invalidated","bank-account.pending-validation","bank-account.archived","investor-invitation.accepted","yield.credited","subscription-order.created","subscription-order.executed","subscription-order.canceled","subscription-order.wire-validated","redemption-order.created","redemption-order.executed","redemption-order.canceled"]}},"status":{"type":"string","enum":["active","disabled","circuit-broken"]},"consecutiveFailures":{"$ref":"#/components/schemas/NonNegativeInt"},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["id","distributorId","url","topics","status","consecutiveFailures","createdAt","updatedAt"],"additionalProperties":false}}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"List all webhook configurations for the authenticated distributor.","summary":"List webhook configurations"}},"/v0/webhook-configurations/{webhookConfigurationId}":{"put":{"tags":["Webhook Configurations"],"operationId":"webhookConfigurations.updateWebhookConfiguration","parameters":[{"name":"webhookConfigurationId","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"url":{"$ref":"#/components/schemas/HttpsUrl"},"topics":{"type":"array","prefixItems":[{"type":"string","enum":["account.internal.created","deposit-order.created","deposit-order.funded","deposit-order.executed","deposit-order.canceled","deposit-order.retargeted","withdrawal-order.pending","withdrawal-order.executed","withdrawal-order.canceled","transfer-order.created","transfer-order.executed","swap-order.created","swap-order.executed","swap-order.canceled","investor.created","investor.updated","investor.activated","investor.made-compliant","investor.made-non-compliant","investor.archived","bank-account.created","bank-account.validated","bank-account.invalidated","bank-account.pending-validation","bank-account.archived","investor-invitation.accepted","yield.credited","subscription-order.created","subscription-order.executed","subscription-order.canceled","subscription-order.wire-validated","redemption-order.created","redemption-order.executed","redemption-order.canceled"]}],"minItems":1,"items":{"type":"string","enum":["account.internal.created","deposit-order.created","deposit-order.funded","deposit-order.executed","deposit-order.canceled","deposit-order.retargeted","withdrawal-order.pending","withdrawal-order.executed","withdrawal-order.canceled","transfer-order.created","transfer-order.executed","swap-order.created","swap-order.executed","swap-order.canceled","investor.created","investor.updated","investor.activated","investor.made-compliant","investor.made-non-compliant","investor.archived","bank-account.created","bank-account.validated","bank-account.invalidated","bank-account.pending-validation","bank-account.archived","investor-invitation.accepted","yield.credited","subscription-order.created","subscription-order.executed","subscription-order.canceled","subscription-order.wire-validated","redemption-order.created","redemption-order.executed","redemption-order.canceled"]}},"status":{"type":"string","enum":["active","disabled","circuit-broken"]},"consecutiveFailures":{"$ref":"#/components/schemas/NonNegativeInt"},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["id","distributorId","url","topics","status","consecutiveFailures","createdAt","updatedAt"],"additionalProperties":false}}}},"400":{"description":"The webhook configuration is not in a status that allows this transition. `update`, `disable` and `rotate-secret` require an `active` configuration; `enable` requires a `disabled` or `circuit-broken` one. Recovering a `circuit-broken` configuration is therefore `enable` first, then `PUT`. | The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/InvalidWebhookConfigurationStateError"},{"$ref":"#/components/schemas/HttpApiDecodeError"}]}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"Update the URL and topics of an **active** webhook configuration. A `disabled` or `circuit-broken` configuration is rejected with `InvalidWebhookConfigurationStateError`: enable it first, then update it.","summary":"Update a webhook configuration","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"$ref":"#/components/schemas/HttpsUrl"},"topics":{"type":"array","prefixItems":[{"type":"string","enum":["account.internal.created","deposit-order.created","deposit-order.funded","deposit-order.executed","deposit-order.canceled","deposit-order.retargeted","withdrawal-order.pending","withdrawal-order.executed","withdrawal-order.canceled","transfer-order.created","transfer-order.executed","swap-order.created","swap-order.executed","swap-order.canceled","investor.created","investor.updated","investor.activated","investor.made-compliant","investor.made-non-compliant","investor.archived","bank-account.created","bank-account.validated","bank-account.invalidated","bank-account.pending-validation","bank-account.archived","investor-invitation.accepted","yield.credited"]}],"minItems":1,"items":{"type":"string","enum":["account.internal.created","deposit-order.created","deposit-order.funded","deposit-order.executed","deposit-order.canceled","deposit-order.retargeted","withdrawal-order.pending","withdrawal-order.executed","withdrawal-order.canceled","transfer-order.created","transfer-order.executed","swap-order.created","swap-order.executed","swap-order.canceled","investor.created","investor.updated","investor.activated","investor.made-compliant","investor.made-non-compliant","investor.archived","bank-account.created","bank-account.validated","bank-account.invalidated","bank-account.pending-validation","bank-account.archived","investor-invitation.accepted","yield.credited"]}}},"required":["url","topics"],"additionalProperties":false}}},"required":true}}},"/v0/webhook-configurations/{webhookConfigurationId}/disable":{"put":{"tags":["Webhook Configurations"],"operationId":"webhookConfigurations.disableWebhookConfiguration","parameters":[{"name":"webhookConfigurationId","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"url":{"$ref":"#/components/schemas/HttpsUrl"},"topics":{"type":"array","prefixItems":[{"type":"string","enum":["account.internal.created","deposit-order.created","deposit-order.funded","deposit-order.executed","deposit-order.canceled","deposit-order.retargeted","withdrawal-order.pending","withdrawal-order.executed","withdrawal-order.canceled","transfer-order.created","transfer-order.executed","swap-order.created","swap-order.executed","swap-order.canceled","investor.created","investor.updated","investor.activated","investor.made-compliant","investor.made-non-compliant","investor.archived","bank-account.created","bank-account.validated","bank-account.invalidated","bank-account.pending-validation","bank-account.archived","investor-invitation.accepted","yield.credited","subscription-order.created","subscription-order.executed","subscription-order.canceled","subscription-order.wire-validated","redemption-order.created","redemption-order.executed","redemption-order.canceled"]}],"minItems":1,"items":{"type":"string","enum":["account.internal.created","deposit-order.created","deposit-order.funded","deposit-order.executed","deposit-order.canceled","deposit-order.retargeted","withdrawal-order.pending","withdrawal-order.executed","withdrawal-order.canceled","transfer-order.created","transfer-order.executed","swap-order.created","swap-order.executed","swap-order.canceled","investor.created","investor.updated","investor.activated","investor.made-compliant","investor.made-non-compliant","investor.archived","bank-account.created","bank-account.validated","bank-account.invalidated","bank-account.pending-validation","bank-account.archived","investor-invitation.accepted","yield.credited","subscription-order.created","subscription-order.executed","subscription-order.canceled","subscription-order.wire-validated","redemption-order.created","redemption-order.executed","redemption-order.canceled"]}},"status":{"type":"string","enum":["active","disabled","circuit-broken"]},"consecutiveFailures":{"$ref":"#/components/schemas/NonNegativeInt"},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["id","distributorId","url","topics","status","consecutiveFailures","createdAt","updatedAt"],"additionalProperties":false}}}},"400":{"description":"The webhook configuration is not in a status that allows this transition. `update`, `disable` and `rotate-secret` require an `active` configuration; `enable` requires a `disabled` or `circuit-broken` one. Recovering a `circuit-broken` configuration is therefore `enable` first, then `PUT`. | The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/InvalidWebhookConfigurationStateError"},{"$ref":"#/components/schemas/HttpApiDecodeError"}]}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"Disable an **active** webhook configuration. No more events will be delivered to this endpoint, though they are still recorded and remain available from `GET /v0/webhook-events`.","summary":"Disable a webhook configuration"}},"/v0/webhook-configurations/{webhookConfigurationId}/enable":{"put":{"tags":["Webhook Configurations"],"operationId":"webhookConfigurations.enableWebhookConfiguration","parameters":[{"name":"webhookConfigurationId","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"url":{"$ref":"#/components/schemas/HttpsUrl"},"topics":{"type":"array","prefixItems":[{"type":"string","enum":["account.internal.created","deposit-order.created","deposit-order.funded","deposit-order.executed","deposit-order.canceled","deposit-order.retargeted","withdrawal-order.pending","withdrawal-order.executed","withdrawal-order.canceled","transfer-order.created","transfer-order.executed","swap-order.created","swap-order.executed","swap-order.canceled","investor.created","investor.updated","investor.activated","investor.made-compliant","investor.made-non-compliant","investor.archived","bank-account.created","bank-account.validated","bank-account.invalidated","bank-account.pending-validation","bank-account.archived","investor-invitation.accepted","yield.credited","subscription-order.created","subscription-order.executed","subscription-order.canceled","subscription-order.wire-validated","redemption-order.created","redemption-order.executed","redemption-order.canceled"]}],"minItems":1,"items":{"type":"string","enum":["account.internal.created","deposit-order.created","deposit-order.funded","deposit-order.executed","deposit-order.canceled","deposit-order.retargeted","withdrawal-order.pending","withdrawal-order.executed","withdrawal-order.canceled","transfer-order.created","transfer-order.executed","swap-order.created","swap-order.executed","swap-order.canceled","investor.created","investor.updated","investor.activated","investor.made-compliant","investor.made-non-compliant","investor.archived","bank-account.created","bank-account.validated","bank-account.invalidated","bank-account.pending-validation","bank-account.archived","investor-invitation.accepted","yield.credited","subscription-order.created","subscription-order.executed","subscription-order.canceled","subscription-order.wire-validated","redemption-order.created","redemption-order.executed","redemption-order.canceled"]}},"status":{"type":"string","enum":["active","disabled","circuit-broken"]},"consecutiveFailures":{"$ref":"#/components/schemas/NonNegativeInt"},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["id","distributorId","url","topics","status","consecutiveFailures","createdAt","updatedAt"],"additionalProperties":false}}}},"400":{"description":"The webhook configuration is not in a status that allows this transition. `update`, `disable` and `rotate-secret` require an `active` configuration; `enable` requires a `disabled` or `circuit-broken` one. Recovering a `circuit-broken` configuration is therefore `enable` first, then `PUT`. | The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/InvalidWebhookConfigurationStateError"},{"$ref":"#/components/schemas/HttpApiDecodeError"}]}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"Re-enable a `disabled` or `circuit-broken` webhook configuration and reset its consecutive-failure counter. Deliveries resume to the currently stored URL, so fix the endpoint before enabling, or enable and then update the URL.","summary":"Enable a webhook configuration"}},"/v0/webhook-configurations/{webhookConfigurationId}/rotate-secret":{"post":{"tags":["Webhook Configurations"],"operationId":"webhookConfigurations.rotateWebhookSigningSecret","parameters":[{"name":"webhookConfigurationId","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"url":{"$ref":"#/components/schemas/HttpsUrl"},"topics":{"type":"array","prefixItems":[{"type":"string","enum":["account.internal.created","deposit-order.created","deposit-order.funded","deposit-order.executed","deposit-order.canceled","deposit-order.retargeted","withdrawal-order.pending","withdrawal-order.executed","withdrawal-order.canceled","transfer-order.created","transfer-order.executed","swap-order.created","swap-order.executed","swap-order.canceled","investor.created","investor.updated","investor.activated","investor.made-compliant","investor.made-non-compliant","investor.archived","bank-account.created","bank-account.validated","bank-account.invalidated","bank-account.pending-validation","bank-account.archived","investor-invitation.accepted","yield.credited","subscription-order.created","subscription-order.executed","subscription-order.canceled","subscription-order.wire-validated","redemption-order.created","redemption-order.executed","redemption-order.canceled"]}],"minItems":1,"items":{"type":"string","enum":["account.internal.created","deposit-order.created","deposit-order.funded","deposit-order.executed","deposit-order.canceled","deposit-order.retargeted","withdrawal-order.pending","withdrawal-order.executed","withdrawal-order.canceled","transfer-order.created","transfer-order.executed","swap-order.created","swap-order.executed","swap-order.canceled","investor.created","investor.updated","investor.activated","investor.made-compliant","investor.made-non-compliant","investor.archived","bank-account.created","bank-account.validated","bank-account.invalidated","bank-account.pending-validation","bank-account.archived","investor-invitation.accepted","yield.credited","subscription-order.created","subscription-order.executed","subscription-order.canceled","subscription-order.wire-validated","redemption-order.created","redemption-order.executed","redemption-order.canceled"]}},"signingSecret":{"type":"string"},"previousSigningSecret":{"anyOf":[{"type":"string"},{"type":"null"}]},"secretRotatedAt":{"anyOf":[{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},{"type":"null"}]},"status":{"type":"string","enum":["active","disabled","circuit-broken"]},"consecutiveFailures":{"$ref":"#/components/schemas/NonNegativeInt"},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"updatedAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["id","distributorId","url","topics","signingSecret","previousSigningSecret","secretRotatedAt","status","consecutiveFailures","createdAt","updatedAt"],"additionalProperties":false}}}},"400":{"description":"The webhook configuration is not in a status that allows this transition. `update`, `disable` and `rotate-secret` require an `active` configuration; `enable` requires a `disabled` or `circuit-broken` one. Recovering a `circuit-broken` configuration is therefore `enable` first, then `PUT`. | The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/InvalidWebhookConfigurationStateError"},{"$ref":"#/components/schemas/HttpApiDecodeError"}]}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"Generate a new signing secret for an **active** webhook configuration. Both the old and the new secret are accepted for 24 hours, and the new one is returned only in this response. A `disabled` or `circuit-broken` configuration is rejected with `InvalidWebhookConfigurationStateError`: enable it first.","summary":"Rotate the signing secret"}},"/v0/webhook-events":{"get":{"tags":["Webhook Events"],"operationId":"webhookEvents.listWebhookEvents","parameters":[{"name":"after","in":"query","schema":{"type":"string"},"required":false},{"name":"eventType","in":"query","schema":{"type":"string","enum":["account.internal.created","deposit-order.created","deposit-order.funded","deposit-order.executed","deposit-order.canceled","deposit-order.retargeted","withdrawal-order.pending","withdrawal-order.executed","withdrawal-order.canceled","transfer-order.created","transfer-order.executed","swap-order.created","swap-order.executed","swap-order.canceled","investor.created","investor.updated","investor.activated","investor.made-compliant","investor.made-non-compliant","investor.archived","bank-account.created","bank-account.validated","bank-account.invalidated","bank-account.pending-validation","bank-account.archived","investor-invitation.accepted","yield.credited","subscription-order.created","subscription-order.executed","subscription-order.canceled","subscription-order.wire-validated","redemption-order.created","redemption-order.executed","redemption-order.canceled"]},"required":false},{"name":"limit","in":"query","schema":{"type":"string"},"required":false}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"sequenceNumber":{"type":"number"},"webhookConfigurationId":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"eventType":{"type":"string","enum":["account.internal.created","deposit-order.created","deposit-order.funded","deposit-order.executed","deposit-order.canceled","deposit-order.retargeted","withdrawal-order.pending","withdrawal-order.executed","withdrawal-order.canceled","transfer-order.created","transfer-order.executed","swap-order.created","swap-order.executed","swap-order.canceled","investor.created","investor.updated","investor.activated","investor.made-compliant","investor.made-non-compliant","investor.archived","bank-account.created","bank-account.validated","bank-account.invalidated","bank-account.pending-validation","bank-account.archived","investor-invitation.accepted","yield.credited","subscription-order.created","subscription-order.executed","subscription-order.canceled","subscription-order.wire-validated","redemption-order.created","redemption-order.executed","redemption-order.canceled"]},"payload":{},"retryCount":{"$ref":"#/components/schemas/NonNegativeInt"},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"status":{"type":"string","enum":["pending"]},"httpStatusCode":{"anyOf":[{"type":"integer","minimum":100,"maximum":599},{"type":"null"}]},"lastAttemptAt":{"anyOf":[{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},{"type":"null"}]},"deliveredAt":{"anyOf":[{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},{"type":"null"}]}},"required":["id","sequenceNumber","webhookConfigurationId","distributorId","eventType","payload","retryCount","createdAt","status","httpStatusCode","lastAttemptAt","deliveredAt"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"sequenceNumber":{"type":"number"},"webhookConfigurationId":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"eventType":{"type":"string","enum":["account.internal.created","deposit-order.created","deposit-order.funded","deposit-order.executed","deposit-order.canceled","deposit-order.retargeted","withdrawal-order.pending","withdrawal-order.executed","withdrawal-order.canceled","transfer-order.created","transfer-order.executed","swap-order.created","swap-order.executed","swap-order.canceled","investor.created","investor.updated","investor.activated","investor.made-compliant","investor.made-non-compliant","investor.archived","bank-account.created","bank-account.validated","bank-account.invalidated","bank-account.pending-validation","bank-account.archived","investor-invitation.accepted","yield.credited","subscription-order.created","subscription-order.executed","subscription-order.canceled","subscription-order.wire-validated","redemption-order.created","redemption-order.executed","redemption-order.canceled"]},"payload":{},"retryCount":{"$ref":"#/components/schemas/NonNegativeInt"},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"status":{"type":"string","enum":["delivered"]},"httpStatusCode":{"type":"integer","minimum":100,"maximum":599},"lastAttemptAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"deliveredAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"}},"required":["id","sequenceNumber","webhookConfigurationId","distributorId","eventType","payload","retryCount","createdAt","status","httpStatusCode","lastAttemptAt","deliveredAt"],"additionalProperties":false},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"sequenceNumber":{"type":"number"},"webhookConfigurationId":{"$ref":"#/components/schemas/UUID"},"distributorId":{"$ref":"#/components/schemas/UUID"},"eventType":{"type":"string","enum":["account.internal.created","deposit-order.created","deposit-order.funded","deposit-order.executed","deposit-order.canceled","deposit-order.retargeted","withdrawal-order.pending","withdrawal-order.executed","withdrawal-order.canceled","transfer-order.created","transfer-order.executed","swap-order.created","swap-order.executed","swap-order.canceled","investor.created","investor.updated","investor.activated","investor.made-compliant","investor.made-non-compliant","investor.archived","bank-account.created","bank-account.validated","bank-account.invalidated","bank-account.pending-validation","bank-account.archived","investor-invitation.accepted","yield.credited","subscription-order.created","subscription-order.executed","subscription-order.canceled","subscription-order.wire-validated","redemption-order.created","redemption-order.executed","redemption-order.canceled"]},"payload":{},"retryCount":{"$ref":"#/components/schemas/NonNegativeInt"},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"status":{"type":"string","enum":["failed"]},"httpStatusCode":{"anyOf":[{"type":"integer","minimum":100,"maximum":599},{"type":"null"}]},"lastAttemptAt":{"anyOf":[{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},{"type":"null"}]},"deliveredAt":{"anyOf":[{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},{"type":"null"}]},"failureReason":{"anyOf":[{"type":"string","enum":["configuration-circuit-broken","configuration-disabled","delivery-attempts-exhausted","permanent-failure","retry-scheduling-failed"],"title":"Failure reason","description":"Why the event was not delivered. `configuration-circuit-broken` and `configuration-disabled` mean no delivery was attempted because the webhook configuration was not active at the time; `retryCount` stays `0` and `lastAttemptAt` is `null` for those."},{"type":"null"}]}},"required":["id","sequenceNumber","webhookConfigurationId","distributorId","eventType","payload","retryCount","createdAt","status","httpStatusCode","lastAttemptAt","deliveredAt","failureReason"],"additionalProperties":false}]}}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"Retrieve webhook events using cursor-based pagination. Pass the last `sequenceNumber` as `after` to get the next page.","summary":"Poll webhook events"}},"/v0/investor-documents":{"get":{"tags":["Investor Documents"],"operationId":"investorDocuments.getInvestorDocuments","parameters":[{"name":"investorId","in":"query","schema":{"$ref":"#/components/schemas/UUID"},"required":true},{"name":"documentTypes","in":"query","schema":{"type":"array","items":{"type":"string","enum":["proof-of-bank-account-ownership","certificate-of-incorporation","articles-of-association","certificate-of-good-standing","official-id","proof-of-address","proof-of-funds","extract-of-ubo-register","company-register-extract","screening-report","power-of-attorney","other-document","unknown","imprime-fiscal-unique","cash&carry-suitability-assessment","cash&carry-appropriateness-assessment","regulatory-information"]}},"required":false}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"investorId":{"$ref":"#/components/schemas/UUID"},"documentType":{"type":"string","enum":["proof-of-bank-account-ownership","certificate-of-incorporation","articles-of-association","certificate-of-good-standing","official-id","proof-of-address","proof-of-funds","extract-of-ubo-register","company-register-extract","screening-report","power-of-attorney","other-document","unknown","imprime-fiscal-unique","cash&carry-suitability-assessment","cash&carry-appropriateness-assessment","regulatory-information"]},"contentType":{"type":"string"},"s3FilePath":{"type":"string"},"originalFileName":{"type":"string"},"createdAt":{"type":"string","title":"valid range date","description":"A valid date within the range 2020-2100"},"createdBy":{"anyOf":[{"type":"object","properties":{"userId":{"$ref":"#/components/schemas/UUID"},"type":{"type":"string","enum":["investor"]}},"required":["userId","type"],"additionalProperties":false},{"type":"object","properties":{"userId":{"$ref":"#/components/schemas/UUID"},"type":{"type":"string","enum":["user"]}},"required":["userId","type"],"additionalProperties":false},{"type":"object","properties":{"userId":{"$ref":"#/components/schemas/UUID"},"type":{"type":"string","enum":["admin"]}},"required":["userId","type"],"additionalProperties":false},{"type":"object","properties":{"userId":{"$ref":"#/components/schemas/UUID"},"type":{"type":"string","enum":["distributor-client"]}},"required":["userId","type"],"additionalProperties":false},{"type":"object","properties":{"userId":{"$ref":"#/components/schemas/UUID"},"type":{"type":"string","enum":["distributor-user"]}},"required":["userId","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["system"]}},"required":["type"],"additionalProperties":false}]},"rejectionReason":{"type":"string"},"status":{"type":"string","enum":["pending","pending_review","active","rejected","archived"]}},"required":["id","investorId","documentType","contentType","s3FilePath","originalFileName","createdAt","createdBy","status"],"additionalProperties":false}}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Retrieve all documents for an investor.**\n\n- Returns a list of documents uploaded for the specified investor.\n- Only active (non-archived) documents are returned.\n- Optionally filter by `documentTypes` (e.g. [`official-id`, `proof-of-address`, `imprime-fiscal-unique`]).\n          ","summary":"Get investor documents"},"post":{"tags":["Investor Documents"],"operationId":"investorDocuments.uploadInvestorDocument","parameters":[],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"a Universally Unique Identifier","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UUID"}}}},"400":{"description":"BadRequest | Application Error | The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/ApplicationError"},{"$ref":"#/components/schemas/HttpApiDecodeError"}]}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Upload document (official ID / proof of address / screening report etc.) related to an investor.**\n\n- Supported extensions are: pdf, jpg, png, doc, docx, xls, xlsx.\n- Returns the ID of the created investor document.\n        ","summary":"Upload investor document","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"investorId":{"$ref":"#/components/schemas/UUID"},"type":{"$ref":"#/components/schemas/UploadableInvestorDocumentType"},"file":{"type":"string","format":"binary"}},"required":["investorId","type","file"],"additionalProperties":false}}},"required":true}}},"/v0/investor-documents/{investorDocumentId}":{"get":{"tags":["Investor Documents"],"operationId":"investorDocuments.downloadInvestorDocument","parameters":[{"name":"investorDocumentId","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"\n**Get a signed URL to download a specific investor document.**\n\n- Returns a pre-signed URL that can be used to download the document.\n- The URL is valid for a limited time.\n          ","summary":"Download investor document"}},"/v0/wallets/{walletId}":{"get":{"tags":["Wallets"],"operationId":"wallets.getWallet","parameters":[{"name":"walletId","in":"path","schema":{"$ref":"#/components/schemas/UUID"},"required":true}],"security":[{"basicAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UUID"},"network":{"anyOf":[{"$ref":"#/components/schemas/Network"},{"type":"null"}]},"address":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"$ref":"#/components/schemas/StarknetAddress"},{"$ref":"#/components/schemas/StellarAccountAddress"},{"$ref":"#/components/schemas/StellarContractAddress"},{"$ref":"#/components/schemas/SolanaAddress"},{"type":"null"}]}},"required":["id","network","address"],"additionalProperties":false}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"401":{"description":"Authentication failed. Two bodies are possible: the schema below when the API rejects the credentials, and `{ \"error\": { \"code\", \"status\", \"request\", \"message\" } }` when the API gateway rejects them first. Only the former carries a `_tag`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributorAuthenticationError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenError"}}}},"404":{"description":"NotFound"},"503":{"description":"The investor is undergoing a scheduled upgrade, access is temporarily paused to ensure data safety.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorTemporarilyLocked"}}}}},"description":"Retrieve wallet information by providing the wallet ID.","summary":"Get wallet"}}},"components":{"schemas":{"HttpApiDecodeError":{"type":"object","properties":{"_tag":{"type":"string","enum":["HttpApiDecodeError"]},"issues":{"type":"array","items":{"$ref":"#/components/schemas/Issue"}},"message":{"type":"string"}},"required":["_tag","issues","message"],"additionalProperties":false},"Issue":{"type":"object","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":{"anyOf":[{"type":"string"},{"type":"number"}]},"description":"The path to the property where the issue occurred"},"message":{"type":"string","description":"A descriptive message explaining the issue"}},"required":["_tag","path","message"],"additionalProperties":false,"description":"Represents an error encountered while parsing a value to match the schema"},"InvestorTemporarilyLocked":{"type":"object","properties":{"_tag":{"type":"string","enum":["InvestorTemporarilyLocked"]},"reason":{"type":"string"},"investorId":{"type":"string","format":"uuid"}},"required":["_tag","reason","investorId"],"additionalProperties":false},"ForbiddenError":{"type":"object","properties":{"_tag":{"type":"string","enum":["ForbiddenError"]},"reason":{"type":"string"},"customErrorCode":{"type":"string","enum":["AccountDoesNotBelongToInvestor","SessionIsNot2FA","InvestorDocumentLinkedToActiveBankAccount","AtLeastTwoAdminUsersRequired","InvestorNotPendingOnboarding","ShareClassNotAvailableForDistributor","ShareClassSubscriptionsClosed","ShareClassLockedUntilMaturity","ShareClassDepositsReservedToSwaps","ShareClassExternalTransfersLocked","InvestorNotEligibleForMandate"]}},"required":["_tag","reason"],"additionalProperties":false},"DistributorAuthenticationError":{"type":"object","properties":{"_tag":{"type":"string","enum":["DistributorAuthenticationError"]},"reason":{"type":"string"}},"required":["_tag","reason"],"additionalProperties":false},"SolanaAddress":{"type":"string","title":"Solana address","description":"a valid Solana address, consisting of 32 to 44 base58 characters"},"StellarContractAddress":{"type":"string"},"StellarAccountAddress":{"type":"string"},"StarknetAddress":{"type":"string","pattern":"^(0x)?[0-9a-fA-F]{1,64}$"},"EvmAddress":{"type":"string"},"Network":{"type":"string","enum":["Ethereum","Polygon","Base","Arbitrum","ArbitrumUk","Etherlink","Starknet","Stellar","Solana"],"title":"Network","description":"a blockchain network e.g. \"Ethereum\", \"Polygon\", \"Arbitrum\", \"Starknet\""},"UUID":{"type":"string","format":"uuid","description":"a Universally Unique Identifier"},"ApplicationError":{"type":"object","properties":{"_tag":{"type":"string","enum":["ApplicationError"]},"reason":{"type":"string"},"customErrorCode":{"type":"string","enum":["MissingNAV","NonBusinessDay","OrderInTheFuture","InitialDepositTooLow","InitialSubscriptionTooLow","SubsequentDepositTooLow","SubsequentSubscriptionTooLow","NewWalletSignatureNotProvided","NewWalletSignatureNotValid","CurrencyNotSupported","StablecoinNotSupported","SpikoAgentSynchronizedToBroken","SpikoAgentHasPendingRun","IncomingBankTransferNotFound","IncomingBankTransferNotReceived","IncomingBankTransferAlreadyHandled","IncomingBankTransferAmountMismatch","MandateAlreadySigned","MandateNotSigned","BankWithoutSepaB2bDirectDebit","BankAccountNotValidated","MissingActiveAccountLine"]}},"required":["_tag","reason"],"additionalProperties":false},"UploadableInvestorDocumentType":{"type":"string","enum":["proof-of-bank-account-ownership","certificate-of-incorporation","articles-of-association","certificate-of-good-standing","official-id","proof-of-address","proof-of-funds","extract-of-ubo-register","company-register-extract","screening-report","power-of-attorney","other-document","unknown"]},"NonNegativeInt":{"type":"integer","minimum":0,"maximum":9007199254740991},"InvalidWebhookConfigurationStateError":{"type":"object","properties":{"_tag":{"type":"string","enum":["InvalidWebhookConfigurationStateError"]},"reason":{"type":"string"},"status":{"type":"string","enum":["active","disabled","circuit-broken"]}},"required":["_tag","reason","status"],"additionalProperties":false},"HttpsUrl":{"type":"string"},"NonNegativeAmount":{"type":"object","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":{"$ref":"#/components/schemas/CurrencyCode"}},"required":["value","currency"],"additionalProperties":false},"CurrencyCode":{"type":"string","enum":["EUR","USD","GBP","CHF","JPY","SGD","SEK","NOK","DKK","PLN","HUF","CZK"],"title":"Currency code","description":"a currency code among \"EUR\", \"USD\", \"GBP\", \"CHF\", \"JPY\", \"SGD\", \"SEK\", \"NOK\", \"DKK\", \"PLN\", \"HUF\", \"CZK\""},"SwapRouteDistributorApi":{"type":"object","properties":{"fromShareClassId":{"$ref":"#/components/schemas/UUID"},"toShareClassId":{"$ref":"#/components/schemas/UUID"}},"required":["fromShareClassId","toShareClassId"],"additionalProperties":false,"title":"Swap route"},"EVMNetwork":{"type":"string","enum":["Ethereum","Polygon","Base","Arbitrum","ArbitrumUk","Etherlink"],"title":"EVM Network","description":"an EVM blockchain network e.g. \"Ethereum\", \"Polygon\", \"Arbitrum\""},"ShareClassSymbol":{"type":"string","enum":["EUTBL","USTBL","eurUSTBL","SPKCC","eurSPKCC","UKTBL","eurUKTBL","SAFO","SAFOd","eurSAFO","eurSAFOd","gbpSAFO","gbpSAFOd","chfSAFO","sekSAFO","nokSAFO","dkkSAFO","plnSAFO","hufSAFO","czkSAFO"],"title":"ShareClassSymbol"},"Amount":{"type":"object","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":{"$ref":"#/components/schemas/CurrencyCode"}},"required":["value","currency"],"additionalProperties":false},"InvestorNotReadyError":{"type":"object","properties":{"_tag":{"type":"string","enum":["InvestorNotReadyError"]},"reason":{"type":"string"}},"required":["_tag","reason"],"additionalProperties":false},"LocaleLanguage":{"type":"string","enum":["en","es","fr","it","de","nl"],"title":"LocaleLanguage","description":"The language of the user"},"Day":{"type":"string","title":"Day","description":"a day in ISO format \"YYYY-MM-DD\""},"NonNegativeBigint":{"type":"string","pattern":"^-?\\d+$"},"ConflictError":{"type":"object","properties":{"_tag":{"type":"string","enum":["ConflictError"]},"reason":{"type":"string"},"customErrorCode":{"type":"string","enum":["TooManyAddresses","AccountAlreadyExists","NonCustodialSubscriptionOnCustodialWallet","DailyExecutionInProgress","DailyExecutionCommandAlreadyRunning","ExecutionRunAlreadyInProgress","OffCycleRunInProgress"]}},"required":["_tag","reason"],"additionalProperties":false},"BadRequestError":{"type":"object","properties":{"_tag":{"type":"string","enum":["BadRequestError"]},"reason":{"type":"string"}},"required":["_tag","reason"],"additionalProperties":false},"BulkDepositLinesRejectedError":{"type":"object","properties":{"_tag":{"type":"string","enum":["BulkDepositLinesRejectedError"]},"rejectedLines":{"type":"array","items":{"type":"object","properties":{"investorId":{"$ref":"#/components/schemas/UUID"},"accountId":{"anyOf":[{"$ref":"#/components/schemas/UUID"},{"type":"null"}]},"index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"reason":{"type":"string","enum":["investor-not-found","account-not-found","account-not-of-investor","investor-has-no-account","investor-has-several-accounts","account-not-active","missing-share-class-line","share-class-line-not-active","account-type-not-allowed","investor-not-active","investor-not-compliant","initial-deposit-too-low","subsequent-deposit-too-low"]}},"required":["investorId","accountId","index","reason"],"additionalProperties":false}}},"required":["_tag","rejectedLines"],"additionalProperties":false},"UnprocessableContentError":{"type":"object","properties":{"_tag":{"type":"string","enum":["UnprocessableContentError"]},"reason":{"type":"string"},"customErrorCode":{"type":"string"}},"required":["_tag","reason"],"additionalProperties":false},"SwapOrderNotCancelableError":{"type":"object","properties":{"_tag":{"type":"string","enum":["SwapOrderNotCancelableError"]},"swapOrderId":{"$ref":"#/components/schemas/UUID"},"reason":{"type":"string"}},"required":["_tag","swapOrderId","reason"],"additionalProperties":false},"DatedLineAlreadyFundedError":{"type":"object","properties":{"_tag":{"type":"string","enum":["DatedLineAlreadyFundedError"]},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"}},"required":["_tag","accountId","shareClassId"],"additionalProperties":false},"MissingAccountLineError":{"type":"object","properties":{"_tag":{"type":"string","enum":["MissingAccountLineError"]},"accountId":{"$ref":"#/components/schemas/UUID"},"shareClassId":{"$ref":"#/components/schemas/UUID"}},"required":["_tag","accountId","shareClassId"],"additionalProperties":false},"SwapNotAvailableError":{"type":"object","properties":{"_tag":{"type":"string","enum":["SwapNotAvailableError"]},"fromShareClassId":{"$ref":"#/components/schemas/UUID"},"toShareClassId":{"$ref":"#/components/schemas/UUID"},"reason":{"type":"string","enum":["same-share-class","share-classes-not-swappable","no-conversion-path","share-class-unavailable"]}},"required":["_tag","fromShareClassId","toShareClassId","reason"],"additionalProperties":false},"InsufficientBalanceError":{"type":"object","properties":{"_tag":{"type":"string","enum":["InsufficientBalanceError"]},"payload":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["empty-account"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["shares"]},"requested":{"type":"string"},"available":{"type":"string"}},"required":["type","requested","available"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["amount"]},"requested":{"$ref":"#/components/schemas/NonNegativeAmount"},"available":{"$ref":"#/components/schemas/NonNegativeAmount"}},"required":["type","requested","available"],"additionalProperties":false}]}},"required":["_tag","payload"],"additionalProperties":false},"NotFoundError":{"type":"object","properties":{"_tag":{"type":"string","enum":["NotFoundError"]},"reason":{"type":"string"}},"required":["_tag","reason"],"additionalProperties":false},"BankOutageError":{"type":"object","properties":{"_tag":{"type":"string","enum":["BankOutageError"]},"reason":{"type":"string"}},"required":["_tag","reason"],"additionalProperties":false},"InstantWithdrawalDisabledError":{"type":"object","properties":{"_tag":{"type":"string","enum":["InstantWithdrawalDisabledError"]},"distributorId":{"$ref":"#/components/schemas/UUID"}},"required":["_tag","distributorId"],"additionalProperties":false},"ServiceUnavailableError":{"type":"object","properties":{"_tag":{"type":"string","enum":["ServiceUnavailableError"]},"reason":{"type":"string"}},"required":["_tag","reason"],"additionalProperties":false},"InstantWithdrawalDailyLimitExceededError":{"type":"object","properties":{"_tag":{"type":"string","enum":["InstantWithdrawalDailyLimitExceededError"]},"requested":{"$ref":"#/components/schemas/NonNegativeAmount"},"available":{"type":"string"},"investorId":{"$ref":"#/components/schemas/UUID"},"reason":{"type":"string"}},"required":["_tag","requested","available","investorId","reason"],"additionalProperties":false},"DuplicateInvestorTokenError":{"type":"object","properties":{"_tag":{"type":"string","enum":["DuplicateInvestorTokenError"]},"reason":{"type":"string"}},"required":["_tag","reason"],"additionalProperties":false},"NoDepositAccountInCurrencyError":{"type":"object","properties":{"_tag":{"type":"string","enum":["NoDepositAccountInCurrencyError"]},"reason":{"type":"string"}},"required":["_tag","reason"],"additionalProperties":false},"WireReference":{"type":"string","pattern":"^[0-9A-Z]{5,15}$","title":"WireReference","description":"a wire reference"},"NetworkNotEnabledError":{"type":"object","properties":{"_tag":{"type":"string","enum":["NetworkNotEnabledError"]},"network":{"$ref":"#/components/schemas/Network"}},"required":["_tag","network"],"additionalProperties":false},"InvitationAlreadyExistsApiError":{"type":"object","properties":{"_tag":{"type":"string","enum":["InvitationAlreadyExistsApiError"]},"reason":{"type":"string"}},"required":["_tag","reason"],"additionalProperties":false},"AccountAlreadyExistsApiError":{"type":"object","properties":{"_tag":{"type":"string","enum":["AccountAlreadyExistsApiError"]},"reason":{"type":"string"}},"required":["_tag","reason"],"additionalProperties":false},"CountryCodeAlpha2":{"type":"string","enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"title":"Country code","description":"alpha-2 country code (ISO 3166-1)","examples":["FR","BE","DE"]},"InvalidProofDocumentError":{"type":"object","properties":{"_tag":{"type":"string","enum":["InvalidProofDocumentError"]},"reason":{"type":"string"}},"required":["_tag","reason"],"additionalProperties":false},"BankAccountProofUploadNotAllowedError":{"type":"object","properties":{"_tag":{"type":"string","enum":["BankAccountProofUploadNotAllowedError"]},"reason":{"type":"string"}},"required":["_tag","reason"],"additionalProperties":false},"ProofDocumentRequiredError":{"type":"object","properties":{"_tag":{"type":"string","enum":["ProofDocumentRequiredError"]},"reason":{"type":"string"}},"required":["_tag","reason"],"additionalProperties":false},"MissingTaxIdentificationNumberError":{"type":"object","properties":{"_tag":{"type":"string","enum":["MissingTaxIdentificationNumberError"]},"reason":{"type":"string"}},"required":["_tag","reason"],"additionalProperties":false},"MissingInvestorEmailError":{"type":"object","properties":{"_tag":{"type":"string","enum":["MissingInvestorEmailError"]},"reason":{"type":"string"}},"required":["_tag","reason"],"additionalProperties":false},"LegalEntityName":{"type":"string","title":"Legal entity name","description":"a valid name for a legal entity, of max size 255, non empty, some special characters are forbidden"},"TaxIdentificationNumberByCountry":{"type":"array","prefixItems":[{"anyOf":[{"type":"object","properties":{"country":{"type":"string","enum":["FR"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{13}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["GF"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{13}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["GP"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{13}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["MQ"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{13}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["RE"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{13}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["YT"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{13}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["AT"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^([0-9]{7}|[0-9]{9})$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["BE"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{11}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["BG"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{10}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["CY"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[069][0-9]{7}[A-Z]$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["CZ"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{9,10}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["DE"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{10,11}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["DK"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{10}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["EE"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{11}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["ES"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9KLMXYZ][0-9]{7}[A-Z]$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["FI"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{6}[+\\-A][0-9]{3}[0-9A-Z]$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["GB"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^([A-Z]{2}[0-9]{6}[ABCD]|[0-9]{10})$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["GR"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{9}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["HR"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{11}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["HU"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{10}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["IE"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{7}[A-Z]{1,2}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["IT"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[A-Z]{6}[0-9]{2}[A-Z][0-9]{2}[A-Z][0-9]{3}[A-Z]$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["LT"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{11}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["LU"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{13}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["LV"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{11}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["MT"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^([0-9]{7}[ABGHLMPZ]|[0-9]{9})$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["NL"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{9}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["PL"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{10,11}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["PT"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{9}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["RO"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{13}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["SE"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^([0-9]{10}|[0-9]{12})$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["SI"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{8}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["SK"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{10}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AU","AW","AX","AZ","BA","BB","BD","BF","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","DJ","DM","DO","DZ","EC","EG","EH","ER","ET","FJ","FK","FM","FO","GA","GD","GE","GG","GH","GI","GL","GM","GN","GQ","GS","GT","GU","GW","GY","HK","HM","HN","HT","ID","IL","IM","IN","IO","IQ","IR","IS","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MR","MS","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PM","PN","PR","PS","PW","PY","QA","RS","RU","RW","SA","SB","SC","SD","SG","SH","SJ","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","ZA","ZM","ZW"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false}]}],"minItems":1,"items":{"anyOf":[{"type":"object","properties":{"country":{"type":"string","enum":["FR"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{13}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["GF"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{13}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["GP"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{13}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["MQ"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{13}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["RE"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{13}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["YT"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{13}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["AT"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^([0-9]{7}|[0-9]{9})$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["BE"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{11}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["BG"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{10}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["CY"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[069][0-9]{7}[A-Z]$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["CZ"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{9,10}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["DE"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{10,11}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["DK"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{10}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["EE"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{11}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["ES"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9KLMXYZ][0-9]{7}[A-Z]$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["FI"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{6}[+\\-A][0-9]{3}[0-9A-Z]$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["GB"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^([A-Z]{2}[0-9]{6}[ABCD]|[0-9]{10})$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["GR"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{9}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["HR"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{11}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["HU"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{10}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["IE"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{7}[A-Z]{1,2}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["IT"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[A-Z]{6}[0-9]{2}[A-Z][0-9]{2}[A-Z][0-9]{3}[A-Z]$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["LT"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{11}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["LU"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{13}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["LV"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{11}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["MT"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^([0-9]{7}[ABGHLMPZ]|[0-9]{9})$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["NL"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{9}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["PL"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{10,11}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["PT"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{9}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["RO"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{13}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["SE"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^([0-9]{10}|[0-9]{12})$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["SI"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{8}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["SK"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]{10}$"},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false},{"type":"object","properties":{"country":{"type":"string","enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AU","AW","AX","AZ","BA","BB","BD","BF","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","DJ","DM","DO","DZ","EC","EG","EH","ER","ET","FJ","FK","FM","FO","GA","GD","GE","GG","GH","GI","GL","GM","GN","GQ","GS","GT","GU","GW","GY","HK","HM","HN","HT","ID","IL","IM","IN","IO","IQ","IR","IS","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MR","MS","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PM","PN","PR","PS","PW","PY","QA","RS","RU","RW","SA","SB","SC","SD","SG","SH","SJ","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","ZA","ZM","ZW"]},"taxIdentificationNumber":{"anyOf":[{"type":"string","minLength":1,"maxLength":20},{"type":"null"},{"type":"null"}]}},"required":["country"],"additionalProperties":false}]},"description":"Country(ies) of tax residence and optional tax identification number(s)"},"BlockedResidenceCountryError":{"type":"object","properties":{"_tag":{"type":"string","enum":["BlockedResidenceCountryError"]},"reason":{"type":"string"}},"required":["_tag","reason"],"additionalProperties":false},"MissingRequiredPersonFieldsError":{"type":"object","properties":{"_tag":{"type":"string","enum":["MissingRequiredPersonFieldsError"]},"reason":{"type":"string"}},"required":["_tag","reason"],"additionalProperties":false},"MissingFiscalIdentificationNumberError":{"type":"object","properties":{"_tag":{"type":"string","enum":["MissingFiscalIdentificationNumberError"]},"reason":{"type":"string"}},"required":["_tag","reason"],"additionalProperties":false},"MissingRelatedPersonsError":{"type":"object","properties":{"_tag":{"type":"string","enum":["MissingRelatedPersonsError"]},"reason":{"type":"string"}},"required":["_tag","reason"],"additionalProperties":false},"MissingFatcaCrsStatusError":{"type":"object","properties":{"_tag":{"type":"string","enum":["MissingFatcaCrsStatusError"]},"reason":{"type":"string"}},"required":["_tag","reason"],"additionalProperties":false}},"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic","description":"Use your API client_id as username and client_secret as password."}}},"security":[],"tags":[{"name":"Investors"},{"name":"Accounts"},{"name":"Deposit orders"},{"name":"Withdrawal orders"},{"name":"Swap orders"},{"name":"Portfolios"},{"name":"Bank accounts"},{"name":"Accounting positions"},{"name":"Yields"},{"name":"Users"},{"name":"Account transactions"},{"name":"Sandbox"},{"name":"Distributors"},{"name":"Distributor investor contracts"},{"name":"Investor tokens"},{"name":"Webhook Configurations"},{"name":"Webhook Events"},{"name":"Investor Documents"},{"name":"Wallets"}],"servers":[{"url":"https://distributor-api.spiko.io","description":"Production Server"},{"url":"https://distributor-api.preprod.spiko.io","description":"Pre-production Server"}]}