Introduction

Prérequis : L’adresse de base WMS de l’environnement et un token GUEST.
À conserver pour la suite : Un client HTTP configuré et la connaissance des conventions des demandes.
WMS2 est une plateforme SaaS orientée services proposant des API REST pour la gestion de fortune et la prévoyance. Elle prend en charge les investissements suisses du pilier 3a, du libre passage et du pilier 3b. Les produits et intégrations disponibles dépendent de la configuration du gestionnaire de fortune. Chaque portefeuille a sa propre institution teneuse de compte, ou banque dépositaire. LIENHARDT sert d’exemple dans ce guide.

Commencer ici : le parcours du client

Suivez un client dans les étapes ci-dessous. Choisissez C# ou Java et conservez cette langue. Chaque bloc est une recette de ce parcours, et non un programme autonome.

  1. Inscrire le client: suivez l’auto-inscription avec un token GUEST. L’inscription administrative est une alternative.
  2. Se connecter: obtenez la paire de tokens CLIENT et conservez userId. L’inscription peut déjà fournir cette paire ; reconnectez-vous si nécessaire.
  3. Calculer le risque et choisir une proposition: conservez le domaine d’activité, la catégorie, les identifiants des réponses et le proposalId choisi.
  4. Ouvrir le portefeuille: enregistrez le questionnaire, complétez les données, préparez le contrat PDF et envoyez l’ordre d’ouverture. Conservez orderId et portfolioId, puis suivez l’ordre.
  5. Consulter le portefeuille: récupérez le snapshot actuel, les valeurs, les comptes de liquidités et les documents à mesure qu’ils deviennent disponibles.
  6. Modifier la stratégie: choisissez une proposition admissible, préparez le contrat et envoyez un ordre de modification.

Utilisez Modifier les données du client lorsque les informations changent. Notifications est une intégration administrative séparée. Scénarios de simulation contient des scénarios de développement facultatifs.

Liste de préparation

  1. Obtenez l’adresse de base WMS et un token GUEST. Après authentification, utilisez un token CLIENT. Les exemples administratifs précisent le rôle requis.
  2. C# : utilisez .NET 9 et installez Newtonsoft.Json avec dotnet add package Newtonsoft.Json, puis copiez les imports et GuideHttp ci-dessous.
  3. Java : utilisez Java 21 ou ultérieur et ajoutez Gson (coordonnées Maven com.google.code.gson:gson) dans votre build. Copiez les imports, Settings, Api et MultiPartBodyPublisher ci-dessous. Définissez WMS_BASE_URL avec l’adresse de base sans /api/v1 et renseignez WMS_GUEST_TOKEN. Les tokens administratifs ne servent qu’aux procédures administratives.
  4. Initialisez une seule fois le client HTTP, copiez les DTO requis et recueillez les saisies indiquées. En C#, httpClient.BaseAddress est l’adresse de base terminée par une barre oblique ; les exemples ajoutent api/v1.

Lorsqu’un exemple utilise un type personnalisé, consultez les utilitaires et le catalogue des DTO de cette page. Les blocs disposent d’un bouton de copie.

Public cible

Ce guide s’adresse à des lecteurs ayant une expérience du développement web et logiciel. Il présente des procédures concrètes, de l’inscription à la gestion du portefeuille. Il ne traite pas du développement logiciel général, mais des API courantes et de leur utilisation par des exemples étape par étape.

API

Consultez la référence Swagger/OpenAPI de votre environnement WMS pour vérifier les schémas des demandes et réponses, les rôles et les produits disponibles. La plupart des réponses sont en JSON ; les documents sont téléchargés en binaire. Utilisez la référence correspondant à votre version d’API. Aucun déploiement n’est nécessaire pour lire ce guide.
Référence des API WMS dans Swagger

Prérequis

Les points de terminaison protégés exigent un token Bearer (JWT) valide. Un token absent, expiré ou invalide produit normalement HTTP 401 ; un token valide sans les droits nécessaires peut produire HTTP 403.
Pour obtenir un token GUEST, contactez-nous à info@descartes.swiss.
Une fois le token obtenu, définissez l’en-tête HTTP comme suit :
						
Authorization: Bearer <access-token>

Les rôles comprennent notamment GUEST, CLIENT, SELLER, ADMIN et SUPERADMIN. Les rôles autorisés dépendent du point de terminaison.
Commencez l’auto-inscription ou la connexion avec un token GUEST. Après réussite, conservez l’Access-Token, le Refresh-Token et ValidUntil. Utilisez le token CLIENT pour les demandes suivantes du client. La durée de validité est définie par le service.
Les tokens d’application des intégrations serveur à serveur peuvent avoir une autre durée. Utilisez le bon token pour l’environnement cible et stockez les tokens administratifs dans la configuration protégée côté serveur.

Client HTTP

Le sélecteur change uniquement la langue du guide. Les exemples conservent Accept-Language: de-DE et les codes de langue utilisés dans la version anglaise. Pour des réponses ou un profil client dans une autre langue, consultez les références de langues prises en charge et configurez séparément Accept-Language et la langue du client.

Une fois le token obtenu, initialisez le client HTTP :
									
// WMS_BASE_URL is the WMS service origin, without /api/v1.
var baseUrl = Environment.GetEnvironmentVariable("WMS_BASE_URL") ?? throw new InvalidOperationException("Set WMS_BASE_URL");
var guestToken = Environment.GetEnvironmentVariable("WMS_GUEST_TOKEN") ?? throw new InvalidOperationException("Set WMS_GUEST_TOKEN");
using var httpClient = new HttpClient
{
    BaseAddress = new Uri(baseUrl.TrimEnd('/') + "/")
};
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
httpClient.DefaultRequestHeaders.AcceptLanguage.Add(new StringWithQualityHeaderValue("de-DE"));
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", guestToken);

									
var httpClient = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .timeout(Duration.ofMinutes(1))
    .uri(Settings.wmsUri("genders/code/MALE"))
    .header("Accept", "application/json")
    .header("Accept-Language", "de-DE")
    .header("Authorization", "Bearer " + Settings.GUEST_TOKEN)
    .GET().build();
var response = httpClient.send(request, BodyHandlers.ofString());
Api.requireSuccess(response);

Utiliser les exemples

Les exemples montrent des demandes API et leurs dépendances. Ce sont des fragments à adapter à votre client, pas une application complète. Conservez les résultats de chaque étape pour la suivante. L’inscription administrative et l’auto-inscription sont des parcours distincts.
Les exemples C# ciblent .NET 9 et utilisent Newtonsoft.Json pour sérialiser explicitement les payloads ; GetFromJsonAsync utilise les extensions HTTP JSON de .NET. Ajoutez le package Newtonsoft.Json s’il n’est pas référencé. Les exemples Java utilisent Java 21 ou ultérieur et Gson. Ajoutez Gson à votre build. Associez les noms JSON avec SerializedName et utilisez des champs String pour les dates et horodatages de ces DTO Java ; parsez-les si votre client effectue des opérations sur les dates. Les DTO correspondent aux schémas de la référence API ; définissez les mêmes champs et noms JSON. Aucune application d’exemple à télécharger n’est requise.
Les valeurs clientEmail, clientPassword, phoneNumberPrefix et phoneNumberNumber proviennent de votre interface. consentTimestamp indique le moment du consentement (C# : DateTime ; Java : chaîne ISO 8601). selectedReasonIds contient les identifiants long choisis par le client ; initialisez une collection vide si aucun motif d’écart n’est nécessaire. adminToken et superAdminToken proviennent de la configuration serveur protégée pour ces parcours. contractPath est une chaîne en C# et un Path en Java. Chaque fragment a sa portée locale. Conservez les saisies, identifiants, références et résultats indiqués au début des chapitres. Les exemples sont séquentiels ; séparez le contexte de tokens de chaque appelant.

Transmettre les valeurs entre chapitres

Une même valeur métier peut porter des noms différents dans les deux langages. Conservez ces valeurs dans le contexte du client ; changer de chapitre ne les réinitialise pas. Réutiliser un nom local comme response remplace le résultat de cette demande, pas le contexte sauvegardé.

ValeurExemples C#Exemples Java
Identité du client et sessionuserId, accessToken, refreshToken, validUntiluserId, accessToken, refreshToken, validUntil
Références du produitbusinessLineVorsorge.Id, investmentCategory3A.IdbusinessLineId, investmentCategoryId
Réponses au questionnaire et risqueresponseIds, riskresponseIds, riskCategorizationObj
Proposition d’ouverture choisieproposalSelectedByUser.IdproposalSelectedByUser.Id (sélectionné avec proposalId)
Contrat d’ouverture completpdfContractAsByteArraycontractPath, chemin du PDF complet
Résultat de l’ouvertureorderId, portfolioIdorderId, portfolioId
Choix de stratégie et ordre de modificationselectedProposalId, modificationOrderIdselectedProposalId, modificationOrderId

Les identifiants sont retournés par les appels de référence ou les demandes précédentes. Les nombres dans les exemples JSON sont illustratifs ; ne les utilisez jamais comme identifiants réels. Dans les notifications administratives, adminUserId désigne le destinataire et est distinct du userId du client.

Imports C#


using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Net.Http.Json;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;

Imports Java


import java.io.*;
import java.lang.reflect.Type;
import java.net.URI;
import java.net.http.*;
import java.net.http.HttpResponse.BodyHandlers;
import java.nio.charset.StandardCharsets;
import java.nio.file.*;
import java.time.*;
import java.util.*;
import java.util.function.Supplier;
import com.google.gson.*;
import com.google.gson.annotations.SerializedName;
import com.google.gson.reflect.TypeToken;

Classes utilitaires communes

Le code complet de toutes les classes utilitaires personnalisées figure ci-dessous : GuideHttp (C#), Settings, Api et MultiPartBodyPublisher (Java). Copiez-les dans vos fichiers source et utilisez les imports de Utiliser les exemples. Settings lit WMS_BASE_URL, WMS_GUEST_TOKEN, WMS_ADMIN_TOKEN et WMS_SUPERADMIN_TOKEN dans les variables d’environnement. Fournissez les identifiants requis par votre parcours.
Les modifications du client et les ordres utilisent multipart/form-data. La partie JSON se nomme jsonPayload ; les contrats d’ordres utilisent userContracts et le service PDF facultatif utilise attachments . Ne définissez pas manuellement Content-Type pour MultipartFormDataContent en C# : il fournit la boundary. Ces utilitaires utilisent les bibliothèques HTTP de la plateforme et peuvent intégrer votre client. Ils mettent le PDF en mémoire et conviennent aux petits contrats de ce guide.

public static class GuideHttp
{
    public static MultipartFormDataContent CreateMultipartContent(
        object payload,
        byte[]? pdf = null,
        string fileField = "userContracts")
    {
        var content = new MultipartFormDataContent();
        content.Add(new StringContent(JsonConvert.SerializeObject(payload), Encoding.UTF8, "application/json"), "jsonPayload");
        if (pdf != null)
        {
            var file = new ByteArrayContent(pdf);
            file.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");
            content.Add(file, fileField, "Contract.pdf");
        }

        return content;
    }
}

// Put these helpers in their own source files. They are not WMS API contracts.
final class Settings {
    static final String WMS_BASE_URL = System.getenv("WMS_BASE_URL");
    static final String GUEST_TOKEN = System.getenv("WMS_GUEST_TOKEN");
    static final String ADMIN_TOKEN = System.getenv("WMS_ADMIN_TOKEN");
    static final String SUPERADMIN_TOKEN = System.getenv("WMS_SUPERADMIN_TOKEN");

    static URI wmsUri(String relativePath) {
        if (WMS_BASE_URL == null || WMS_BASE_URL.isBlank()) {
            throw new IllegalStateException("Set WMS_BASE_URL to the WMS service origin");
        }
        String origin = WMS_BASE_URL.replaceAll("/+$", "");
        return URI.create(origin + "/api/v1/" + relativePath);
    }
}

final class Api {
    static void requireSuccess(HttpResponse<?> response) {
        if (response.statusCode() < 200 || response.statusCode() >= 300) {
            throw new IllegalStateException("HTTP " + response.statusCode());
        }
    }
}

final class MultiPartBodyPublisher {
    private final String boundary = "WmsGuide-" + UUID.randomUUID();
    private final List<byte[]> parts = new ArrayList<>();

    String getBoundary() { return boundary; }

    MultiPartBodyPublisher addPart(String name, String value) {
        parts.add(("--" + boundary + "\r\nContent-Disposition: form-data; name=\""
            + name + "\"\r\nContent-Type: application/json; charset=UTF-8\r\n\r\n"
            + value + "\r\n").getBytes(StandardCharsets.UTF_8));
        return this;
    }

    MultiPartBodyPublisher addPart(String name, Supplier<InputStream> source,
    String filename, String contentType) throws IOException {
        parts.add(("--" + boundary + "\r\nContent-Disposition: form-data; name=\""
            + name + "\"; filename=\"" + filename + "\"\r\nContent-Type: "
            + contentType + "\r\n\r\n").getBytes(StandardCharsets.UTF_8));
        try (InputStream input = source.get()) { parts.add(input.readAllBytes()); }
        parts.add("\r\n".getBytes(StandardCharsets.UTF_8));
        return this;
    }

    HttpRequest.BodyPublisher build() {
        List<byte[]> body = new ArrayList<>(parts);
        body.add(("--" + boundary + "--\r\n").getBytes(StandardCharsets.UTF_8));
        return HttpRequest.BodyPublishers.ofByteArrays(body);
    }
}

DTO

Toutes les définitions DTO ne sont pas reprises directement dans chaque exemple afin de conserver leur lisibilité. Utilisez les schémas de l’API pour définir les DTO nécessaires. L’exemple montre la correspondance entre JSON et DTO.
Exemple de réponse JSON :
										
{
	"id": 0,
	"code": "string",
	"name": "string"
  }

										
Le DTO correspondant :
											
public class GenderOutputModel
{
    public long Id { get; set; }
    public string Code { get; set; }
    public string Name { get; set; }
}

										
											
import com.google.gson.annotations.SerializedName;

public class GenderOutputModel {
    @SerializedName("id")
    public long Id;

    @SerializedName("code")
    public String Code;

    @SerializedName("name")
    public String Name;
}

										

Catalogue du code source des DTO

Ces classes clientes exposent toutes les propriétés publiques des modèles utilisés, y compris les propriétés héritées. Les attributs de validation serveur et les classes de base vides sont omis. Les noms JSON sont explicites. Utilisez les imports précédents ; ajoutez System.Collections.Generic en C# et java.util.List / java.util.Map en Java. Java utilise des wrappers pouvant être null et des chaînes de date ISO. Les dates des paramètres restent en yyyyMMdd ; les dates JSON sans heure sont en yyyy-MM-dd. Ces définitions décrivent les données ; le point de terminaison détermine les champs requis pour écrire.

Ouvrez un modèle pour voir et copier sa définition C# ou Java. Définissez chaque classe une seule fois : utilisez la définition du catalogue plutôt qu’une seconde définition issue d’un exemple précédent.

AccessTokenOutputModel

C#

public class AccessTokenOutputModel
{
    [JsonProperty("accountNumber")]
    public string AccountNumber { get; set; }
    [JsonProperty("accessToken")]
    public string AccessToken { get; set; }
    [JsonProperty("refreshToken")]
    public string RefreshToken { get; set; }
    [JsonProperty("validUntil")]
    public DateTime ValidUntil { get; set; }
}

Java

public class AccessTokenOutputModel {
    @SerializedName("accountNumber")
    public String AccountNumber;
    @SerializedName("accessToken")
    public String AccessToken;
    @SerializedName("refreshToken")
    public String RefreshToken;
    @SerializedName("validUntil")
    public String ValidUntil;
}
AccountHoldingInstitutionOutputModel

C#

public class AccountHoldingInstitutionOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
    [JsonProperty("street")]
    public string Street { get; set; }
    [JsonProperty("streetNr")]
    public string StreetNr { get; set; }
    [JsonProperty("zipCode")]
    public string ZipCode { get; set; }
    [JsonProperty("city")]
    public string City { get; set; }
    [JsonProperty("countryId")]
    public long CountryId { get; set; }
    [JsonProperty("deleted")]
    public bool Deleted { get; set; }
    [JsonProperty("businessLineIds")]
    public IList<long> BusinessLineIds { get; set; }
}

Java

public class AccountHoldingInstitutionOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("code")
    public String Code;
    @SerializedName("name")
    public String Name;
    @SerializedName("street")
    public String Street;
    @SerializedName("streetNr")
    public String StreetNr;
    @SerializedName("zipCode")
    public String ZipCode;
    @SerializedName("city")
    public String City;
    @SerializedName("countryId")
    public Long CountryId;
    @SerializedName("deleted")
    public Boolean Deleted;
    @SerializedName("businessLineIds")
    public List<Long> BusinessLineIds;
}
AdminOutputModel

C#

public class AdminOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("systemUserTypeId")]
    public long? SystemUserTypeId { get; set; }
    [JsonProperty("accountNumber")]
    public string AccountNumber { get; set; }
    [JsonProperty("isLocked")]
    public bool IsLocked { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
    [JsonProperty("surname")]
    public string Surname { get; set; }
    [JsonProperty("genderId")]
    public long? GenderId { get; set; }
    [JsonProperty("languageId")]
    public long? LanguageId { get; set; }
    [JsonProperty("email")]
    public string Email { get; set; }
    [JsonProperty("phoneNumberPrefix")]
    public string PhoneNumberPrefix { get; set; }
    [JsonProperty("phoneNumberNumber")]
    public string PhoneNumberNumber { get; set; }
    [JsonProperty("isDeleted")]
    public bool IsDeleted { get; set; }
    [JsonProperty("created")]
    public DateTime Created { get; set; }
    [JsonProperty("modified")]
    public DateTime? Modified { get; set; }
    [JsonProperty("avatar")]
    public string Avatar { get; set; }
}

Java

public class AdminOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("systemUserTypeId")
    public Long SystemUserTypeId;
    @SerializedName("accountNumber")
    public String AccountNumber;
    @SerializedName("isLocked")
    public Boolean IsLocked;
    @SerializedName("name")
    public String Name;
    @SerializedName("surname")
    public String Surname;
    @SerializedName("genderId")
    public Long GenderId;
    @SerializedName("languageId")
    public Long LanguageId;
    @SerializedName("email")
    public String Email;
    @SerializedName("phoneNumberPrefix")
    public String PhoneNumberPrefix;
    @SerializedName("phoneNumberNumber")
    public String PhoneNumberNumber;
    @SerializedName("isDeleted")
    public Boolean IsDeleted;
    @SerializedName("created")
    public String Created;
    @SerializedName("modified")
    public String Modified;
    @SerializedName("avatar")
    public String Avatar;
}
AuthenticationSecondFactorOutputModel

C#

public class AuthenticationSecondFactorOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("accountNumber")]
    public string AccountNumber { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
    [JsonProperty("surname")]
    public string Surname { get; set; }
    [JsonProperty("role")]
    public string Role { get; set; }
    [JsonProperty("accessToken")]
    public string AccessToken { get; set; }
    [JsonProperty("validUntil")]
    public DateTime ValidUntil { get; set; }
    [JsonProperty("refreshToken")]
    public string RefreshToken { get; set; }
    [JsonProperty("remainingAttempts")]
    public int RemainingAttempts { get; set; }
}

Java

public class AuthenticationSecondFactorOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("accountNumber")
    public String AccountNumber;
    @SerializedName("name")
    public String Name;
    @SerializedName("surname")
    public String Surname;
    @SerializedName("role")
    public String Role;
    @SerializedName("accessToken")
    public String AccessToken;
    @SerializedName("validUntil")
    public String ValidUntil;
    @SerializedName("refreshToken")
    public String RefreshToken;
    @SerializedName("remainingAttempts")
    public Integer RemainingAttempts;
}
BankAccountTypeOutputModel

C#

public class BankAccountTypeOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("description")]
    public string Description { get; set; }
}

Java

public class BankAccountTypeOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("code")
    public String Code;
    @SerializedName("description")
    public String Description;
}
BookingCodeOutputModel

C#

public class BookingCodeOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("accountHoldingInstitutionId")]
    public long AccountHoldingInstitutionId { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
    [JsonProperty("description")]
    public string Description { get; set; }
    [JsonProperty("bookingCategoryId")]
    public long BookingCategoryId { get; set; }
}

Java

public class BookingCodeOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("accountHoldingInstitutionId")
    public Long AccountHoldingInstitutionId;
    @SerializedName("code")
    public String Code;
    @SerializedName("name")
    public String Name;
    @SerializedName("description")
    public String Description;
    @SerializedName("bookingCategoryId")
    public Long BookingCategoryId;
}
BusinessLineOutputModel

C#

public class BusinessLineOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
    [JsonProperty("alternativeName")]
    public string AlternativeName { get; set; }
    [JsonProperty("description")]
    public string Description { get; set; }
}

Java

public class BusinessLineOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("code")
    public String Code;
    @SerializedName("name")
    public String Name;
    @SerializedName("alternativeName")
    public String AlternativeName;
    @SerializedName("description")
    public String Description;
}
CashAccountMovementOutputModel

C#

public class CashAccountMovementOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("cashAccountId")]
    public long CashAccountId { get; set; }
    [JsonProperty("userPortfolioId")]
    public long UserPortfolioId { get; set; }
    [JsonProperty("bookingDate")]
    public DateTime BookingDate { get; set; }
    [JsonProperty("amount")]
    public decimal Amount { get; set; }
    [JsonProperty("saldo")]
    public decimal Saldo { get; set; }
    [JsonProperty("transactionId")]
    public string TransactionId { get; set; }
    [JsonProperty("bookingCodeId")]
    public long BookingCodeId { get; set; }
    [JsonProperty("bookingCode")]
    public string BookingCode { get; set; }
    [JsonProperty("bookingCodeType")]
    public string BookingCodeType { get; set; }
    [JsonProperty("bookingDescription")]
    public string BookingDescription { get; set; }
    [JsonProperty("isin")]
    public string Isin { get; set; }
    [JsonProperty("isFirstPayment")]
    public bool IsFirstPayment { get; set; }
    [JsonProperty("usetText")]
    public string UsetText { get; set; }
    [JsonProperty("remitter")]
    public string Remitter { get; set; }
    [JsonProperty("remitterAddress")]
    public string RemitterAddress { get; set; }
    [JsonProperty("remitterIban")]
    public string RemitterIban { get; set; }
    [JsonProperty("message")]
    public string Message { get; set; }
    [JsonProperty("reference")]
    public string Reference { get; set; }
    [JsonProperty("unitPrice")]
    public decimal? UnitPrice { get; set; }
    [JsonProperty("quantity")]
    public decimal? Quantity { get; set; }
}

Java

public class CashAccountMovementOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("cashAccountId")
    public Long CashAccountId;
    @SerializedName("userPortfolioId")
    public Long UserPortfolioId;
    @SerializedName("bookingDate")
    public String BookingDate;
    @SerializedName("amount")
    public java.math.BigDecimal Amount;
    @SerializedName("saldo")
    public java.math.BigDecimal Saldo;
    @SerializedName("transactionId")
    public String TransactionId;
    @SerializedName("bookingCodeId")
    public Long BookingCodeId;
    @SerializedName("bookingCode")
    public String BookingCode;
    @SerializedName("bookingCodeType")
    public String BookingCodeType;
    @SerializedName("bookingDescription")
    public String BookingDescription;
    @SerializedName("isin")
    public String Isin;
    @SerializedName("isFirstPayment")
    public Boolean IsFirstPayment;
    @SerializedName("usetText")
    public String UsetText;
    @SerializedName("remitter")
    public String Remitter;
    @SerializedName("remitterAddress")
    public String RemitterAddress;
    @SerializedName("remitterIban")
    public String RemitterIban;
    @SerializedName("message")
    public String Message;
    @SerializedName("reference")
    public String Reference;
    @SerializedName("unitPrice")
    public java.math.BigDecimal UnitPrice;
    @SerializedName("quantity")
    public java.math.BigDecimal Quantity;
}
CashAccountOutputModel

C#

public class CashAccountOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("number")]
    public string Number { get; set; }
    [JsonProperty("iban")]
    public string Iban { get; set; }
    [JsonProperty("balance")]
    public decimal Balance { get; set; }
    [JsonProperty("balanceDate")]
    public DateTime BalanceDate { get; set; }
    [JsonProperty("openingDate")]
    public DateTime OpeningDate { get; set; }
    [JsonProperty("accountTypeId")]
    public long AccountTypeId { get; set; }
    [JsonProperty("currencyId")]
    public long CurrencyId { get; set; }
    [JsonProperty("connectedPortfolioIds")]
    public IList<long> ConnectedPortfolioIds { get; set; }
}

Java

public class CashAccountOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("number")
    public String Number;
    @SerializedName("iban")
    public String Iban;
    @SerializedName("balance")
    public java.math.BigDecimal Balance;
    @SerializedName("balanceDate")
    public String BalanceDate;
    @SerializedName("openingDate")
    public String OpeningDate;
    @SerializedName("accountTypeId")
    public Long AccountTypeId;
    @SerializedName("currencyId")
    public Long CurrencyId;
    @SerializedName("connectedPortfolioIds")
    public List<Long> ConnectedPortfolioIds;
}
CivilStatusOutputModel

C#

public class CivilStatusOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
}

Java

public class CivilStatusOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("code")
    public String Code;
    @SerializedName("name")
    public String Name;
}
ClientAddressOutputModel

C#

public class ClientAddressOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("street")]
    public string Street { get; set; }
    [JsonProperty("streetNr")]
    public string StreetNr { get; set; }
    [JsonProperty("zip")]
    public string Zip { get; set; }
    [JsonProperty("city")]
    public string City { get; set; }
    [JsonProperty("countryId")]
    public long CountryId { get; set; }
    [JsonProperty("coName")]
    public string CoName { get; set; }
    [JsonProperty("coSurname")]
    public string CoSurname { get; set; }
}

Java

public class ClientAddressOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("street")
    public String Street;
    @SerializedName("streetNr")
    public String StreetNr;
    @SerializedName("zip")
    public String Zip;
    @SerializedName("city")
    public String City;
    @SerializedName("countryId")
    public Long CountryId;
    @SerializedName("coName")
    public String CoName;
    @SerializedName("coSurname")
    public String CoSurname;
}
ClientAttachmentOutputModel

C#

public class ClientAttachmentOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("reference")]
    public string Reference { get; set; }
    [JsonProperty("fileName")]
    public string FileName { get; set; }
    [JsonProperty("size")]
    public long Size { get; set; }
    [JsonProperty("contentType")]
    public string ContentType { get; set; }
}

Java

public class ClientAttachmentOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("reference")
    public String Reference;
    @SerializedName("fileName")
    public String FileName;
    @SerializedName("size")
    public Long Size;
    @SerializedName("contentType")
    public String ContentType;
}
ClientExternalIdOutputModel

C#

public class ClientExternalIdOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("userId")]
    public long UserId { get; set; }
    [JsonProperty("externalId")]
    public string ExternalId { get; set; }
    [JsonProperty("investmentCategoryId")]
    public long InvestmentCategoryId { get; set; }
    [JsonProperty("accountHoldingInstitutionId")]
    public long AccountHoldingInstitutionId { get; set; }
    [JsonProperty("deleted")]
    public bool Deleted { get; set; }
}

Java

public class ClientExternalIdOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("userId")
    public Long UserId;
    @SerializedName("externalId")
    public String ExternalId;
    @SerializedName("investmentCategoryId")
    public Long InvestmentCategoryId;
    @SerializedName("accountHoldingInstitutionId")
    public Long AccountHoldingInstitutionId;
    @SerializedName("deleted")
    public Boolean Deleted;
}
ClientLegalAcceptanceOutputModel

C#

public class ClientLegalAcceptanceOutputModel
{
    [JsonProperty("userId")]
    public long UserId { get; set; }
    [JsonProperty("legalAcceptanceId")]
    public long LegalAcceptanceId { get; set; }
    [JsonProperty("acceptedDate")]
    public DateTime AcceptedDate { get; set; }
}

Java

public class ClientLegalAcceptanceOutputModel {
    @SerializedName("userId")
    public Long UserId;
    @SerializedName("legalAcceptanceId")
    public Long LegalAcceptanceId;
    @SerializedName("acceptedDate")
    public String AcceptedDate;
}
ClientNationalityOutputModel

C#

public class ClientNationalityOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
}

Java

public class ClientNationalityOutputModel {
    @SerializedName("id")
    public Long Id;
}
ClientNoteOutputModel

C#

public class ClientNoteOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("accountId")]
    public long AccountId { get; set; }
    [JsonProperty("subject")]
    public string Subject { get; set; }
    [JsonProperty("text")]
    public string Text { get; set; }
    [JsonProperty("created")]
    public DateTime Created { get; set; }
    [JsonProperty("createdByUser")]
    public CreatedByUserOutputModel CreatedByUser { get; set; }
    [JsonProperty("attachmentReferences")]
    public ICollection<ClientAttachmentOutputModel> AttachmentReferences { get; set; }
}

Java

public class ClientNoteOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("accountId")
    public Long AccountId;
    @SerializedName("subject")
    public String Subject;
    @SerializedName("text")
    public String Text;
    @SerializedName("created")
    public String Created;
    @SerializedName("createdByUser")
    public CreatedByUserOutputModel CreatedByUser;
    @SerializedName("attachmentReferences")
    public List<ClientAttachmentOutputModel> AttachmentReferences;
}
ClientOutputModel

C#

public class ClientOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("systemUserTypeId")]
    public long? SystemUserTypeId { get; set; }
    [JsonProperty("isHappyPath")]
    public bool IsHappyPath { get; set; }
    [JsonProperty("accountNumber")]
    public string AccountNumber { get; set; }
    [JsonProperty("titleId")]
    public long? TitleId { get; set; }
    [JsonProperty("nickName")]
    public string NickName { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
    [JsonProperty("nickSurname")]
    public string NickSurname { get; set; }
    [JsonProperty("surname")]
    public string Surname { get; set; }
    [JsonProperty("genderId")]
    public long GenderId { get; set; }
    [JsonProperty("roleId")]
    public long RoleId { get; set; }
    [JsonProperty("languageId")]
    public long LanguageId { get; set; }
    [JsonProperty("taxLiabilityId")]
    public long? TaxLiabilityId { get; set; }
    [JsonProperty("civilStatusId")]
    public long? CivilStatusId { get; set; }
    [JsonProperty("civilStatusDate")]
    public DateTime? CivilStatusDate { get; set; }
    [JsonProperty("workSituationId")]
    public long? WorkSituationId { get; set; }
    [JsonProperty("pensionSituationId")]
    public long? PensionSituationId { get; set; }
    [JsonProperty("birthCountryId")]
    public long? BirthCountryId { get; set; }
    [JsonProperty("email")]
    public string Email { get; set; }
    [JsonProperty("phoneNumberPrefix")]
    public string PhoneNumberPrefix { get; set; }
    [JsonProperty("phoneNumberNumber")]
    public string PhoneNumberNumber { get; set; }
    [JsonProperty("birthDate")]
    public DateTime? BirthDate { get; set; }
    [JsonProperty("isDeleted")]
    public bool IsDeleted { get; set; }
    [JsonProperty("deliverTaxStatement")]
    public bool DeliverTaxStatement { get; set; }
    [JsonProperty("created")]
    public DateTime Created { get; set; }
    [JsonProperty("modified")]
    public DateTime? Modified { get; set; }
    [JsonProperty("isLocked")]
    public bool IsLocked { get; set; }
    [JsonProperty("lastLoginOn")]
    public DateTime? LastLoginOn { get; set; }
    [JsonProperty("avatar")]
    public string Avatar { get; set; }
    [JsonProperty("promoCode")]
    public string PromoCode { get; set; }
    [JsonProperty("createdByUser")]
    public CreatedByUserOutputModel CreatedByUser { get; set; }
    [JsonProperty("onBehalfOfId")]
    public long? OnBehalfOfId { get; set; }
    [JsonProperty("uSPerson")]
    public bool? USPerson { get; set; }
    [JsonProperty("usLawBeneficialOwner")]
    public bool? UsLawBeneficialOwner { get; set; }
    [JsonProperty("role")]
    public RoleOutputModel Role { get; set; }
    [JsonProperty("address")]
    public ClientAddressOutputModel Address { get; set; }
    [JsonProperty("externalIds")]
    public IList<ClientExternalIdOutputModel> ExternalIds { get; set; }
    [JsonProperty("nationalities")]
    public IList<ClientNationalityOutputModel> Nationalities { get; set; }
    [JsonProperty("notes")]
    public IList<ClientNoteOutputModel> Notes { get; set; }
    [JsonProperty("politicalExposures")]
    public IList<ClientPoliticalExposureOutputModel> PoliticalExposures { get; set; }
    [JsonProperty("refundBankAccount")]
    public ClientRefundBankAccountOutputModel RefundBankAccount { get; set; }
    [JsonProperty("legalAcceptance")]
    public ClientLegalAcceptanceOutputModel LegalAcceptance { get; set; }
}

Java

public class ClientOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("systemUserTypeId")
    public Long SystemUserTypeId;
    @SerializedName("isHappyPath")
    public Boolean IsHappyPath;
    @SerializedName("accountNumber")
    public String AccountNumber;
    @SerializedName("titleId")
    public Long TitleId;
    @SerializedName("nickName")
    public String NickName;
    @SerializedName("name")
    public String Name;
    @SerializedName("nickSurname")
    public String NickSurname;
    @SerializedName("surname")
    public String Surname;
    @SerializedName("genderId")
    public Long GenderId;
    @SerializedName("roleId")
    public Long RoleId;
    @SerializedName("languageId")
    public Long LanguageId;
    @SerializedName("taxLiabilityId")
    public Long TaxLiabilityId;
    @SerializedName("civilStatusId")
    public Long CivilStatusId;
    @SerializedName("civilStatusDate")
    public String CivilStatusDate;
    @SerializedName("workSituationId")
    public Long WorkSituationId;
    @SerializedName("pensionSituationId")
    public Long PensionSituationId;
    @SerializedName("birthCountryId")
    public Long BirthCountryId;
    @SerializedName("email")
    public String Email;
    @SerializedName("phoneNumberPrefix")
    public String PhoneNumberPrefix;
    @SerializedName("phoneNumberNumber")
    public String PhoneNumberNumber;
    @SerializedName("birthDate")
    public String BirthDate;
    @SerializedName("isDeleted")
    public Boolean IsDeleted;
    @SerializedName("deliverTaxStatement")
    public Boolean DeliverTaxStatement;
    @SerializedName("created")
    public String Created;
    @SerializedName("modified")
    public String Modified;
    @SerializedName("isLocked")
    public Boolean IsLocked;
    @SerializedName("lastLoginOn")
    public String LastLoginOn;
    @SerializedName("avatar")
    public String Avatar;
    @SerializedName("promoCode")
    public String PromoCode;
    @SerializedName("createdByUser")
    public CreatedByUserOutputModel CreatedByUser;
    @SerializedName("onBehalfOfId")
    public Long OnBehalfOfId;
    @SerializedName("uSPerson")
    public Boolean USPerson;
    @SerializedName("usLawBeneficialOwner")
    public Boolean UsLawBeneficialOwner;
    @SerializedName("role")
    public RoleOutputModel Role;
    @SerializedName("address")
    public ClientAddressOutputModel Address;
    @SerializedName("externalIds")
    public List<ClientExternalIdOutputModel> ExternalIds;
    @SerializedName("nationalities")
    public List<ClientNationalityOutputModel> Nationalities;
    @SerializedName("notes")
    public List<ClientNoteOutputModel> Notes;
    @SerializedName("politicalExposures")
    public List<ClientPoliticalExposureOutputModel> PoliticalExposures;
    @SerializedName("refundBankAccount")
    public ClientRefundBankAccountOutputModel RefundBankAccount;
    @SerializedName("legalAcceptance")
    public ClientLegalAcceptanceOutputModel LegalAcceptance;
}
ClientPoliticalExposureOutputModel

C#

public class ClientPoliticalExposureOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("userId")]
    public long UserId { get; set; }
    [JsonProperty("politicalExposureId")]
    public long PoliticalExposureId { get; set; }
    [JsonProperty("selfDescription")]
    public string SelfDescription { get; set; }
}

Java

public class ClientPoliticalExposureOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("userId")
    public Long UserId;
    @SerializedName("politicalExposureId")
    public Long PoliticalExposureId;
    @SerializedName("selfDescription")
    public String SelfDescription;
}
ClientRefundBankAccountOutputModel

C#

public class ClientRefundBankAccountOutputModel
{
    [JsonProperty("bankName")]
    public string BankName { get; set; }
    [JsonProperty("iban")]
    public string Iban { get; set; }
    [JsonProperty("clientName")]
    public string ClientName { get; set; }
    [JsonProperty("clientSurname")]
    public string ClientSurname { get; set; }
    [JsonProperty("clientZipCode")]
    public string ClientZipCode { get; set; }
    [JsonProperty("clientCity")]
    public string ClientCity { get; set; }
    [JsonProperty("clientCountryId")]
    public long? ClientCountryId { get; set; }
}

Java

public class ClientRefundBankAccountOutputModel {
    @SerializedName("bankName")
    public String BankName;
    @SerializedName("iban")
    public String Iban;
    @SerializedName("clientName")
    public String ClientName;
    @SerializedName("clientSurname")
    public String ClientSurname;
    @SerializedName("clientZipCode")
    public String ClientZipCode;
    @SerializedName("clientCity")
    public String ClientCity;
    @SerializedName("clientCountryId")
    public Long ClientCountryId;
}
CountryOutputModel

C#

public class CountryOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
    [JsonProperty("color")]
    public string Color { get; set; }
    [JsonProperty("order")]
    public int Order { get; set; }
    [JsonProperty("phonePrefix")]
    public string PhonePrefix { get; set; }
    [JsonProperty("clientRegistrationSelecteble")]
    public bool ClientRegistrationSelecteble { get; set; }
}

Java

public class CountryOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("code")
    public String Code;
    @SerializedName("name")
    public String Name;
    @SerializedName("color")
    public String Color;
    @SerializedName("order")
    public Integer Order;
    @SerializedName("phonePrefix")
    public String PhonePrefix;
    @SerializedName("clientRegistrationSelecteble")
    public Boolean ClientRegistrationSelecteble;
}
CreatedByUserOutputModel

C#

public class CreatedByUserOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
    [JsonProperty("surname")]
    public string Surname { get; set; }
}

Java

public class CreatedByUserOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("name")
    public String Name;
    @SerializedName("surname")
    public String Surname;
}
GenderOutputModel

C#

public class GenderOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
}

Java

public class GenderOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("code")
    public String Code;
    @SerializedName("name")
    public String Name;
}
InvestmentCategoryOutputModel

C#

public class InvestmentCategoryOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("availableOnlyInCountries")]
    public IList<long> AvailableOnlyInCountries { get; set; }
    [JsonProperty("businessLineId")]
    public long BusinessLineId { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
    [JsonProperty("alternativeName")]
    public string AlternativeName { get; set; }
    [JsonProperty("description")]
    public string Description { get; set; }
}

Java

public class InvestmentCategoryOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("availableOnlyInCountries")
    public List<Long> AvailableOnlyInCountries;
    @SerializedName("businessLineId")
    public Long BusinessLineId;
    @SerializedName("code")
    public String Code;
    @SerializedName("name")
    public String Name;
    @SerializedName("alternativeName")
    public String AlternativeName;
    @SerializedName("description")
    public String Description;
}
LanguageOutputModel

C#

public class LanguageOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
}

Java

public class LanguageOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("code")
    public String Code;
    @SerializedName("name")
    public String Name;
}
LegalAcceptanceDescriptionOutputModel

C#

public class LegalAcceptanceDescriptionOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("languageId")]
    public long LanguageId { get; set; }
    [JsonProperty("title")]
    public string Title { get; set; }
    [JsonProperty("description")]
    public string Description { get; set; }
}

Java

public class LegalAcceptanceDescriptionOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("languageId")
    public Long LanguageId;
    @SerializedName("title")
    public String Title;
    @SerializedName("description")
    public String Description;
}
LegalAcceptanceDocumentOutputModel

C#

public class LegalAcceptanceDocumentOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("languageId")]
    public long LanguageId { get; set; }
    [JsonProperty("reference")]
    public string Reference { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("title")]
    public string Title { get; set; }
    [JsonProperty("description")]
    public string Description { get; set; }
    [JsonProperty("contentType")]
    public string ContentType { get; set; }
    [JsonProperty("fileName")]
    public string FileName { get; set; }
    [JsonProperty("fileSize")]
    public long FileSize { get; set; }
}

Java

public class LegalAcceptanceDocumentOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("languageId")
    public Long LanguageId;
    @SerializedName("reference")
    public String Reference;
    @SerializedName("code")
    public String Code;
    @SerializedName("title")
    public String Title;
    @SerializedName("description")
    public String Description;
    @SerializedName("contentType")
    public String ContentType;
    @SerializedName("fileName")
    public String FileName;
    @SerializedName("fileSize")
    public Long FileSize;
}
LegalAcceptanceOutputModel

C#

public class LegalAcceptanceOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("status")]
    public string Status { get; set; }
    [JsonProperty("modified")]
    public DateTime Modified { get; set; }
    [JsonProperty("systemNote")]
    public string SystemNote { get; set; }
    [JsonProperty("isUpdatable")]
    public bool IsUpdatable { get; set; }
    [JsonProperty("descriptions")]
    public IList<LegalAcceptanceDescriptionOutputModel> Descriptions { get; set; }
    [JsonProperty("documents")]
    public IList<LegalAcceptanceDocumentOutputModel> Documents { get; set; }
}

Java

public class LegalAcceptanceOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("code")
    public String Code;
    @SerializedName("status")
    public String Status;
    @SerializedName("modified")
    public String Modified;
    @SerializedName("systemNote")
    public String SystemNote;
    @SerializedName("isUpdatable")
    public Boolean IsUpdatable;
    @SerializedName("descriptions")
    public List<LegalAcceptanceDescriptionOutputModel> Descriptions;
    @SerializedName("documents")
    public List<LegalAcceptanceDocumentOutputModel> Documents;
}
NationalityOutputModel

C#

public class NationalityOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("order")]
    public int Order { get; set; }
    [JsonProperty("isDeleted")]
    public bool IsDeleted { get; set; }
}

Java

public class NationalityOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("name")
    public String Name;
    @SerializedName("code")
    public String Code;
    @SerializedName("order")
    public Integer Order;
    @SerializedName("isDeleted")
    public Boolean IsDeleted;
}
PensionSituationOutputModel

C#

public class PensionSituationOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("description")]
    public string Description { get; set; }
}

Java

public class PensionSituationOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("code")
    public String Code;
    @SerializedName("description")
    public String Description;
}
PortfolioDocumentOrderOutputModel

C#

public class PortfolioDocumentOrderOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("externalId")]
    public string ExternalId { get; set; }
    [JsonProperty("statusId")]
    public long StatusId { get; set; }
    [JsonProperty("resendingPossible")]
    public bool ResendingPossible { get; set; }
    [JsonProperty("orderIdResending")]
    public long? OrderIdResending { get; set; }
    [JsonProperty("reasonForRejection")]
    public string ReasonForRejection { get; set; }
    [JsonProperty("submissionErrorMessage")]
    public string SubmissionErrorMessage { get; set; }
    [JsonProperty("created")]
    public DateTime Created { get; set; }
    [JsonProperty("createdByUserName")]
    public string CreatedByUserName { get; set; }
    [JsonProperty("createdByUserSurname")]
    public string CreatedByUserSurname { get; set; }
}

Java

public class PortfolioDocumentOrderOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("externalId")
    public String ExternalId;
    @SerializedName("statusId")
    public Long StatusId;
    @SerializedName("resendingPossible")
    public Boolean ResendingPossible;
    @SerializedName("orderIdResending")
    public Long OrderIdResending;
    @SerializedName("reasonForRejection")
    public String ReasonForRejection;
    @SerializedName("submissionErrorMessage")
    public String SubmissionErrorMessage;
    @SerializedName("created")
    public String Created;
    @SerializedName("createdByUserName")
    public String CreatedByUserName;
    @SerializedName("createdByUserSurname")
    public String CreatedByUserSurname;
}
PortfolioDocumentOutputModel

C#

public class PortfolioDocumentOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("portfolioDocumentTypeId")]
    public long PortfolioDocumentTypeId { get; set; }
    [JsonProperty("reference")]
    public string Reference { get; set; }
    [JsonProperty("fileName")]
    public string FileName { get; set; }
    [JsonProperty("size")]
    public long Size { get; set; }
    [JsonProperty("contentType")]
    public string ContentType { get; set; }
    [JsonProperty("note")]
    public string Note { get; set; }
    [JsonProperty("created")]
    public DateTime Created { get; set; }
    [JsonProperty("createdByUserName")]
    public string CreatedByUserName { get; set; }
    [JsonProperty("createdByUserSurname")]
    public string CreatedByUserSurname { get; set; }
    [JsonProperty("orders")]
    public IList<PortfolioDocumentOrderOutputModel> Orders { get; set; }
}

Java

public class PortfolioDocumentOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("portfolioDocumentTypeId")
    public Long PortfolioDocumentTypeId;
    @SerializedName("reference")
    public String Reference;
    @SerializedName("fileName")
    public String FileName;
    @SerializedName("size")
    public Long Size;
    @SerializedName("contentType")
    public String ContentType;
    @SerializedName("note")
    public String Note;
    @SerializedName("created")
    public String Created;
    @SerializedName("createdByUserName")
    public String CreatedByUserName;
    @SerializedName("createdByUserSurname")
    public String CreatedByUserSurname;
    @SerializedName("orders")
    public List<PortfolioDocumentOrderOutputModel> Orders;
}
PortfolioExtendedPropertyOutputModel

C#

public class PortfolioExtendedPropertyOutputModel
{
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
    [JsonProperty("description")]
    public string Description { get; set; }
    [JsonProperty("value")]
    public string Value { get; set; }
}

Java

public class PortfolioExtendedPropertyOutputModel {
    @SerializedName("code")
    public String Code;
    @SerializedName("name")
    public String Name;
    @SerializedName("description")
    public String Description;
    @SerializedName("value")
    public String Value;
}
PortfolioFundOriginOutputModel

C#

public class PortfolioFundOriginOutputModel
{
    [JsonProperty("fundOriginId")]
    public long FundOriginId { get; set; }
    [JsonProperty("selfDescription")]
    public string SelfDescription { get; set; }
}

Java

public class PortfolioFundOriginOutputModel {
    @SerializedName("fundOriginId")
    public Long FundOriginId;
    @SerializedName("selfDescription")
    public String SelfDescription;
}
PortfolioModelOutputModel

C#

public class PortfolioModelOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
    [JsonProperty("description")]
    public string Description { get; set; }
}

Java

public class PortfolioModelOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("code")
    public String Code;
    @SerializedName("name")
    public String Name;
    @SerializedName("description")
    public String Description;
}
PortfolioOrderDetailOutputModel

C#

public class PortfolioOrderDetailOutputModel
{
    [JsonProperty("securityId")]
    public long SecurityId { get; set; }
    [JsonProperty("currencyId")]
    public long CurrencyId { get; set; }
    [JsonProperty("allocation")]
    public decimal Allocation { get; set; }
    [JsonProperty("quantity")]
    public decimal? Quantity { get; set; }
    [JsonProperty("purchasePrice")]
    public decimal? PurchasePrice { get; set; }
    [JsonProperty("currencyExchange")]
    public decimal? CurrencyExchange { get; set; }
    [JsonProperty("averagePrice")]
    public decimal? AveragePrice { get; set; }
    [JsonProperty("closingDate")]
    public DateTime? ClosingDate { get; set; }
}

Java

public class PortfolioOrderDetailOutputModel {
    @SerializedName("securityId")
    public Long SecurityId;
    @SerializedName("currencyId")
    public Long CurrencyId;
    @SerializedName("allocation")
    public java.math.BigDecimal Allocation;
    @SerializedName("quantity")
    public java.math.BigDecimal Quantity;
    @SerializedName("purchasePrice")
    public java.math.BigDecimal PurchasePrice;
    @SerializedName("currencyExchange")
    public java.math.BigDecimal CurrencyExchange;
    @SerializedName("averagePrice")
    public java.math.BigDecimal AveragePrice;
    @SerializedName("closingDate")
    public String ClosingDate;
}
PortfolioOrderDocumentOrderOutputModel

C#

public class PortfolioOrderDocumentOrderOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("externalId")]
    public string ExternalId { get; set; }
    [JsonProperty("created")]
    public DateTime Created { get; set; }
    [JsonProperty("deliveringDate")]
    public DateTime? DeliveringDate { get; set; }
    [JsonProperty("closingDate")]
    public DateTime? ClosingDate { get; set; }
    [JsonProperty("orderStatusId")]
    public long OrderStatusId { get; set; }
    [JsonProperty("orderStatusDate")]
    public DateTime? OrderStatusDate { get; set; }
    [JsonProperty("submissionErrorMessage")]
    public string SubmissionErrorMessage { get; set; }
    [JsonProperty("reasonForRejectionCode")]
    public string ReasonForRejectionCode { get; set; }
    [JsonProperty("reasonForRejection")]
    public string ReasonForRejection { get; set; }
    [JsonProperty("correlationId")]
    public string CorrelationId { get; set; }
    [JsonProperty("resendingPossible")]
    public bool ResendingPossible { get; set; }
    [JsonProperty("orderIdResending")]
    public long? OrderIdResending { get; set; }
    [JsonProperty("orderRawData")]
    public string OrderRawData { get; set; }
    [JsonProperty("createdByUser")]
    public CreatedByUserOutputModel CreatedByUser { get; set; }
}

Java

public class PortfolioOrderDocumentOrderOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("externalId")
    public String ExternalId;
    @SerializedName("created")
    public String Created;
    @SerializedName("deliveringDate")
    public String DeliveringDate;
    @SerializedName("closingDate")
    public String ClosingDate;
    @SerializedName("orderStatusId")
    public Long OrderStatusId;
    @SerializedName("orderStatusDate")
    public String OrderStatusDate;
    @SerializedName("submissionErrorMessage")
    public String SubmissionErrorMessage;
    @SerializedName("reasonForRejectionCode")
    public String ReasonForRejectionCode;
    @SerializedName("reasonForRejection")
    public String ReasonForRejection;
    @SerializedName("correlationId")
    public String CorrelationId;
    @SerializedName("resendingPossible")
    public Boolean ResendingPossible;
    @SerializedName("orderIdResending")
    public Long OrderIdResending;
    @SerializedName("orderRawData")
    public String OrderRawData;
    @SerializedName("createdByUser")
    public CreatedByUserOutputModel CreatedByUser;
}
PortfolioOrderDocumentOutputModel

C#

public class PortfolioOrderDocumentOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("orderId")]
    public long OrderId { get; set; }
    [JsonProperty("documentType")]
    public string DocumentType { get; set; }
    [JsonProperty("contentType")]
    public string ContentType { get; set; }
    [JsonProperty("reference")]
    public string Reference { get; set; }
    [JsonProperty("size")]
    public long Size { get; set; }
    [JsonProperty("portfolioOrderDocumentTypeCode")]
    public string PortfolioOrderDocumentTypeCode { get; set; }
    [JsonProperty("orders")]
    public IList<PortfolioOrderDocumentOrderOutputModel> Orders { get; set; }
}

Java

public class PortfolioOrderDocumentOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("orderId")
    public Long OrderId;
    @SerializedName("documentType")
    public String DocumentType;
    @SerializedName("contentType")
    public String ContentType;
    @SerializedName("reference")
    public String Reference;
    @SerializedName("size")
    public Long Size;
    @SerializedName("portfolioOrderDocumentTypeCode")
    public String PortfolioOrderDocumentTypeCode;
    @SerializedName("orders")
    public List<PortfolioOrderDocumentOrderOutputModel> Orders;
}
PortfolioOrderExtendedPropertyOutputModel

C#

public class PortfolioOrderExtendedPropertyOutputModel
{
    [JsonProperty("userPortfolioOrderId")]
    public long UserPortfolioOrderId { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
    [JsonProperty("description")]
    public string Description { get; set; }
    [JsonProperty("value")]
    public string Value { get; set; }
}

Java

public class PortfolioOrderExtendedPropertyOutputModel {
    @SerializedName("userPortfolioOrderId")
    public Long UserPortfolioOrderId;
    @SerializedName("code")
    public String Code;
    @SerializedName("name")
    public String Name;
    @SerializedName("description")
    public String Description;
    @SerializedName("value")
    public String Value;
}
PortfolioOrderOutputModel

C#

public class PortfolioOrderOutputModel
{
    [JsonProperty("portfolioId")]
    public long PortfolioId { get; set; }
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("externalId")]
    public string ExternalId { get; set; }
    [JsonProperty("proposalId")]
    public long ProposalId { get; set; }
    [JsonProperty("created")]
    public DateTime Created { get; set; }
    [JsonProperty("deliveringDate")]
    public DateTime? DeliveringDate { get; set; }
    [JsonProperty("closingDate")]
    public DateTime? ClosingDate { get; set; }
    [JsonProperty("orderStatusId")]
    public long OrderStatusId { get; set; }
    [JsonProperty("orderStatusDate")]
    public DateTime? OrderStatusDate { get; set; }
    [JsonProperty("orderTypeId")]
    public long OrderTypeId { get; set; }
    [JsonProperty("orderIdToFixOrRevoke")]
    public long? OrderIdToFixOrRevoke { get; set; }
    [JsonProperty("submissionErrorMessage")]
    public string SubmissionErrorMessage { get; set; }
    [JsonProperty("reasonForRejectionCode")]
    public string ReasonForRejectionCode { get; set; }
    [JsonProperty("reasonForRejection")]
    public string ReasonForRejection { get; set; }
    [JsonProperty("correlationId")]
    public string CorrelationId { get; set; }
    [JsonProperty("resendingPossible")]
    public bool ResendingPossible { get; set; }
    [JsonProperty("userPortfolioOrderIdResending")]
    public long? UserPortfolioOrderIdResending { get; set; }
    [JsonProperty("orderRawData")]
    public string OrderRawData { get; set; }
    [JsonProperty("scheduledRecurringOrderId")]
    public long? ScheduledRecurringOrderId { get; set; }
    [JsonProperty("createdByUser")]
    public CreatedByUserOutputModel CreatedByUser { get; set; }
    [JsonProperty("portfolioOrderReasonToChangeProposal")]
    public PortfolioOrderReasonToChangeProposalOutModel PortfolioOrderReasonToChangeProposal { get; set; }
    [JsonProperty("extendedProperties")]
    public ICollection<PortfolioOrderExtendedPropertyOutputModel> ExtendedProperties { get; set; }
    [JsonProperty("documents")]
    public ICollection<PortfolioOrderDocumentOutputModel> Documents { get; set; }
    [JsonProperty("details")]
    public ICollection<PortfolioOrderDetailOutputModel> Details { get; set; }
}

Java

public class PortfolioOrderOutputModel {
    @SerializedName("portfolioId")
    public Long PortfolioId;
    @SerializedName("id")
    public Long Id;
    @SerializedName("externalId")
    public String ExternalId;
    @SerializedName("proposalId")
    public Long ProposalId;
    @SerializedName("created")
    public String Created;
    @SerializedName("deliveringDate")
    public String DeliveringDate;
    @SerializedName("closingDate")
    public String ClosingDate;
    @SerializedName("orderStatusId")
    public Long OrderStatusId;
    @SerializedName("orderStatusDate")
    public String OrderStatusDate;
    @SerializedName("orderTypeId")
    public Long OrderTypeId;
    @SerializedName("orderIdToFixOrRevoke")
    public Long OrderIdToFixOrRevoke;
    @SerializedName("submissionErrorMessage")
    public String SubmissionErrorMessage;
    @SerializedName("reasonForRejectionCode")
    public String ReasonForRejectionCode;
    @SerializedName("reasonForRejection")
    public String ReasonForRejection;
    @SerializedName("correlationId")
    public String CorrelationId;
    @SerializedName("resendingPossible")
    public Boolean ResendingPossible;
    @SerializedName("userPortfolioOrderIdResending")
    public Long UserPortfolioOrderIdResending;
    @SerializedName("orderRawData")
    public String OrderRawData;
    @SerializedName("scheduledRecurringOrderId")
    public Long ScheduledRecurringOrderId;
    @SerializedName("createdByUser")
    public CreatedByUserOutputModel CreatedByUser;
    @SerializedName("portfolioOrderReasonToChangeProposal")
    public PortfolioOrderReasonToChangeProposalOutModel PortfolioOrderReasonToChangeProposal;
    @SerializedName("extendedProperties")
    public List<PortfolioOrderExtendedPropertyOutputModel> ExtendedProperties;
    @SerializedName("documents")
    public List<PortfolioOrderDocumentOutputModel> Documents;
    @SerializedName("details")
    public List<PortfolioOrderDetailOutputModel> Details;
}
PortfolioOrderReasonToChangeProposalOutModel

C#

public class PortfolioOrderReasonToChangeProposalOutModel
{
    [JsonProperty("reasonToChangeProposalId")]
    public long ReasonToChangeProposalId { get; set; }
    [JsonProperty("responseIds")]
    public IList<long> ResponseIds { get; set; }
}

Java

public class PortfolioOrderReasonToChangeProposalOutModel {
    @SerializedName("reasonToChangeProposalId")
    public Long ReasonToChangeProposalId;
    @SerializedName("responseIds")
    public List<Long> ResponseIds;
}
PortfolioOutputModel

C#

public class PortfolioOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("externalId")]
    public string ExternalId { get; set; }
    [JsonProperty("accountHoldingInstitutionId")]
    public long AccountHoldingInstitutionId { get; set; }
    [JsonProperty("investmentCategoryId")]
    public long InvestmentCategoryId { get; set; }
    [JsonProperty("userId")]
    public long UserId { get; set; }
    [JsonProperty("proposalId")]
    public long ProposalId { get; set; }
    [JsonProperty("depositNumber")]
    public string DepositNumber { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
    [JsonProperty("systemName")]
    public string SystemName { get; set; }
    [JsonProperty("currencyId")]
    public long CurrencyId { get; set; }
    [JsonProperty("color")]
    public string Color { get; set; }
    [JsonProperty("isTrading")]
    public bool IsTrading { get; set; }
    [JsonProperty("hasPendingOrder")]
    public bool HasPendingOrder { get; set; }
    [JsonProperty("lastOrderStatusId")]
    public long LastOrderStatusId { get; set; }
    [JsonProperty("statusId")]
    public long StatusId { get; set; }
    [JsonProperty("creationDate")]
    public DateTime CreationDate { get; set; }
    [JsonProperty("acceptanceDate")]
    public DateTime? AcceptanceDate { get; set; }
    [JsonProperty("closingRequestDate")]
    public DateTime? ClosingRequestDate { get; set; }
    [JsonProperty("inClosingSinceDate")]
    public DateTime? InClosingSinceDate { get; set; }
    [JsonProperty("closingDate")]
    public DateTime? ClosingDate { get; set; }
    [JsonProperty("isDeleted")]
    public bool IsDeleted { get; set; }
    [JsonProperty("investedAmount")]
    public decimal? InvestedAmount { get; set; }
    [JsonProperty("total")]
    public decimal? Total { get; set; }
    [JsonProperty("marketValue")]
    public decimal? MarketValue { get; set; }
    [JsonProperty("profitOrLost")]
    public decimal? ProfitOrLost { get; set; }
    [JsonProperty("performanceSinceInception")]
    public decimal? PerformanceSinceInception { get; set; }
    [JsonProperty("performanceYearToDate")]
    public decimal? PerformanceYearToDate { get; set; }
    [JsonProperty("portfolioValueDate")]
    public DateTime? PortfolioValueDate { get; set; }
    [JsonProperty("correlationId")]
    public string CorrelationId { get; set; }
    [JsonProperty("iban")]
    public string Iban { get; set; }
    [JsonProperty("userExternalIdId")]
    public long? UserExternalIdId { get; set; }
    [JsonProperty("fee")]
    public decimal Fee { get; set; }
    [JsonProperty("extendedProperties")]
    public IList<PortfolioExtendedPropertyOutputModel> ExtendedProperties { get; set; }
    [JsonProperty("positions")]
    public IList<PortfolioPositionOutputModel> Positions { get; set; }
    [JsonProperty("orders")]
    public IList<PortfolioOrderOutputModel> Orders { get; set; }
    [JsonProperty("fundOrigins")]
    public IList<PortfolioFundOriginOutputModel> FundOrigins { get; set; }
    [JsonProperty("documents")]
    public IList<PortfolioDocumentOutputModel> Documents { get; set; }
}

Java

public class PortfolioOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("externalId")
    public String ExternalId;
    @SerializedName("accountHoldingInstitutionId")
    public Long AccountHoldingInstitutionId;
    @SerializedName("investmentCategoryId")
    public Long InvestmentCategoryId;
    @SerializedName("userId")
    public Long UserId;
    @SerializedName("proposalId")
    public Long ProposalId;
    @SerializedName("depositNumber")
    public String DepositNumber;
    @SerializedName("name")
    public String Name;
    @SerializedName("systemName")
    public String SystemName;
    @SerializedName("currencyId")
    public Long CurrencyId;
    @SerializedName("color")
    public String Color;
    @SerializedName("isTrading")
    public Boolean IsTrading;
    @SerializedName("hasPendingOrder")
    public Boolean HasPendingOrder;
    @SerializedName("lastOrderStatusId")
    public Long LastOrderStatusId;
    @SerializedName("statusId")
    public Long StatusId;
    @SerializedName("creationDate")
    public String CreationDate;
    @SerializedName("acceptanceDate")
    public String AcceptanceDate;
    @SerializedName("closingRequestDate")
    public String ClosingRequestDate;
    @SerializedName("inClosingSinceDate")
    public String InClosingSinceDate;
    @SerializedName("closingDate")
    public String ClosingDate;
    @SerializedName("isDeleted")
    public Boolean IsDeleted;
    @SerializedName("investedAmount")
    public java.math.BigDecimal InvestedAmount;
    @SerializedName("total")
    public java.math.BigDecimal Total;
    @SerializedName("marketValue")
    public java.math.BigDecimal MarketValue;
    @SerializedName("profitOrLost")
    public java.math.BigDecimal ProfitOrLost;
    @SerializedName("performanceSinceInception")
    public java.math.BigDecimal PerformanceSinceInception;
    @SerializedName("performanceYearToDate")
    public java.math.BigDecimal PerformanceYearToDate;
    @SerializedName("portfolioValueDate")
    public String PortfolioValueDate;
    @SerializedName("correlationId")
    public String CorrelationId;
    @SerializedName("iban")
    public String Iban;
    @SerializedName("userExternalIdId")
    public Long UserExternalIdId;
    @SerializedName("fee")
    public java.math.BigDecimal Fee;
    @SerializedName("extendedProperties")
    public List<PortfolioExtendedPropertyOutputModel> ExtendedProperties;
    @SerializedName("positions")
    public List<PortfolioPositionOutputModel> Positions;
    @SerializedName("orders")
    public List<PortfolioOrderOutputModel> Orders;
    @SerializedName("fundOrigins")
    public List<PortfolioFundOriginOutputModel> FundOrigins;
    @SerializedName("documents")
    public List<PortfolioDocumentOutputModel> Documents;
}
PortfolioPositionOutputModel

C#

public class PortfolioPositionOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("allocation")]
    public decimal Allocation { get; set; }
    [JsonProperty("quantity")]
    public decimal Quantity { get; set; }
    [JsonProperty("price")]
    public decimal Price { get; set; }
    [JsonProperty("priceInChf")]
    public decimal PriceInChf { get; set; }
    [JsonProperty("performance")]
    public decimal Performance { get; set; }
    [JsonProperty("date")]
    public DateTime Date { get; set; }
    [JsonProperty("currencyId")]
    public long CurrencyId { get; set; }
    [JsonProperty("securityId")]
    public long SecurityId { get; set; }
}

Java

public class PortfolioPositionOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("allocation")
    public java.math.BigDecimal Allocation;
    @SerializedName("quantity")
    public java.math.BigDecimal Quantity;
    @SerializedName("price")
    public java.math.BigDecimal Price;
    @SerializedName("priceInChf")
    public java.math.BigDecimal PriceInChf;
    @SerializedName("performance")
    public java.math.BigDecimal Performance;
    @SerializedName("date")
    public String Date;
    @SerializedName("currencyId")
    public Long CurrencyId;
    @SerializedName("securityId")
    public Long SecurityId;
}
PortfolioValueOutputModel

C#

public class PortfolioValueOutputModel
{
    [JsonProperty("date")]
    public DateTime Date { get; set; }
    [JsonProperty("performanceSinceInception")]
    public decimal PerformanceSinceInception { get; set; }
    [JsonProperty("performanceYearToDate")]
    public decimal PerformanceYearToDate { get; set; }
    [JsonProperty("profitOrLost")]
    public decimal ProfitOrLost { get; set; }
    [JsonProperty("portfolioMarketValue")]
    public decimal PortfolioMarketValue { get; set; }
    [JsonProperty("cashAmount")]
    public decimal CashAmount { get; set; }
    [JsonProperty("portfolioTotalAssets")]
    public decimal PortfolioTotalAssets { get; set; }
}

Java

public class PortfolioValueOutputModel {
    @SerializedName("date")
    public String Date;
    @SerializedName("performanceSinceInception")
    public java.math.BigDecimal PerformanceSinceInception;
    @SerializedName("performanceYearToDate")
    public java.math.BigDecimal PerformanceYearToDate;
    @SerializedName("profitOrLost")
    public java.math.BigDecimal ProfitOrLost;
    @SerializedName("portfolioMarketValue")
    public java.math.BigDecimal PortfolioMarketValue;
    @SerializedName("cashAmount")
    public java.math.BigDecimal CashAmount;
    @SerializedName("portfolioTotalAssets")
    public java.math.BigDecimal PortfolioTotalAssets;
}
PortfolioValuesContainerOutputModel

C#

public class PortfolioValuesContainerOutputModel
{
    [JsonProperty("portfolioId")]
    public long PortfolioId { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
    [JsonProperty("color")]
    public string Color { get; set; }
    [JsonProperty("values")]
    public IList<PortfolioValueOutputModel> Values { get; set; }
}

Java

public class PortfolioValuesContainerOutputModel {
    @SerializedName("portfolioId")
    public Long PortfolioId;
    @SerializedName("name")
    public String Name;
    @SerializedName("color")
    public String Color;
    @SerializedName("values")
    public List<PortfolioValueOutputModel> Values;
}
ProposalManagementCostOutputModel

C#

public class ProposalManagementCostOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("proposalId")]
    public long ProposalId { get; set; }
    [JsonProperty("accountHoldingInstitutionId")]
    public long AccountHoldingInstitutionId { get; set; }
    [JsonProperty("investmentCategoryId")]
    public long InvestmentCategoryId { get; set; }
    [JsonProperty("upTo")]
    public decimal UpTo { get; set; }
    [JsonProperty("cost")]
    public decimal Cost { get; set; }
}

Java

public class ProposalManagementCostOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("proposalId")
    public Long ProposalId;
    @SerializedName("accountHoldingInstitutionId")
    public Long AccountHoldingInstitutionId;
    @SerializedName("investmentCategoryId")
    public Long InvestmentCategoryId;
    @SerializedName("upTo")
    public java.math.BigDecimal UpTo;
    @SerializedName("cost")
    public java.math.BigDecimal Cost;
}
ProposalOutputModel

C#

public class ProposalOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("investmentCategoryIds")]
    public IList<long> InvestmentCategoryIds { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
    [JsonProperty("description")]
    public string Description { get; set; }
    [JsonProperty("color")]
    public string Color { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("riskCategorizationId")]
    public long RiskCategorizationId { get; set; }
    [JsonProperty("isDeleted")]
    public bool IsDeleted { get; set; }
    [JsonProperty("order")]
    public int Order { get; set; }
    [JsonProperty("volatility")]
    public decimal Volatility { get; set; }
    [JsonProperty("expectedReturn")]
    public decimal ExpectedReturn { get; set; }
    [JsonProperty("sharpeRatio")]
    public decimal? SharpeRatio { get; set; }
    [JsonProperty("eSGScore")]
    public decimal? ESGScore { get; set; }
    [JsonProperty("eSGRating")]
    public string ESGRating { get; set; }
    [JsonProperty("cO2Intensity")]
    public decimal? CO2Intensity { get; set; }
    [JsonProperty("probabilityGain")]
    public decimal? ProbabilityGain { get; set; }
    [JsonProperty("probabilityLoss")]
    public decimal? ProbabilityLoss { get; set; }
    [JsonProperty("portfolioModel")]
    public PortfolioModelOutputModel PortfolioModel { get; set; }
    [JsonProperty("positions")]
    public IList<ProposalPositionOutputModel> Positions { get; set; }
    [JsonProperty("proposalManagementCosts")]
    public IList<ProposalManagementCostOutputModel> ProposalManagementCosts { get; set; }
}

Java

public class ProposalOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("investmentCategoryIds")
    public List<Long> InvestmentCategoryIds;
    @SerializedName("name")
    public String Name;
    @SerializedName("description")
    public String Description;
    @SerializedName("color")
    public String Color;
    @SerializedName("code")
    public String Code;
    @SerializedName("riskCategorizationId")
    public Long RiskCategorizationId;
    @SerializedName("isDeleted")
    public Boolean IsDeleted;
    @SerializedName("order")
    public Integer Order;
    @SerializedName("volatility")
    public java.math.BigDecimal Volatility;
    @SerializedName("expectedReturn")
    public java.math.BigDecimal ExpectedReturn;
    @SerializedName("sharpeRatio")
    public java.math.BigDecimal SharpeRatio;
    @SerializedName("eSGScore")
    public java.math.BigDecimal ESGScore;
    @SerializedName("eSGRating")
    public String ESGRating;
    @SerializedName("cO2Intensity")
    public java.math.BigDecimal CO2Intensity;
    @SerializedName("probabilityGain")
    public java.math.BigDecimal ProbabilityGain;
    @SerializedName("probabilityLoss")
    public java.math.BigDecimal ProbabilityLoss;
    @SerializedName("portfolioModel")
    public PortfolioModelOutputModel PortfolioModel;
    @SerializedName("positions")
    public List<ProposalPositionOutputModel> Positions;
    @SerializedName("proposalManagementCosts")
    public List<ProposalManagementCostOutputModel> ProposalManagementCosts;
}
ProposalPositionOutputModel

C#

public class ProposalPositionOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("allocation")]
    public decimal Allocation { get; set; }
    [JsonProperty("price")]
    public decimal? Price { get; set; }
    [JsonProperty("priceDate")]
    public DateTime? PriceDate { get; set; }
    [JsonProperty("currencyId")]
    public long CurrencyId { get; set; }
    [JsonProperty("securityId")]
    public long SecurityId { get; set; }
    [JsonProperty("order")]
    public long Order { get; set; }
}

Java

public class ProposalPositionOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("allocation")
    public java.math.BigDecimal Allocation;
    @SerializedName("price")
    public java.math.BigDecimal Price;
    @SerializedName("priceDate")
    public String PriceDate;
    @SerializedName("currencyId")
    public Long CurrencyId;
    @SerializedName("securityId")
    public Long SecurityId;
    @SerializedName("order")
    public Long Order;
}
QuestionnaireOutputModel

C#

public class QuestionnaireOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("businessLineIds")]
    public IList<long> BusinessLineIds { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("description")]
    public string Description { get; set; }
    [JsonProperty("isDeleted")]
    public bool IsDeleted { get; set; }
    [JsonProperty("sections")]
    public IList<QuestionnaireSectionOutputModel> Sections { get; set; }
}

Java

public class QuestionnaireOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("businessLineIds")
    public List<Long> BusinessLineIds;
    @SerializedName("code")
    public String Code;
    @SerializedName("description")
    public String Description;
    @SerializedName("isDeleted")
    public Boolean IsDeleted;
    @SerializedName("sections")
    public List<QuestionnaireSectionOutputModel> Sections;
}
QuestionnaireQuestionOutputModel

C#

public class QuestionnaireQuestionOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("description")]
    public string Description { get; set; }
    [JsonProperty("order")]
    public int Order { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("responses")]
    public IList<QuestionnaireResponseOutputModel> Responses { get; set; }
}

Java

public class QuestionnaireQuestionOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("description")
    public String Description;
    @SerializedName("order")
    public Integer Order;
    @SerializedName("code")
    public String Code;
    @SerializedName("responses")
    public List<QuestionnaireResponseOutputModel> Responses;
}
QuestionnaireResponseOutputModel

C#

public class QuestionnaireResponseOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("description")]
    public string Description { get; set; }
    [JsonProperty("score")]
    public decimal Score { get; set; }
    [JsonProperty("order")]
    public int Order { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("minValue")]
    public decimal? MinValue { get; set; }
    [JsonProperty("maxValue")]
    public decimal? MaxValue { get; set; }
}

Java

public class QuestionnaireResponseOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("description")
    public String Description;
    @SerializedName("score")
    public java.math.BigDecimal Score;
    @SerializedName("order")
    public Integer Order;
    @SerializedName("code")
    public String Code;
    @SerializedName("minValue")
    public java.math.BigDecimal MinValue;
    @SerializedName("maxValue")
    public java.math.BigDecimal MaxValue;
}
QuestionnaireSectionOutputModel

C#

public class QuestionnaireSectionOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("description")]
    public string Description { get; set; }
    [JsonProperty("order")]
    public int Order { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("questions")]
    public IList<QuestionnaireQuestionOutputModel> Questions { get; set; }
}

Java

public class QuestionnaireSectionOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("description")
    public String Description;
    @SerializedName("order")
    public Integer Order;
    @SerializedName("code")
    public String Code;
    @SerializedName("questions")
    public List<QuestionnaireQuestionOutputModel> Questions;
}
ReasonToChangeProposalOutputModel

C#

public class ReasonToChangeProposalOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
    [JsonProperty("isDeleted")]
    public bool IsDeleted { get; set; }
    [JsonProperty("responses")]
    public IList<ReasonToChangeProposalResponseOutputModel> Responses { get; set; }
}

Java

public class ReasonToChangeProposalOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("code")
    public String Code;
    @SerializedName("name")
    public String Name;
    @SerializedName("isDeleted")
    public Boolean IsDeleted;
    @SerializedName("responses")
    public List<ReasonToChangeProposalResponseOutputModel> Responses;
}
ReasonToChangeProposalResponseOutputModel

C#

public class ReasonToChangeProposalResponseOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("description")]
    public string Description { get; set; }
    [JsonProperty("order")]
    public int Order { get; set; }
}

Java

public class ReasonToChangeProposalResponseOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("code")
    public String Code;
    @SerializedName("description")
    public String Description;
    @SerializedName("order")
    public Integer Order;
}
RegistrationFirstFactorOutputModel

C#

public class RegistrationFirstFactorOutputModel
{
    [JsonProperty("accountNumber")]
    public string AccountNumber { get; set; }
    [JsonProperty("validUntil")]
    public DateTime ValidUntil { get; set; }
    [JsonProperty("token")]
    public string Token { get; set; }
}

Java

public class RegistrationFirstFactorOutputModel {
    @SerializedName("accountNumber")
    public String AccountNumber;
    @SerializedName("validUntil")
    public String ValidUntil;
    @SerializedName("token")
    public String Token;
}
RegistrationSecondFactorOutputModel

C#

public class RegistrationSecondFactorOutputModel
{
    [JsonProperty("accountNumber")]
    public string AccountNumber { get; set; }
    [JsonProperty("validUntil")]
    public DateTime ValidUntil { get; set; }
    [JsonProperty("token")]
    public string Token { get; set; }
}

Java

public class RegistrationSecondFactorOutputModel {
    @SerializedName("accountNumber")
    public String AccountNumber;
    @SerializedName("validUntil")
    public String ValidUntil;
    @SerializedName("token")
    public String Token;
}
RegistrationThirdFactorOutputModel

C#

public class RegistrationThirdFactorOutputModel
{
    [JsonProperty("userId")]
    public long UserId { get; set; }
    [JsonProperty("accountNumber")]
    public string AccountNumber { get; set; }
    [JsonProperty("accessToken")]
    public string AccessToken { get; set; }
    [JsonProperty("validUntil")]
    public DateTime ValidUntil { get; set; }
    [JsonProperty("refreshToken")]
    public string RefreshToken { get; set; }
}

Java

public class RegistrationThirdFactorOutputModel {
    @SerializedName("userId")
    public Long UserId;
    @SerializedName("accountNumber")
    public String AccountNumber;
    @SerializedName("accessToken")
    public String AccessToken;
    @SerializedName("validUntil")
    public String ValidUntil;
    @SerializedName("refreshToken")
    public String RefreshToken;
}
RiskCategorizationOutputModel

C#

public class RiskCategorizationOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("businessLineIds")]
    public IList<long> BusinessLineIds { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
    [JsonProperty("description")]
    public string Description { get; set; }
    [JsonProperty("profileName")]
    public string ProfileName { get; set; }
    [JsonProperty("profileDescription")]
    public string ProfileDescription { get; set; }
    [JsonProperty("strategyName")]
    public string StrategyName { get; set; }
    [JsonProperty("strategyDescription")]
    public string StrategyDescription { get; set; }
    [JsonProperty("timeHorizon")]
    public int TimeHorizon { get; set; }
    [JsonProperty("timeHorizonDescription")]
    public string TimeHorizonDescription { get; set; }
    [JsonProperty("riskyAssets")]
    public int RiskyAssets { get; set; }
    [JsonProperty("lessRiskyAssets")]
    public int LessRiskyAssets { get; set; }
    [JsonProperty("alternativeNickName")]
    public string AlternativeNickName { get; set; }
    [JsonProperty("alternativeName")]
    public string AlternativeName { get; set; }
    [JsonProperty("alternativeDescription")]
    public string AlternativeDescription { get; set; }
}

Java

public class RiskCategorizationOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("businessLineIds")
    public List<Long> BusinessLineIds;
    @SerializedName("code")
    public String Code;
    @SerializedName("name")
    public String Name;
    @SerializedName("description")
    public String Description;
    @SerializedName("profileName")
    public String ProfileName;
    @SerializedName("profileDescription")
    public String ProfileDescription;
    @SerializedName("strategyName")
    public String StrategyName;
    @SerializedName("strategyDescription")
    public String StrategyDescription;
    @SerializedName("timeHorizon")
    public Integer TimeHorizon;
    @SerializedName("timeHorizonDescription")
    public String TimeHorizonDescription;
    @SerializedName("riskyAssets")
    public Integer RiskyAssets;
    @SerializedName("lessRiskyAssets")
    public Integer LessRiskyAssets;
    @SerializedName("alternativeNickName")
    public String AlternativeNickName;
    @SerializedName("alternativeName")
    public String AlternativeName;
    @SerializedName("alternativeDescription")
    public String AlternativeDescription;
}
RoleOutputModel

C#

public class RoleOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
    [JsonProperty("description")]
    public string Description { get; set; }
}

Java

public class RoleOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("code")
    public String Code;
    @SerializedName("name")
    public String Name;
    @SerializedName("description")
    public String Description;
}
SystemOccurrenceOutputModel

C#

public class SystemOccurrenceOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("systemOccurrenceCategoryId")]
    public long SystemOccurrenceCategoryId { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
    [JsonProperty("description")]
    public string Description { get; set; }
}

Java

public class SystemOccurrenceOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("systemOccurrenceCategoryId")
    public Long SystemOccurrenceCategoryId;
    @SerializedName("code")
    public String Code;
    @SerializedName("name")
    public String Name;
    @SerializedName("description")
    public String Description;
}
SystemOccurrencePreferenceInputModel

C#

public class SystemOccurrencePreferenceInputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("isEmailEnabled")]
    public bool IsEmailEnabled { get; set; }
    [JsonProperty("isSmsEnabled")]
    public bool IsSmsEnabled { get; set; }
    [JsonProperty("isHttpEnabled")]
    public bool IsHttpEnabled { get; set; }
}

Java

public class SystemOccurrencePreferenceInputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("isEmailEnabled")
    public Boolean IsEmailEnabled;
    @SerializedName("isSmsEnabled")
    public Boolean IsSmsEnabled;
    @SerializedName("isHttpEnabled")
    public Boolean IsHttpEnabled;
}
TaxLiabilityOutputModel

C#

public class TaxLiabilityOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("code")]
    public string Code { get; set; }
    [JsonProperty("description")]
    public string Description { get; set; }
}

Java

public class TaxLiabilityOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("code")
    public String Code;
    @SerializedName("description")
    public String Description;
}
UserBankDocumentInfoOutputModel

C#

public class UserBankDocumentInfoOutputModel
{
    [JsonProperty("id")]
    public long Id { get; set; }
    [JsonProperty("userPortfolioId")]
    public long UserPortfolioId { get; set; }
    [JsonProperty("documentTypeId")]
    public long DocumentTypeId { get; set; }
    [JsonProperty("documentTypeCode")]
    public string DocumentTypeCode { get; set; }
    [JsonProperty("description")]
    public string Description { get; set; }
    [JsonProperty("reference")]
    public string Reference { get; set; }
    [JsonProperty("created")]
    public DateTime Created { get; set; }
    [JsonProperty("viewed")]
    public DateTime? Viewed { get; set; }
    [JsonProperty("downloaded")]
    public DateTime Downloaded { get; set; }
}

Java

public class UserBankDocumentInfoOutputModel {
    @SerializedName("id")
    public Long Id;
    @SerializedName("userPortfolioId")
    public Long UserPortfolioId;
    @SerializedName("documentTypeId")
    public Long DocumentTypeId;
    @SerializedName("documentTypeCode")
    public String DocumentTypeCode;
    @SerializedName("description")
    public String Description;
    @SerializedName("reference")
    public String Reference;
    @SerializedName("created")
    public String Created;
    @SerializedName("viewed")
    public String Viewed;
    @SerializedName("downloaded")
    public String Downloaded;
}
ValidationErrorModel

C#

public class ValidationErrorModel
{
    [JsonProperty("traceIdentifier")]
    public string TraceIdentifier { get; set; }
    [JsonProperty("errorCode")]
    public string ErrorCode { get; set; }
    [JsonProperty("message")]
    public string Message { get; set; }
    [JsonProperty("stackTrace")]
    public string StackTrace { get; set; }
    [JsonProperty("validationErrors")]
    public IDictionary<string,IList<ValidationResultEntryModel>> ValidationErrors { get; set; }
}

Java

public class ValidationErrorModel {
    @SerializedName("traceIdentifier")
    public String TraceIdentifier;
    @SerializedName("errorCode")
    public String ErrorCode;
    @SerializedName("message")
    public String Message;
    @SerializedName("stackTrace")
    public String StackTrace;
    @SerializedName("validationErrors")
    public Map<String, List<ValidationResultEntryModel>> ValidationErrors;
}
ValidationResultEntryModel

C#

public class ValidationResultEntryModel
{
    [JsonProperty("validationErrorCode")]
    public string ValidationErrorCode { get; set; }
    [JsonProperty("validationErrorMessage")]
    public string ValidationErrorMessage { get; set; }
}

Java

public class ValidationResultEntryModel {
    @SerializedName("validationErrorCode")
    public String ValidationErrorCode;
    @SerializedName("validationErrorMessage")
    public String ValidationErrorMessage;
}

Gestion des erreurs

Les erreurs API sont signalées par des codes HTTP conformes aux standards IETF. Un payload fournit aussi des détails pour comprendre la cause du problème.

Les exemples montrent des structures courantes. Vérifiez le statut avant de désérialiser un DTO de succès ; une erreur de middleware peut avoir un payload vide ou différent.
Le catalogue des erreurs est disponible sous api/v1/system/error-codes.

Erreurs d’authentification

Exemple de payload d’erreur ; les réponses d’authentification peuvent aussi ne pas contenir de body :
							
{
	"ErrorCode": "string",
	"Message": "string",
	"RemainingAttempts": 2
}

Demande invalide (Bad Request)

Exemple de payload de validation HTTP 400 :
								
{
  "ErrorCode": "VALIDATION-ERRORS",
  "Message": "Request contains invalid fields.",
  "ValidationErrors": {
    "Name": [
      {"ValidationErrorCode": "INVALID-FIELD", "ValidationErrorMessage": "Name is too short"}
    ]
  }
}

ValidationErrors peut être null si une vérification générale échoue plutôt qu’une validation de champ. Exemple :
								
{
  "ErrorCode": "string",
  "Message": "string",
  "ValidationErrors": null
}

Exemple 1 : validation du payload
Cette demande administrative est volontairement incomplète et son Name est trop court. Les messages exacts dépendent du point de terminaison et de la langue :
										
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", adminToken);
var payload = JsonConvert.SerializeObject(new { Name = "A", Surname = "Example" });
using var response = await httpClient.PostAsync("api/v1/users", new StringContent(payload, Encoding.UTF8, "application/json"));
if (response.StatusCode == HttpStatusCode.BadRequest)
{
    var errorContent = await response.Content.ReadAsStringAsync();
    var error = JsonConvert.DeserializeObject<ValidationErrorModel>(errorContent);
// Present the errors to the caller; do not decode a ClientOutputModel.
}
else
{
    response.EnsureSuccessStatusCode();
}

										
JsonObject payload = new JsonObject();
payload.addProperty("Name", "A");
payload.addProperty("Surname", "Example");

HttpRequest request = HttpRequest.newBuilder()
    .timeout(Duration.ofMinutes(1))
    .uri(Settings.wmsUri("users"))
    .header("Accept-Language", "de-DE")
    .header("Authorization", "Bearer " + Settings.ADMIN_TOKEN)
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString(payload.toString()))
    .build();

var response = httpClient.send(request, BodyHandlers.ofString());

if (response.statusCode() == 400) {
    // Handle the error without logging personal data or tokens.

    ValidationErrorModel errorsObj = new Gson().fromJson(response.body(), ValidationErrorModel.class);
    // Present field errors to the caller.
} else {
    Api.requireSuccess(response);
}

La demande retourne HTTP 400. Le payload illustre la structure ; les champs et messages réels dépendent de la validation et d’Accept-Language :
							
{
	"ErrorCode":"VALIDATION-ERRORS",
	"Message":"Request contains one or more invalid fields.",
	"ValidationErrors":
	{
	  "GenderId":[{"ValidationErrorCode":"INVALID-FIELD","ValidationErrorMessage":"Gender ID is mandatory"}],
	  "Name":[{"ValidationErrorCode":"INVALID-FIELD","ValidationErrorMessage":"Customer name is too short"}],
	  "Surname":[{"ValidationErrorCode":"INVALID-FIELD","ValidationErrorMessage":"Surname is invalid"}]
	}
  }

Exemple 2 : validation générale
Cette demande de métadonnées utilise volontairement une date starting-from invalide. Le format requis dans la requête est yyyyMMdd :
						
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
using var response = await httpClient.GetAsync(
    $"api/v1/user-bank-documents/user-id/{userId}/list?starting-from=not-a-date");
if (response.StatusCode == HttpStatusCode.BadRequest)
{
    var errorContent = await response.Content.ReadAsStringAsync();
    var error = JsonConvert.DeserializeObject<ValidationErrorModel>(errorContent);
    // A generic error can have null ValidationErrors. Inspect ErrorCode and Message.
}
else
{
    response.EnsureSuccessStatusCode();
}

Le payload peut avoir cette structure. Le message ci-dessous est un exemple illustratif en anglais :
						
{
	"ErrorCode":"INVALID-DATE-FORMAT",
	"Message":"Invalid date format.",
	"ValidationErrors": null
  }


Autres erreurs

Exemple de payload d’erreur générale :
							
{
	"ErrorCode": "string",
	"Message": "string"
}

Pagination

La pagination divise de grands ensembles de données en pages plus petites.
Certains points de terminaison acceptent la pagination. Les paramètres sont transmis dans la query string :
  • pageNumber
  • pageSize (utilisé lorsque pageNumber est fourni)
Pour les points de terminaison concernés, pageNumber active la pagination et l’en-tête de réponse X-Defi-PageMetadata . Sans pageNumber, le point de terminaison peut retourner toute la liste correspondante. Cet en-tête contient un objet JSON avec les propriétés suivantes :
  • totalCount
  • currentPage
  • pageSize
  • totalPages
  • previousPageLink
  • nextPageLink

HTTP POST

Le body dépend du point de terminaison. Une création peut retourner HTTP 201 avec un DTO ; d’autres opérations POST ou PUT peuvent retourner HTTP 200 ou une réponse sans entité.
Lorsqu’il est fourni, Location identifie la ressource créée. Pour un ordre d’ouverture de portefeuille, c’est l’URL de l’ordre, pas celle du portefeuille.