> getSchemas() {
+ return AccessType.schemas;
+ }
+
+ /**
+ * Set the instance that matches the oneOf child schema, check the instance parameter is valid
+ * against the oneOf child schemas: AccountAccess, DirectAccess
+ *
+ * It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be
+ * a composed schema (allOf, anyOf, oneOf).
+ */
+ @Override
+ public void setActualInstance(Object instance) {
+ if (JSON.isInstanceOf(AccountAccess.class, instance, new HashSet>())) {
+ super.setActualInstance(instance);
+ return;
+ }
+
+ if (JSON.isInstanceOf(DirectAccess.class, instance, new HashSet>())) {
+ super.setActualInstance(instance);
+ return;
+ }
+
+ throw new RuntimeException("Invalid instance type. Must be AccountAccess, DirectAccess");
+ }
+
+ /**
+ * Get the actual instance, which can be the following: AccountAccess, DirectAccess
+ *
+ * @return The actual instance (AccountAccess, DirectAccess)
+ */
+ @Override
+ public Object getActualInstance() {
+ return super.getActualInstance();
+ }
+
+ /**
+ * Get the actual instance of `AccountAccess`. If the actual instance is not `AccountAccess`,
+ * the ClassCastException will be thrown.
+ *
+ * @return The actual instance of `AccountAccess`
+ * @throws ClassCastException if the instance is not `AccountAccess`
+ */
+ public AccountAccess getAccountAccess() throws ClassCastException {
+ return (AccountAccess) super.getActualInstance();
+ }
+
+ /**
+ * Get the actual instance of `DirectAccess`. If the actual instance is not `DirectAccess`, the
+ * ClassCastException will be thrown.
+ *
+ * @return The actual instance of `DirectAccess`
+ * @throws ClassCastException if the instance is not `DirectAccess`
+ */
+ public DirectAccess getDirectAccess() throws ClassCastException {
+ return (DirectAccess) super.getActualInstance();
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ if (getActualInstance() instanceof AccountAccess) {
+ if (getActualInstance() != null) {
+ joiner.add(
+ ((AccountAccess) getActualInstance())
+ .toUrlQueryString(prefix + "one_of_0" + suffix));
+ }
+ return joiner.toString();
+ }
+ if (getActualInstance() instanceof DirectAccess) {
+ if (getActualInstance() != null) {
+ joiner.add(
+ ((DirectAccess) getActualInstance())
+ .toUrlQueryString(prefix + "one_of_1" + suffix));
+ }
+ return joiner.toString();
+ }
+ return null;
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/AccountAccess.java b/src/main/java/com/fireblocks/sdk/model/AccountAccess.java
new file mode 100644
index 00000000..1611e981
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/AccountAccess.java
@@ -0,0 +1,260 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonValue;
+import com.fireblocks.sdk.ApiClient;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** AccountAccess */
+@JsonPropertyOrder({
+ AccountAccess.JSON_PROPERTY_TYPE,
+ AccountAccess.JSON_PROPERTY_PROVIDER_ID,
+ AccountAccess.JSON_PROPERTY_ACCOUNT_ID
+})
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.14.0")
+public class AccountAccess {
+ /** Indicates this uses account-based access */
+ public enum TypeEnum {
+ PROVIDER_ACCOUNT(String.valueOf("PROVIDER_ACCOUNT"));
+
+ private String value;
+
+ TypeEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static TypeEnum fromValue(String value) {
+ for (TypeEnum b : TypeEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+ }
+
+ public static final String JSON_PROPERTY_TYPE = "type";
+ @jakarta.annotation.Nonnull private TypeEnum type;
+
+ public static final String JSON_PROPERTY_PROVIDER_ID = "providerId";
+ @jakarta.annotation.Nullable private String providerId;
+
+ public static final String JSON_PROPERTY_ACCOUNT_ID = "accountId";
+ @jakarta.annotation.Nonnull private String accountId;
+
+ public AccountAccess() {}
+
+ @JsonCreator
+ public AccountAccess(
+ @JsonProperty(value = JSON_PROPERTY_TYPE, required = true) TypeEnum type,
+ @JsonProperty(value = JSON_PROPERTY_ACCOUNT_ID, required = true) String accountId) {
+ this.type = type;
+ this.accountId = accountId;
+ }
+
+ public AccountAccess type(@jakarta.annotation.Nonnull TypeEnum type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Indicates this uses account-based access
+ *
+ * @return type
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public TypeEnum getType() {
+ return type;
+ }
+
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setType(@jakarta.annotation.Nonnull TypeEnum type) {
+ this.type = type;
+ }
+
+ public AccountAccess providerId(@jakarta.annotation.Nullable String providerId) {
+ this.providerId = providerId;
+ return this;
+ }
+
+ /**
+ * The ID of the provider
+ *
+ * @return providerId
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_PROVIDER_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getProviderId() {
+ return providerId;
+ }
+
+ @JsonProperty(JSON_PROPERTY_PROVIDER_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setProviderId(@jakarta.annotation.Nullable String providerId) {
+ this.providerId = providerId;
+ }
+
+ public AccountAccess accountId(@jakarta.annotation.Nonnull String accountId) {
+ this.accountId = accountId;
+ return this;
+ }
+
+ /**
+ * The ID of the account
+ *
+ * @return accountId
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_ACCOUNT_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getAccountId() {
+ return accountId;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ACCOUNT_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setAccountId(@jakarta.annotation.Nonnull String accountId) {
+ this.accountId = accountId;
+ }
+
+ /** Return true if this AccountAccess object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AccountAccess accountAccess = (AccountAccess) o;
+ return Objects.equals(this.type, accountAccess.type)
+ && Objects.equals(this.providerId, accountAccess.providerId)
+ && Objects.equals(this.accountId, accountAccess.accountId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(type, providerId, accountId);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AccountAccess {\n");
+ sb.append(" type: ").append(toIndentedString(type)).append("\n");
+ sb.append(" providerId: ").append(toIndentedString(providerId)).append("\n");
+ sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `type` to the URL query string
+ if (getType() != null) {
+ joiner.add(
+ String.format(
+ "%stype%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getType()))));
+ }
+
+ // add `providerId` to the URL query string
+ if (getProviderId() != null) {
+ joiner.add(
+ String.format(
+ "%sproviderId%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getProviderId()))));
+ }
+
+ // add `accountId` to the URL query string
+ if (getAccountId() != null) {
+ joiner.add(
+ String.format(
+ "%saccountId%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getAccountId()))));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/AccountBase.java b/src/main/java/com/fireblocks/sdk/model/AccountBase.java
new file mode 100644
index 00000000..d16ee78e
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/AccountBase.java
@@ -0,0 +1,184 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fireblocks.sdk.ApiClient;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** AccountBase */
+@JsonPropertyOrder({AccountBase.JSON_PROPERTY_ID, AccountBase.JSON_PROPERTY_NAME})
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.14.0")
+public class AccountBase {
+ public static final String JSON_PROPERTY_ID = "id";
+ @jakarta.annotation.Nonnull private String id;
+
+ public static final String JSON_PROPERTY_NAME = "name";
+ @jakarta.annotation.Nonnull private String name;
+
+ public AccountBase() {}
+
+ @JsonCreator
+ public AccountBase(
+ @JsonProperty(value = JSON_PROPERTY_ID, required = true) String id,
+ @JsonProperty(value = JSON_PROPERTY_NAME, required = true) String name) {
+ this.id = id;
+ this.name = name;
+ }
+
+ public AccountBase id(@jakarta.annotation.Nonnull String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * The ID of the account
+ *
+ * @return id
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getId() {
+ return id;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setId(@jakarta.annotation.Nonnull String id) {
+ this.id = id;
+ }
+
+ public AccountBase name(@jakarta.annotation.Nonnull String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * The name of the account
+ *
+ * @return name
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getName() {
+ return name;
+ }
+
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setName(@jakarta.annotation.Nonnull String name) {
+ this.name = name;
+ }
+
+ /** Return true if this AccountBase object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AccountBase accountBase = (AccountBase) o;
+ return Objects.equals(this.id, accountBase.id)
+ && Objects.equals(this.name, accountBase.name);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(id, name);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AccountBase {\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `id` to the URL query string
+ if (getId() != null) {
+ joiner.add(
+ String.format(
+ "%sid%s=%s",
+ prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId()))));
+ }
+
+ // add `name` to the URL query string
+ if (getName() != null) {
+ joiner.add(
+ String.format(
+ "%sname%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getName()))));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/AccountBasedAccessProvider.java b/src/main/java/com/fireblocks/sdk/model/AccountBasedAccessProvider.java
new file mode 100644
index 00000000..92cc22a9
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/AccountBasedAccessProvider.java
@@ -0,0 +1,409 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fireblocks.sdk.ApiClient;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** AccountBasedAccessProvider */
+@JsonPropertyOrder({
+ AccountBasedAccessProvider.JSON_PROPERTY_ID,
+ AccountBasedAccessProvider.JSON_PROPERTY_NAME,
+ AccountBasedAccessProvider.JSON_PROPERTY_LOGO,
+ AccountBasedAccessProvider.JSON_PROPERTY_ACCOUNT_BASED,
+ AccountBasedAccessProvider.JSON_PROPERTY_MANIFEST,
+ AccountBasedAccessProvider.JSON_PROPERTY_CONNECTED,
+ AccountBasedAccessProvider.JSON_PROPERTY_ACCOUNTS
+})
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.14.0")
+public class AccountBasedAccessProvider {
+ public static final String JSON_PROPERTY_ID = "id";
+ @jakarta.annotation.Nonnull private String id;
+
+ public static final String JSON_PROPERTY_NAME = "name";
+ @jakarta.annotation.Nonnull private String name;
+
+ public static final String JSON_PROPERTY_LOGO = "logo";
+ @jakarta.annotation.Nullable private String logo;
+
+ public static final String JSON_PROPERTY_ACCOUNT_BASED = "accountBased";
+ @jakarta.annotation.Nonnull private Boolean accountBased;
+
+ public static final String JSON_PROPERTY_MANIFEST = "manifest";
+ @jakarta.annotation.Nonnull private Manifest manifest;
+
+ public static final String JSON_PROPERTY_CONNECTED = "connected";
+ @jakarta.annotation.Nonnull private Boolean connected;
+
+ public static final String JSON_PROPERTY_ACCOUNTS = "accounts";
+ @jakarta.annotation.Nullable private List accounts = new ArrayList<>();
+
+ public AccountBasedAccessProvider() {}
+
+ @JsonCreator
+ public AccountBasedAccessProvider(
+ @JsonProperty(value = JSON_PROPERTY_ID, required = true) String id,
+ @JsonProperty(value = JSON_PROPERTY_NAME, required = true) String name,
+ @JsonProperty(value = JSON_PROPERTY_ACCOUNT_BASED, required = true)
+ Boolean accountBased,
+ @JsonProperty(value = JSON_PROPERTY_MANIFEST, required = true) Manifest manifest,
+ @JsonProperty(value = JSON_PROPERTY_CONNECTED, required = true) Boolean connected) {
+ this.id = id;
+ this.name = name;
+ this.accountBased = accountBased;
+ this.manifest = manifest;
+ this.connected = connected;
+ }
+
+ public AccountBasedAccessProvider id(@jakarta.annotation.Nonnull String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Unique identifier for the provider
+ *
+ * @return id
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getId() {
+ return id;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setId(@jakarta.annotation.Nonnull String id) {
+ this.id = id;
+ }
+
+ public AccountBasedAccessProvider name(@jakarta.annotation.Nonnull String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Display name of the provider
+ *
+ * @return name
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getName() {
+ return name;
+ }
+
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setName(@jakarta.annotation.Nonnull String name) {
+ this.name = name;
+ }
+
+ public AccountBasedAccessProvider logo(@jakarta.annotation.Nullable String logo) {
+ this.logo = logo;
+ return this;
+ }
+
+ /**
+ * URL to the logo image of the provider
+ *
+ * @return logo
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_LOGO)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getLogo() {
+ return logo;
+ }
+
+ @JsonProperty(JSON_PROPERTY_LOGO)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setLogo(@jakarta.annotation.Nullable String logo) {
+ this.logo = logo;
+ }
+
+ public AccountBasedAccessProvider accountBased(
+ @jakarta.annotation.Nonnull Boolean accountBased) {
+ this.accountBased = accountBased;
+ return this;
+ }
+
+ /**
+ * Indicates whether the provider access model is through accounts or directly
+ *
+ * @return accountBased
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_ACCOUNT_BASED)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Boolean getAccountBased() {
+ return accountBased;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ACCOUNT_BASED)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setAccountBased(@jakarta.annotation.Nonnull Boolean accountBased) {
+ this.accountBased = accountBased;
+ }
+
+ public AccountBasedAccessProvider manifest(@jakarta.annotation.Nonnull Manifest manifest) {
+ this.manifest = manifest;
+ return this;
+ }
+
+ /**
+ * Get manifest
+ *
+ * @return manifest
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_MANIFEST)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Manifest getManifest() {
+ return manifest;
+ }
+
+ @JsonProperty(JSON_PROPERTY_MANIFEST)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setManifest(@jakarta.annotation.Nonnull Manifest manifest) {
+ this.manifest = manifest;
+ }
+
+ public AccountBasedAccessProvider connected(@jakarta.annotation.Nonnull Boolean connected) {
+ this.connected = connected;
+ return this;
+ }
+
+ /**
+ * Whether the provider is currently connected
+ *
+ * @return connected
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_CONNECTED)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Boolean getConnected() {
+ return connected;
+ }
+
+ @JsonProperty(JSON_PROPERTY_CONNECTED)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setConnected(@jakarta.annotation.Nonnull Boolean connected) {
+ this.connected = connected;
+ }
+
+ public AccountBasedAccessProvider accounts(
+ @jakarta.annotation.Nullable List accounts) {
+ this.accounts = accounts;
+ return this;
+ }
+
+ public AccountBasedAccessProvider addAccountsItem(AccountBase accountsItem) {
+ if (this.accounts == null) {
+ this.accounts = new ArrayList<>();
+ }
+ this.accounts.add(accountsItem);
+ return this;
+ }
+
+ /**
+ * Get accounts
+ *
+ * @return accounts
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ACCOUNTS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public List getAccounts() {
+ return accounts;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ACCOUNTS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setAccounts(@jakarta.annotation.Nullable List accounts) {
+ this.accounts = accounts;
+ }
+
+ /** Return true if this AccountBasedAccessProvider object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AccountBasedAccessProvider accountBasedAccessProvider = (AccountBasedAccessProvider) o;
+ return Objects.equals(this.id, accountBasedAccessProvider.id)
+ && Objects.equals(this.name, accountBasedAccessProvider.name)
+ && Objects.equals(this.logo, accountBasedAccessProvider.logo)
+ && Objects.equals(this.accountBased, accountBasedAccessProvider.accountBased)
+ && Objects.equals(this.manifest, accountBasedAccessProvider.manifest)
+ && Objects.equals(this.connected, accountBasedAccessProvider.connected)
+ && Objects.equals(this.accounts, accountBasedAccessProvider.accounts);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(id, name, logo, accountBased, manifest, connected, accounts);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AccountBasedAccessProvider {\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" logo: ").append(toIndentedString(logo)).append("\n");
+ sb.append(" accountBased: ").append(toIndentedString(accountBased)).append("\n");
+ sb.append(" manifest: ").append(toIndentedString(manifest)).append("\n");
+ sb.append(" connected: ").append(toIndentedString(connected)).append("\n");
+ sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `id` to the URL query string
+ if (getId() != null) {
+ joiner.add(
+ String.format(
+ "%sid%s=%s",
+ prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId()))));
+ }
+
+ // add `name` to the URL query string
+ if (getName() != null) {
+ joiner.add(
+ String.format(
+ "%sname%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getName()))));
+ }
+
+ // add `logo` to the URL query string
+ if (getLogo() != null) {
+ joiner.add(
+ String.format(
+ "%slogo%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getLogo()))));
+ }
+
+ // add `accountBased` to the URL query string
+ if (getAccountBased() != null) {
+ joiner.add(
+ String.format(
+ "%saccountBased%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getAccountBased()))));
+ }
+
+ // add `manifest` to the URL query string
+ if (getManifest() != null) {
+ joiner.add(getManifest().toUrlQueryString(prefix + "manifest" + suffix));
+ }
+
+ // add `connected` to the URL query string
+ if (getConnected() != null) {
+ joiner.add(
+ String.format(
+ "%sconnected%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getConnected()))));
+ }
+
+ // add `accounts` to the URL query string
+ if (getAccounts() != null) {
+ for (int i = 0; i < getAccounts().size(); i++) {
+ if (getAccounts().get(i) != null) {
+ joiner.add(
+ getAccounts()
+ .get(i)
+ .toUrlQueryString(
+ String.format(
+ "%saccounts%s%s",
+ prefix,
+ suffix,
+ "".equals(suffix)
+ ? ""
+ : String.format(
+ "%s%d%s",
+ containerPrefix,
+ i,
+ containerSuffix))));
+ }
+ }
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/AccountHolderDetails.java b/src/main/java/com/fireblocks/sdk/model/AccountHolderDetails.java
new file mode 100644
index 00000000..82f8d48d
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/AccountHolderDetails.java
@@ -0,0 +1,343 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fireblocks.sdk.ApiClient;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** AccountHolderDetails */
+@JsonPropertyOrder({
+ AccountHolderDetails.JSON_PROPERTY_NAME,
+ AccountHolderDetails.JSON_PROPERTY_CITY,
+ AccountHolderDetails.JSON_PROPERTY_COUNTRY,
+ AccountHolderDetails.JSON_PROPERTY_SUBDIVISION,
+ AccountHolderDetails.JSON_PROPERTY_ADDRESS,
+ AccountHolderDetails.JSON_PROPERTY_POSTAL_CODE
+})
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.14.0")
+public class AccountHolderDetails {
+ public static final String JSON_PROPERTY_NAME = "name";
+ @jakarta.annotation.Nonnull private String name;
+
+ public static final String JSON_PROPERTY_CITY = "city";
+ @jakarta.annotation.Nullable private String city;
+
+ public static final String JSON_PROPERTY_COUNTRY = "country";
+ @jakarta.annotation.Nullable private String country;
+
+ public static final String JSON_PROPERTY_SUBDIVISION = "subdivision";
+ @jakarta.annotation.Nullable private String subdivision;
+
+ public static final String JSON_PROPERTY_ADDRESS = "address";
+ @jakarta.annotation.Nullable private String address;
+
+ public static final String JSON_PROPERTY_POSTAL_CODE = "postalCode";
+ @jakarta.annotation.Nullable private String postalCode;
+
+ public AccountHolderDetails() {}
+
+ @JsonCreator
+ public AccountHolderDetails(
+ @JsonProperty(value = JSON_PROPERTY_NAME, required = true) String name) {
+ this.name = name;
+ }
+
+ public AccountHolderDetails name(@jakarta.annotation.Nonnull String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Full name of the account holder.
+ *
+ * @return name
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getName() {
+ return name;
+ }
+
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setName(@jakarta.annotation.Nonnull String name) {
+ this.name = name;
+ }
+
+ public AccountHolderDetails city(@jakarta.annotation.Nullable String city) {
+ this.city = city;
+ return this;
+ }
+
+ /**
+ * Get city
+ *
+ * @return city
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_CITY)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getCity() {
+ return city;
+ }
+
+ @JsonProperty(JSON_PROPERTY_CITY)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setCity(@jakarta.annotation.Nullable String city) {
+ this.city = city;
+ }
+
+ public AccountHolderDetails country(@jakarta.annotation.Nullable String country) {
+ this.country = country;
+ return this;
+ }
+
+ /**
+ * Country code, as specified in ISO 3166-1 alpha-2.
+ *
+ * @return country
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_COUNTRY)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getCountry() {
+ return country;
+ }
+
+ @JsonProperty(JSON_PROPERTY_COUNTRY)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setCountry(@jakarta.annotation.Nullable String country) {
+ this.country = country;
+ }
+
+ public AccountHolderDetails subdivision(@jakarta.annotation.Nullable String subdivision) {
+ this.subdivision = subdivision;
+ return this;
+ }
+
+ /**
+ * Country administrative subdivision, as specified in ISO 3166-2.
+ *
+ * @return subdivision
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SUBDIVISION)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getSubdivision() {
+ return subdivision;
+ }
+
+ @JsonProperty(JSON_PROPERTY_SUBDIVISION)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setSubdivision(@jakarta.annotation.Nullable String subdivision) {
+ this.subdivision = subdivision;
+ }
+
+ public AccountHolderDetails address(@jakarta.annotation.Nullable String address) {
+ this.address = address;
+ return this;
+ }
+
+ /**
+ * Account holder street address.
+ *
+ * @return address
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ADDRESS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getAddress() {
+ return address;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ADDRESS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setAddress(@jakarta.annotation.Nullable String address) {
+ this.address = address;
+ }
+
+ public AccountHolderDetails postalCode(@jakarta.annotation.Nullable String postalCode) {
+ this.postalCode = postalCode;
+ return this;
+ }
+
+ /**
+ * Get postalCode
+ *
+ * @return postalCode
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_POSTAL_CODE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getPostalCode() {
+ return postalCode;
+ }
+
+ @JsonProperty(JSON_PROPERTY_POSTAL_CODE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setPostalCode(@jakarta.annotation.Nullable String postalCode) {
+ this.postalCode = postalCode;
+ }
+
+ /** Return true if this AccountHolderDetails object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AccountHolderDetails accountHolderDetails = (AccountHolderDetails) o;
+ return Objects.equals(this.name, accountHolderDetails.name)
+ && Objects.equals(this.city, accountHolderDetails.city)
+ && Objects.equals(this.country, accountHolderDetails.country)
+ && Objects.equals(this.subdivision, accountHolderDetails.subdivision)
+ && Objects.equals(this.address, accountHolderDetails.address)
+ && Objects.equals(this.postalCode, accountHolderDetails.postalCode);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name, city, country, subdivision, address, postalCode);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AccountHolderDetails {\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" city: ").append(toIndentedString(city)).append("\n");
+ sb.append(" country: ").append(toIndentedString(country)).append("\n");
+ sb.append(" subdivision: ").append(toIndentedString(subdivision)).append("\n");
+ sb.append(" address: ").append(toIndentedString(address)).append("\n");
+ sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `name` to the URL query string
+ if (getName() != null) {
+ joiner.add(
+ String.format(
+ "%sname%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getName()))));
+ }
+
+ // add `city` to the URL query string
+ if (getCity() != null) {
+ joiner.add(
+ String.format(
+ "%scity%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getCity()))));
+ }
+
+ // add `country` to the URL query string
+ if (getCountry() != null) {
+ joiner.add(
+ String.format(
+ "%scountry%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getCountry()))));
+ }
+
+ // add `subdivision` to the URL query string
+ if (getSubdivision() != null) {
+ joiner.add(
+ String.format(
+ "%ssubdivision%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getSubdivision()))));
+ }
+
+ // add `address` to the URL query string
+ if (getAddress() != null) {
+ joiner.add(
+ String.format(
+ "%saddress%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getAddress()))));
+ }
+
+ // add `postalCode` to the URL query string
+ if (getPostalCode() != null) {
+ joiner.add(
+ String.format(
+ "%spostalCode%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getPostalCode()))));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/AccountProviderID.java b/src/main/java/com/fireblocks/sdk/model/AccountProviderID.java
new file mode 100644
index 00000000..d340e593
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/AccountProviderID.java
@@ -0,0 +1,189 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fireblocks.sdk.ApiClient;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** AccountProviderID */
+@JsonPropertyOrder({
+ AccountProviderID.JSON_PROPERTY_PROVIDER_ID,
+ AccountProviderID.JSON_PROPERTY_ACCOUNT_ID
+})
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.14.0")
+public class AccountProviderID {
+ public static final String JSON_PROPERTY_PROVIDER_ID = "providerId";
+ @jakarta.annotation.Nonnull private String providerId;
+
+ public static final String JSON_PROPERTY_ACCOUNT_ID = "accountId";
+ @jakarta.annotation.Nonnull private String accountId;
+
+ public AccountProviderID() {}
+
+ @JsonCreator
+ public AccountProviderID(
+ @JsonProperty(value = JSON_PROPERTY_PROVIDER_ID, required = true) String providerId,
+ @JsonProperty(value = JSON_PROPERTY_ACCOUNT_ID, required = true) String accountId) {
+ this.providerId = providerId;
+ this.accountId = accountId;
+ }
+
+ public AccountProviderID providerId(@jakarta.annotation.Nonnull String providerId) {
+ this.providerId = providerId;
+ return this;
+ }
+
+ /**
+ * The ID of the provider associated with the account.
+ *
+ * @return providerId
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_PROVIDER_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getProviderId() {
+ return providerId;
+ }
+
+ @JsonProperty(JSON_PROPERTY_PROVIDER_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setProviderId(@jakarta.annotation.Nonnull String providerId) {
+ this.providerId = providerId;
+ }
+
+ public AccountProviderID accountId(@jakarta.annotation.Nonnull String accountId) {
+ this.accountId = accountId;
+ return this;
+ }
+
+ /**
+ * The ID of the account associated with the provider.
+ *
+ * @return accountId
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_ACCOUNT_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getAccountId() {
+ return accountId;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ACCOUNT_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setAccountId(@jakarta.annotation.Nonnull String accountId) {
+ this.accountId = accountId;
+ }
+
+ /** Return true if this AccountProviderID object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AccountProviderID accountProviderID = (AccountProviderID) o;
+ return Objects.equals(this.providerId, accountProviderID.providerId)
+ && Objects.equals(this.accountId, accountProviderID.accountId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(providerId, accountId);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AccountProviderID {\n");
+ sb.append(" providerId: ").append(toIndentedString(providerId)).append("\n");
+ sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `providerId` to the URL query string
+ if (getProviderId() != null) {
+ joiner.add(
+ String.format(
+ "%sproviderId%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getProviderId()))));
+ }
+
+ // add `accountId` to the URL query string
+ if (getAccountId() != null) {
+ joiner.add(
+ String.format(
+ "%saccountId%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getAccountId()))));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/AccountReference.java b/src/main/java/com/fireblocks/sdk/model/AccountReference.java
new file mode 100644
index 00000000..d43facba
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/AccountReference.java
@@ -0,0 +1,337 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.MapperFeature;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
+import com.fasterxml.jackson.databind.ser.std.StdSerializer;
+import com.fireblocks.sdk.JSON;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.StringJoiner;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.14.0")
+@JsonDeserialize(using = AccountReference.AccountReferenceDeserializer.class)
+@JsonSerialize(using = AccountReference.AccountReferenceSerializer.class)
+public class AccountReference extends AbstractOpenApiSchema {
+ private static final Logger log = Logger.getLogger(AccountReference.class.getName());
+
+ public static class AccountReferenceSerializer extends StdSerializer {
+ public AccountReferenceSerializer(Class t) {
+ super(t);
+ }
+
+ public AccountReferenceSerializer() {
+ this(null);
+ }
+
+ @Override
+ public void serialize(
+ AccountReference value, JsonGenerator jgen, SerializerProvider provider)
+ throws IOException, JsonProcessingException {
+ jgen.writeObject(value.getActualInstance());
+ }
+ }
+
+ public static class AccountReferenceDeserializer extends StdDeserializer {
+ public AccountReferenceDeserializer() {
+ this(AccountReference.class);
+ }
+
+ public AccountReferenceDeserializer(Class> vc) {
+ super(vc);
+ }
+
+ @Override
+ public AccountReference deserialize(JsonParser jp, DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+ JsonNode tree = jp.readValueAsTree();
+ Object deserialized = null;
+ boolean typeCoercion = ctxt.isEnabled(MapperFeature.ALLOW_COERCION_OF_SCALARS);
+ int match = 0;
+ JsonToken token = tree.traverse(jp.getCodec()).nextToken();
+ // deserialize InternalReference
+ try {
+ boolean attemptParsing = true;
+ // ensure that we respect type coercion as set on the client ObjectMapper
+ if (InternalReference.class.equals(Integer.class)
+ || InternalReference.class.equals(Long.class)
+ || InternalReference.class.equals(Float.class)
+ || InternalReference.class.equals(Double.class)
+ || InternalReference.class.equals(Boolean.class)
+ || InternalReference.class.equals(String.class)) {
+ attemptParsing = typeCoercion;
+ if (!attemptParsing) {
+ attemptParsing |=
+ ((InternalReference.class.equals(Integer.class)
+ || InternalReference.class.equals(Long.class))
+ && token == JsonToken.VALUE_NUMBER_INT);
+ attemptParsing |=
+ ((InternalReference.class.equals(Float.class)
+ || InternalReference.class.equals(Double.class))
+ && token == JsonToken.VALUE_NUMBER_FLOAT);
+ attemptParsing |=
+ (InternalReference.class.equals(Boolean.class)
+ && (token == JsonToken.VALUE_FALSE
+ || token == JsonToken.VALUE_TRUE));
+ attemptParsing |=
+ (InternalReference.class.equals(String.class)
+ && token == JsonToken.VALUE_STRING);
+ }
+ }
+ if (attemptParsing) {
+ deserialized =
+ tree.traverse(jp.getCodec()).readValueAs(InternalReference.class);
+ // TODO: there is no validation against JSON schema constraints
+ // (min, max, enum, pattern...), this does not perform a strict JSON
+ // validation, which means the 'match' count may be higher than it should be.
+ match++;
+ log.log(Level.FINER, "Input data matches schema 'InternalReference'");
+ }
+ } catch (Exception e) {
+ // deserialization failed, continue
+ log.log(Level.FINER, "Input data does not match schema 'InternalReference'", e);
+ }
+
+ // deserialize OneTimeAddressReference
+ try {
+ boolean attemptParsing = true;
+ // ensure that we respect type coercion as set on the client ObjectMapper
+ if (OneTimeAddressReference.class.equals(Integer.class)
+ || OneTimeAddressReference.class.equals(Long.class)
+ || OneTimeAddressReference.class.equals(Float.class)
+ || OneTimeAddressReference.class.equals(Double.class)
+ || OneTimeAddressReference.class.equals(Boolean.class)
+ || OneTimeAddressReference.class.equals(String.class)) {
+ attemptParsing = typeCoercion;
+ if (!attemptParsing) {
+ attemptParsing |=
+ ((OneTimeAddressReference.class.equals(Integer.class)
+ || OneTimeAddressReference.class.equals(Long.class))
+ && token == JsonToken.VALUE_NUMBER_INT);
+ attemptParsing |=
+ ((OneTimeAddressReference.class.equals(Float.class)
+ || OneTimeAddressReference.class.equals(
+ Double.class))
+ && token == JsonToken.VALUE_NUMBER_FLOAT);
+ attemptParsing |=
+ (OneTimeAddressReference.class.equals(Boolean.class)
+ && (token == JsonToken.VALUE_FALSE
+ || token == JsonToken.VALUE_TRUE));
+ attemptParsing |=
+ (OneTimeAddressReference.class.equals(String.class)
+ && token == JsonToken.VALUE_STRING);
+ }
+ }
+ if (attemptParsing) {
+ deserialized =
+ tree.traverse(jp.getCodec()).readValueAs(OneTimeAddressReference.class);
+ // TODO: there is no validation against JSON schema constraints
+ // (min, max, enum, pattern...), this does not perform a strict JSON
+ // validation, which means the 'match' count may be higher than it should be.
+ match++;
+ log.log(Level.FINER, "Input data matches schema 'OneTimeAddressReference'");
+ }
+ } catch (Exception e) {
+ // deserialization failed, continue
+ log.log(
+ Level.FINER,
+ "Input data does not match schema 'OneTimeAddressReference'",
+ e);
+ }
+
+ if (match == 1) {
+ AccountReference ret = new AccountReference();
+ ret.setActualInstance(deserialized);
+ return ret;
+ }
+ throw new IOException(
+ String.format(
+ "Failed deserialization for AccountReference: %d classes match result,"
+ + " expected 1",
+ match));
+ }
+
+ /** Handle deserialization of the 'null' value. */
+ @Override
+ public AccountReference getNullValue(DeserializationContext ctxt)
+ throws JsonMappingException {
+ throw new JsonMappingException(ctxt.getParser(), "AccountReference cannot be null");
+ }
+ }
+
+ // store a list of schema names defined in oneOf
+ public static final Map> schemas = new HashMap<>();
+
+ public AccountReference() {
+ super("oneOf", Boolean.FALSE);
+ }
+
+ public AccountReference(InternalReference o) {
+ super("oneOf", Boolean.FALSE);
+ setActualInstance(o);
+ }
+
+ public AccountReference(OneTimeAddressReference o) {
+ super("oneOf", Boolean.FALSE);
+ setActualInstance(o);
+ }
+
+ static {
+ schemas.put("InternalReference", InternalReference.class);
+ schemas.put("OneTimeAddressReference", OneTimeAddressReference.class);
+ JSON.registerDescendants(AccountReference.class, Collections.unmodifiableMap(schemas));
+ // Initialize and register the discriminator mappings.
+ Map> mappings = new HashMap>();
+ mappings.put("EXCHANGE_ACCOUNT", InternalReference.class);
+ mappings.put("EXTERNAL_WALLET", InternalReference.class);
+ mappings.put("FIAT_ACCOUNT", InternalReference.class);
+ mappings.put("INTERNAL_WALLET", InternalReference.class);
+ mappings.put("ONE_TIME_ADDRESS", OneTimeAddressReference.class);
+ mappings.put("VAULT_ACCOUNT", InternalReference.class);
+ mappings.put("InternalReference", InternalReference.class);
+ mappings.put("OneTimeAddressReference", OneTimeAddressReference.class);
+ mappings.put("AccountReference", AccountReference.class);
+ JSON.registerDiscriminator(AccountReference.class, "type", mappings);
+ }
+
+ @Override
+ public Map> getSchemas() {
+ return AccountReference.schemas;
+ }
+
+ /**
+ * Set the instance that matches the oneOf child schema, check the instance parameter is valid
+ * against the oneOf child schemas: InternalReference, OneTimeAddressReference
+ *
+ * It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be
+ * a composed schema (allOf, anyOf, oneOf).
+ */
+ @Override
+ public void setActualInstance(Object instance) {
+ if (JSON.isInstanceOf(InternalReference.class, instance, new HashSet>())) {
+ super.setActualInstance(instance);
+ return;
+ }
+
+ if (JSON.isInstanceOf(OneTimeAddressReference.class, instance, new HashSet>())) {
+ super.setActualInstance(instance);
+ return;
+ }
+
+ throw new RuntimeException(
+ "Invalid instance type. Must be InternalReference, OneTimeAddressReference");
+ }
+
+ /**
+ * Get the actual instance, which can be the following: InternalReference,
+ * OneTimeAddressReference
+ *
+ * @return The actual instance (InternalReference, OneTimeAddressReference)
+ */
+ @Override
+ public Object getActualInstance() {
+ return super.getActualInstance();
+ }
+
+ /**
+ * Get the actual instance of `InternalReference`. If the actual instance is not
+ * `InternalReference`, the ClassCastException will be thrown.
+ *
+ * @return The actual instance of `InternalReference`
+ * @throws ClassCastException if the instance is not `InternalReference`
+ */
+ public InternalReference getInternalReference() throws ClassCastException {
+ return (InternalReference) super.getActualInstance();
+ }
+
+ /**
+ * Get the actual instance of `OneTimeAddressReference`. If the actual instance is not
+ * `OneTimeAddressReference`, the ClassCastException will be thrown.
+ *
+ * @return The actual instance of `OneTimeAddressReference`
+ * @throws ClassCastException if the instance is not `OneTimeAddressReference`
+ */
+ public OneTimeAddressReference getOneTimeAddressReference() throws ClassCastException {
+ return (OneTimeAddressReference) super.getActualInstance();
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ if (getActualInstance() instanceof InternalReference) {
+ if (getActualInstance() != null) {
+ joiner.add(
+ ((InternalReference) getActualInstance())
+ .toUrlQueryString(prefix + "one_of_0" + suffix));
+ }
+ return joiner.toString();
+ }
+ if (getActualInstance() instanceof OneTimeAddressReference) {
+ if (getActualInstance() != null) {
+ joiner.add(
+ ((OneTimeAddressReference) getActualInstance())
+ .toUrlQueryString(prefix + "one_of_1" + suffix));
+ }
+ return joiner.toString();
+ }
+ return null;
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/AssetDetailsMetadata.java b/src/main/java/com/fireblocks/sdk/model/AssetDetailsMetadata.java
index 09b82eb8..e1a1311c 100644
--- a/src/main/java/com/fireblocks/sdk/model/AssetDetailsMetadata.java
+++ b/src/main/java/com/fireblocks/sdk/model/AssetDetailsMetadata.java
@@ -31,7 +31,8 @@
AssetDetailsMetadata.JSON_PROPERTY_DEPRECATION_REFERRAL_ID,
AssetDetailsMetadata.JSON_PROPERTY_WEBSITE,
AssetDetailsMetadata.JSON_PROPERTY_MEDIA,
- AssetDetailsMetadata.JSON_PROPERTY_NOTE
+ AssetDetailsMetadata.JSON_PROPERTY_NOTE,
+ AssetDetailsMetadata.JSON_PROPERTY_FEATURES
})
@jakarta.annotation.Generated(
value = "org.openapitools.codegen.languages.JavaClientCodegen",
@@ -58,6 +59,9 @@ public class AssetDetailsMetadata {
public static final String JSON_PROPERTY_NOTE = "note";
@jakarta.annotation.Nullable private AssetNote note;
+ public static final String JSON_PROPERTY_FEATURES = "features";
+ @jakarta.annotation.Nullable private List features = new ArrayList<>();
+
public AssetDetailsMetadata() {}
@JsonCreator
@@ -241,6 +245,37 @@ public void setNote(@jakarta.annotation.Nullable AssetNote note) {
this.note = note;
}
+ public AssetDetailsMetadata features(@jakarta.annotation.Nullable List features) {
+ this.features = features;
+ return this;
+ }
+
+ public AssetDetailsMetadata addFeaturesItem(AssetFeature featuresItem) {
+ if (this.features == null) {
+ this.features = new ArrayList<>();
+ }
+ this.features.add(featuresItem);
+ return this;
+ }
+
+ /**
+ * Asset features
+ *
+ * @return features
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_FEATURES)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public List getFeatures() {
+ return features;
+ }
+
+ @JsonProperty(JSON_PROPERTY_FEATURES)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setFeatures(@jakarta.annotation.Nullable List features) {
+ this.features = features;
+ }
+
/** Return true if this AssetDetailsMetadata object is equal to o. */
@Override
public boolean equals(Object o) {
@@ -258,13 +293,14 @@ public boolean equals(Object o) {
this.deprecationReferralId, assetDetailsMetadata.deprecationReferralId)
&& Objects.equals(this.website, assetDetailsMetadata.website)
&& Objects.equals(this.media, assetDetailsMetadata.media)
- && Objects.equals(this.note, assetDetailsMetadata.note);
+ && Objects.equals(this.note, assetDetailsMetadata.note)
+ && Objects.equals(this.features, assetDetailsMetadata.features);
}
@Override
public int hashCode() {
return Objects.hash(
- scope, verified, deprecated, deprecationReferralId, website, media, note);
+ scope, verified, deprecated, deprecationReferralId, website, media, note, features);
}
@Override
@@ -280,6 +316,7 @@ public String toString() {
sb.append(" website: ").append(toIndentedString(website)).append("\n");
sb.append(" media: ").append(toIndentedString(media)).append("\n");
sb.append(" note: ").append(toIndentedString(note)).append("\n");
+ sb.append(" features: ").append(toIndentedString(features)).append("\n");
sb.append("}");
return sb.toString();
}
@@ -406,6 +443,25 @@ public String toUrlQueryString(String prefix) {
joiner.add(getNote().toUrlQueryString(prefix + "note" + suffix));
}
+ // add `features` to the URL query string
+ if (getFeatures() != null) {
+ for (int i = 0; i < getFeatures().size(); i++) {
+ if (getFeatures().get(i) != null) {
+ joiner.add(
+ String.format(
+ "%sfeatures%s%s=%s",
+ prefix,
+ suffix,
+ "".equals(suffix)
+ ? ""
+ : String.format(
+ "%s%d%s", containerPrefix, i, containerSuffix),
+ ApiClient.urlEncode(
+ ApiClient.valueToString(getFeatures().get(i)))));
+ }
+ }
+ }
+
return joiner.toString();
}
}
diff --git a/src/main/java/com/fireblocks/sdk/model/AssetFeature.java b/src/main/java/com/fireblocks/sdk/model/AssetFeature.java
new file mode 100644
index 00000000..ac789633
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/AssetFeature.java
@@ -0,0 +1,62 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/** Asset feature */
+public enum AssetFeature {
+ STABLECOIN("STABLECOIN");
+
+ private String value;
+
+ AssetFeature(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static AssetFeature fromValue(String value) {
+ for (AssetFeature b : AssetFeature.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ if (prefix == null) {
+ prefix = "";
+ }
+
+ return String.format("%s=%s", prefix, this.toString());
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/BaseProvider.java b/src/main/java/com/fireblocks/sdk/model/BaseProvider.java
new file mode 100644
index 00000000..13511bdb
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/BaseProvider.java
@@ -0,0 +1,268 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fireblocks.sdk.ApiClient;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** BaseProvider */
+@JsonPropertyOrder({
+ BaseProvider.JSON_PROPERTY_ID,
+ BaseProvider.JSON_PROPERTY_NAME,
+ BaseProvider.JSON_PROPERTY_LOGO,
+ BaseProvider.JSON_PROPERTY_ACCOUNT_BASED
+})
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.14.0")
+public class BaseProvider {
+ public static final String JSON_PROPERTY_ID = "id";
+ @jakarta.annotation.Nonnull private String id;
+
+ public static final String JSON_PROPERTY_NAME = "name";
+ @jakarta.annotation.Nonnull private String name;
+
+ public static final String JSON_PROPERTY_LOGO = "logo";
+ @jakarta.annotation.Nullable private String logo;
+
+ public static final String JSON_PROPERTY_ACCOUNT_BASED = "accountBased";
+ @jakarta.annotation.Nonnull private Boolean accountBased;
+
+ public BaseProvider() {}
+
+ @JsonCreator
+ public BaseProvider(
+ @JsonProperty(value = JSON_PROPERTY_ID, required = true) String id,
+ @JsonProperty(value = JSON_PROPERTY_NAME, required = true) String name,
+ @JsonProperty(value = JSON_PROPERTY_ACCOUNT_BASED, required = true)
+ Boolean accountBased) {
+ this.id = id;
+ this.name = name;
+ this.accountBased = accountBased;
+ }
+
+ public BaseProvider id(@jakarta.annotation.Nonnull String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Unique identifier for the provider
+ *
+ * @return id
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getId() {
+ return id;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setId(@jakarta.annotation.Nonnull String id) {
+ this.id = id;
+ }
+
+ public BaseProvider name(@jakarta.annotation.Nonnull String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Display name of the provider
+ *
+ * @return name
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getName() {
+ return name;
+ }
+
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setName(@jakarta.annotation.Nonnull String name) {
+ this.name = name;
+ }
+
+ public BaseProvider logo(@jakarta.annotation.Nullable String logo) {
+ this.logo = logo;
+ return this;
+ }
+
+ /**
+ * URL to the logo image of the provider
+ *
+ * @return logo
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_LOGO)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getLogo() {
+ return logo;
+ }
+
+ @JsonProperty(JSON_PROPERTY_LOGO)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setLogo(@jakarta.annotation.Nullable String logo) {
+ this.logo = logo;
+ }
+
+ public BaseProvider accountBased(@jakarta.annotation.Nonnull Boolean accountBased) {
+ this.accountBased = accountBased;
+ return this;
+ }
+
+ /**
+ * Indicates whether the provider access model is through accounts or directly
+ *
+ * @return accountBased
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_ACCOUNT_BASED)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Boolean getAccountBased() {
+ return accountBased;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ACCOUNT_BASED)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setAccountBased(@jakarta.annotation.Nonnull Boolean accountBased) {
+ this.accountBased = accountBased;
+ }
+
+ /** Return true if this BaseProvider object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ BaseProvider baseProvider = (BaseProvider) o;
+ return Objects.equals(this.id, baseProvider.id)
+ && Objects.equals(this.name, baseProvider.name)
+ && Objects.equals(this.logo, baseProvider.logo)
+ && Objects.equals(this.accountBased, baseProvider.accountBased);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(id, name, logo, accountBased);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class BaseProvider {\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" logo: ").append(toIndentedString(logo)).append("\n");
+ sb.append(" accountBased: ").append(toIndentedString(accountBased)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `id` to the URL query string
+ if (getId() != null) {
+ joiner.add(
+ String.format(
+ "%sid%s=%s",
+ prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId()))));
+ }
+
+ // add `name` to the URL query string
+ if (getName() != null) {
+ joiner.add(
+ String.format(
+ "%sname%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getName()))));
+ }
+
+ // add `logo` to the URL query string
+ if (getLogo() != null) {
+ joiner.add(
+ String.format(
+ "%slogo%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getLogo()))));
+ }
+
+ // add `accountBased` to the URL query string
+ if (getAccountBased() != null) {
+ joiner.add(
+ String.format(
+ "%saccountBased%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getAccountBased()))));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/SwapOperationRequest.java b/src/main/java/com/fireblocks/sdk/model/BlockchainTransfer.java
similarity index 52%
rename from src/main/java/com/fireblocks/sdk/model/SwapOperationRequest.java
rename to src/main/java/com/fireblocks/sdk/model/BlockchainTransfer.java
index c2ec0779..e408f50b 100644
--- a/src/main/java/com/fireblocks/sdk/model/SwapOperationRequest.java
+++ b/src/main/java/com/fireblocks/sdk/model/BlockchainTransfer.java
@@ -21,32 +21,24 @@
import com.fireblocks.sdk.ApiClient;
import java.util.Objects;
import java.util.StringJoiner;
-import java.util.UUID;
-/** SwapOperationRequest */
+/** BlockchainTransfer */
@JsonPropertyOrder({
- SwapOperationRequest.JSON_PROPERTY_PROVIDER_QUOTE_ID,
- SwapOperationRequest.JSON_PROPERTY_FEE_LEVEL,
- SwapOperationRequest.JSON_PROPERTY_TX_NOTE
+ BlockchainTransfer.JSON_PROPERTY_TYPE,
+ BlockchainTransfer.JSON_PROPERTY_TX_HASH,
+ BlockchainTransfer.JSON_PROPERTY_AMOUNT
})
@jakarta.annotation.Generated(
value = "org.openapitools.codegen.languages.JavaClientCodegen",
comments = "Generator version: 7.14.0")
-public class SwapOperationRequest {
- public static final String JSON_PROPERTY_PROVIDER_QUOTE_ID = "providerQuoteId";
- @jakarta.annotation.Nonnull private UUID providerQuoteId;
-
- /** The fee level of the transaction */
- public enum FeeLevelEnum {
- LOW(String.valueOf("LOW")),
-
- MEDIUM(String.valueOf("MEDIUM")),
-
- HIGH(String.valueOf("HIGH"));
+public class BlockchainTransfer {
+ /** Gets or Sets type */
+ public enum TypeEnum {
+ BLOCKCHAIN(String.valueOf("BLOCKCHAIN"));
private String value;
- FeeLevelEnum(String value) {
+ TypeEnum(String value) {
this.value = value;
}
@@ -61,8 +53,8 @@ public String toString() {
}
@JsonCreator
- public static FeeLevelEnum fromValue(String value) {
- for (FeeLevelEnum b : FeeLevelEnum.values()) {
+ public static TypeEnum fromValue(String value) {
+ for (TypeEnum b : TypeEnum.values()) {
if (b.value.equals(value)) {
return b;
}
@@ -71,91 +63,93 @@ public static FeeLevelEnum fromValue(String value) {
}
}
- public static final String JSON_PROPERTY_FEE_LEVEL = "feeLevel";
- @jakarta.annotation.Nullable private FeeLevelEnum feeLevel;
+ public static final String JSON_PROPERTY_TYPE = "type";
+ @jakarta.annotation.Nullable private TypeEnum type;
+
+ public static final String JSON_PROPERTY_TX_HASH = "txHash";
+ @jakarta.annotation.Nullable private String txHash;
- public static final String JSON_PROPERTY_TX_NOTE = "txNote";
- @jakarta.annotation.Nullable private String txNote;
+ public static final String JSON_PROPERTY_AMOUNT = "amount";
+ @jakarta.annotation.Nonnull private String amount;
- public SwapOperationRequest() {}
+ public BlockchainTransfer() {}
@JsonCreator
- public SwapOperationRequest(
- @JsonProperty(value = JSON_PROPERTY_PROVIDER_QUOTE_ID, required = true)
- UUID providerQuoteId) {
- this.providerQuoteId = providerQuoteId;
+ public BlockchainTransfer(
+ @JsonProperty(value = JSON_PROPERTY_AMOUNT, required = true) String amount) {
+ this.amount = amount;
}
- public SwapOperationRequest providerQuoteId(@jakarta.annotation.Nonnull UUID providerQuoteId) {
- this.providerQuoteId = providerQuoteId;
+ public BlockchainTransfer type(@jakarta.annotation.Nullable TypeEnum type) {
+ this.type = type;
return this;
}
/**
- * An identifier that uniquely identifies the received quote
+ * Get type
*
- * @return providerQuoteId
+ * @return type
*/
- @jakarta.annotation.Nonnull
- @JsonProperty(JSON_PROPERTY_PROVIDER_QUOTE_ID)
- @JsonInclude(value = JsonInclude.Include.ALWAYS)
- public UUID getProviderQuoteId() {
- return providerQuoteId;
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public TypeEnum getType() {
+ return type;
}
- @JsonProperty(JSON_PROPERTY_PROVIDER_QUOTE_ID)
- @JsonInclude(value = JsonInclude.Include.ALWAYS)
- public void setProviderQuoteId(@jakarta.annotation.Nonnull UUID providerQuoteId) {
- this.providerQuoteId = providerQuoteId;
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setType(@jakarta.annotation.Nullable TypeEnum type) {
+ this.type = type;
}
- public SwapOperationRequest feeLevel(@jakarta.annotation.Nullable FeeLevelEnum feeLevel) {
- this.feeLevel = feeLevel;
+ public BlockchainTransfer txHash(@jakarta.annotation.Nullable String txHash) {
+ this.txHash = txHash;
return this;
}
/**
- * The fee level of the transaction
+ * The hash of the transaction on the blockchain.
*
- * @return feeLevel
+ * @return txHash
*/
@jakarta.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_FEE_LEVEL)
+ @JsonProperty(JSON_PROPERTY_TX_HASH)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public FeeLevelEnum getFeeLevel() {
- return feeLevel;
+ public String getTxHash() {
+ return txHash;
}
- @JsonProperty(JSON_PROPERTY_FEE_LEVEL)
+ @JsonProperty(JSON_PROPERTY_TX_HASH)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setFeeLevel(@jakarta.annotation.Nullable FeeLevelEnum feeLevel) {
- this.feeLevel = feeLevel;
+ public void setTxHash(@jakarta.annotation.Nullable String txHash) {
+ this.txHash = txHash;
}
- public SwapOperationRequest txNote(@jakarta.annotation.Nullable String txNote) {
- this.txNote = txNote;
+ public BlockchainTransfer amount(@jakarta.annotation.Nonnull String amount) {
+ this.amount = amount;
return this;
}
/**
- * user note on the transaction
+ * The amount of the transaction.
*
- * @return txNote
+ * @return amount
*/
- @jakarta.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_TX_NOTE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public String getTxNote() {
- return txNote;
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getAmount() {
+ return amount;
}
- @JsonProperty(JSON_PROPERTY_TX_NOTE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setTxNote(@jakarta.annotation.Nullable String txNote) {
- this.txNote = txNote;
+ @JsonProperty(JSON_PROPERTY_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setAmount(@jakarta.annotation.Nonnull String amount) {
+ this.amount = amount;
}
- /** Return true if this SwapOperationRequest object is equal to o. */
+ /** Return true if this BlockchainTransfer object is equal to o. */
@Override
public boolean equals(Object o) {
if (this == o) {
@@ -164,24 +158,24 @@ public boolean equals(Object o) {
if (o == null || getClass() != o.getClass()) {
return false;
}
- SwapOperationRequest swapOperationRequest = (SwapOperationRequest) o;
- return Objects.equals(this.providerQuoteId, swapOperationRequest.providerQuoteId)
- && Objects.equals(this.feeLevel, swapOperationRequest.feeLevel)
- && Objects.equals(this.txNote, swapOperationRequest.txNote);
+ BlockchainTransfer blockchainTransfer = (BlockchainTransfer) o;
+ return Objects.equals(this.type, blockchainTransfer.type)
+ && Objects.equals(this.txHash, blockchainTransfer.txHash)
+ && Objects.equals(this.amount, blockchainTransfer.amount);
}
@Override
public int hashCode() {
- return Objects.hash(providerQuoteId, feeLevel, txNote);
+ return Objects.hash(type, txHash, amount);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
- sb.append("class SwapOperationRequest {\n");
- sb.append(" providerQuoteId: ").append(toIndentedString(providerQuoteId)).append("\n");
- sb.append(" feeLevel: ").append(toIndentedString(feeLevel)).append("\n");
- sb.append(" txNote: ").append(toIndentedString(txNote)).append("\n");
+ sb.append("class BlockchainTransfer {\n");
+ sb.append(" type: ").append(toIndentedString(type)).append("\n");
+ sb.append(" txHash: ").append(toIndentedString(txHash)).append("\n");
+ sb.append(" amount: ").append(toIndentedString(amount)).append("\n");
sb.append("}");
return sb.toString();
}
@@ -229,34 +223,34 @@ public String toUrlQueryString(String prefix) {
StringJoiner joiner = new StringJoiner("&");
- // add `providerQuoteId` to the URL query string
- if (getProviderQuoteId() != null) {
+ // add `type` to the URL query string
+ if (getType() != null) {
joiner.add(
String.format(
- "%sproviderQuoteId%s=%s",
+ "%stype%s=%s",
prefix,
suffix,
- ApiClient.urlEncode(ApiClient.valueToString(getProviderQuoteId()))));
+ ApiClient.urlEncode(ApiClient.valueToString(getType()))));
}
- // add `feeLevel` to the URL query string
- if (getFeeLevel() != null) {
+ // add `txHash` to the URL query string
+ if (getTxHash() != null) {
joiner.add(
String.format(
- "%sfeeLevel%s=%s",
+ "%stxHash%s=%s",
prefix,
suffix,
- ApiClient.urlEncode(ApiClient.valueToString(getFeeLevel()))));
+ ApiClient.urlEncode(ApiClient.valueToString(getTxHash()))));
}
- // add `txNote` to the URL query string
- if (getTxNote() != null) {
+ // add `amount` to the URL query string
+ if (getAmount() != null) {
joiner.add(
String.format(
- "%stxNote%s=%s",
+ "%samount%s=%s",
prefix,
suffix,
- ApiClient.urlEncode(ApiClient.valueToString(getTxNote()))));
+ ApiClient.urlEncode(ApiClient.valueToString(getAmount()))));
}
return joiner.toString();
diff --git a/src/main/java/com/fireblocks/sdk/model/BpsFee.java b/src/main/java/com/fireblocks/sdk/model/BpsFee.java
new file mode 100644
index 00000000..38743066
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/BpsFee.java
@@ -0,0 +1,220 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonValue;
+import com.fireblocks.sdk.ApiClient;
+import java.math.BigDecimal;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** BpsFee */
+@JsonPropertyOrder({BpsFee.JSON_PROPERTY_AMOUNT_TYPE, BpsFee.JSON_PROPERTY_AMOUNT})
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.14.0")
+public class BpsFee {
+ /** Gets or Sets amountType */
+ public enum AmountTypeEnum {
+ BPS(String.valueOf("BPS"));
+
+ private String value;
+
+ AmountTypeEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static AmountTypeEnum fromValue(String value) {
+ for (AmountTypeEnum b : AmountTypeEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+ }
+
+ public static final String JSON_PROPERTY_AMOUNT_TYPE = "amountType";
+ @jakarta.annotation.Nonnull private AmountTypeEnum amountType;
+
+ public static final String JSON_PROPERTY_AMOUNT = "amount";
+ @jakarta.annotation.Nonnull private BigDecimal amount;
+
+ public BpsFee() {}
+
+ @JsonCreator
+ public BpsFee(
+ @JsonProperty(value = JSON_PROPERTY_AMOUNT_TYPE, required = true)
+ AmountTypeEnum amountType,
+ @JsonProperty(value = JSON_PROPERTY_AMOUNT, required = true) BigDecimal amount) {
+ this.amountType = amountType;
+ this.amount = amount;
+ }
+
+ public BpsFee amountType(@jakarta.annotation.Nonnull AmountTypeEnum amountType) {
+ this.amountType = amountType;
+ return this;
+ }
+
+ /**
+ * Get amountType
+ *
+ * @return amountType
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_AMOUNT_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public AmountTypeEnum getAmountType() {
+ return amountType;
+ }
+
+ @JsonProperty(JSON_PROPERTY_AMOUNT_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setAmountType(@jakarta.annotation.Nonnull AmountTypeEnum amountType) {
+ this.amountType = amountType;
+ }
+
+ public BpsFee amount(@jakarta.annotation.Nonnull BigDecimal amount) {
+ this.amount = amount;
+ return this;
+ }
+
+ /**
+ * Fee in basis points (1 = 0.01%, 10000 = 100%) minimum: 0 maximum: 10000
+ *
+ * @return amount
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public BigDecimal getAmount() {
+ return amount;
+ }
+
+ @JsonProperty(JSON_PROPERTY_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setAmount(@jakarta.annotation.Nonnull BigDecimal amount) {
+ this.amount = amount;
+ }
+
+ /** Return true if this BpsFee object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ BpsFee bpsFee = (BpsFee) o;
+ return Objects.equals(this.amountType, bpsFee.amountType)
+ && Objects.equals(this.amount, bpsFee.amount);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(amountType, amount);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class BpsFee {\n");
+ sb.append(" amountType: ").append(toIndentedString(amountType)).append("\n");
+ sb.append(" amount: ").append(toIndentedString(amount)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `amountType` to the URL query string
+ if (getAmountType() != null) {
+ joiner.add(
+ String.format(
+ "%samountType%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getAmountType()))));
+ }
+
+ // add `amount` to the URL query string
+ if (getAmount() != null) {
+ joiner.add(
+ String.format(
+ "%samount%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getAmount()))));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/BusinessIdentification.java b/src/main/java/com/fireblocks/sdk/model/BusinessIdentification.java
new file mode 100644
index 00000000..f773d609
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/BusinessIdentification.java
@@ -0,0 +1,409 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonValue;
+import com.fireblocks.sdk.ApiClient;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** BusinessIdentification */
+@JsonPropertyOrder({
+ BusinessIdentification.JSON_PROPERTY_EXTERNAL_REFERENCE_ID,
+ BusinessIdentification.JSON_PROPERTY_ENTITY_TYPE,
+ BusinessIdentification.JSON_PROPERTY_PARTICIPANT_RELATIONSHIP_TYPE,
+ BusinessIdentification.JSON_PROPERTY_BUSINESS_NAME,
+ BusinessIdentification.JSON_PROPERTY_REGISTRATION_NUMBER,
+ BusinessIdentification.JSON_PROPERTY_POSTAL_ADDRESS
+})
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.14.0")
+public class BusinessIdentification {
+ public static final String JSON_PROPERTY_EXTERNAL_REFERENCE_ID = "externalReferenceId";
+ @jakarta.annotation.Nonnull private String externalReferenceId;
+
+ /** Gets or Sets entityType */
+ public enum EntityTypeEnum {
+ BUSINESS(String.valueOf("BUSINESS"));
+
+ private String value;
+
+ EntityTypeEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static EntityTypeEnum fromValue(String value) {
+ for (EntityTypeEnum b : EntityTypeEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+ }
+
+ public static final String JSON_PROPERTY_ENTITY_TYPE = "entityType";
+ @jakarta.annotation.Nonnull private EntityTypeEnum entityType;
+
+ public static final String JSON_PROPERTY_PARTICIPANT_RELATIONSHIP_TYPE =
+ "participantRelationshipType";
+ @jakarta.annotation.Nonnull private ParticipantRelationshipType participantRelationshipType;
+
+ public static final String JSON_PROPERTY_BUSINESS_NAME = "businessName";
+ @jakarta.annotation.Nonnull private String businessName;
+
+ public static final String JSON_PROPERTY_REGISTRATION_NUMBER = "registrationNumber";
+ @jakarta.annotation.Nonnull private String registrationNumber;
+
+ public static final String JSON_PROPERTY_POSTAL_ADDRESS = "postalAddress";
+ @jakarta.annotation.Nonnull private PostalAddress postalAddress;
+
+ public BusinessIdentification() {}
+
+ @JsonCreator
+ public BusinessIdentification(
+ @JsonProperty(value = JSON_PROPERTY_EXTERNAL_REFERENCE_ID, required = true)
+ String externalReferenceId,
+ @JsonProperty(value = JSON_PROPERTY_ENTITY_TYPE, required = true)
+ EntityTypeEnum entityType,
+ @JsonProperty(value = JSON_PROPERTY_PARTICIPANT_RELATIONSHIP_TYPE, required = true)
+ ParticipantRelationshipType participantRelationshipType,
+ @JsonProperty(value = JSON_PROPERTY_BUSINESS_NAME, required = true) String businessName,
+ @JsonProperty(value = JSON_PROPERTY_REGISTRATION_NUMBER, required = true)
+ String registrationNumber,
+ @JsonProperty(value = JSON_PROPERTY_POSTAL_ADDRESS, required = true)
+ PostalAddress postalAddress) {
+ this.externalReferenceId = externalReferenceId;
+ this.entityType = entityType;
+ this.participantRelationshipType = participantRelationshipType;
+ this.businessName = businessName;
+ this.registrationNumber = registrationNumber;
+ this.postalAddress = postalAddress;
+ }
+
+ public BusinessIdentification externalReferenceId(
+ @jakarta.annotation.Nonnull String externalReferenceId) {
+ this.externalReferenceId = externalReferenceId;
+ return this;
+ }
+
+ /**
+ * Get externalReferenceId
+ *
+ * @return externalReferenceId
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_EXTERNAL_REFERENCE_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getExternalReferenceId() {
+ return externalReferenceId;
+ }
+
+ @JsonProperty(JSON_PROPERTY_EXTERNAL_REFERENCE_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setExternalReferenceId(@jakarta.annotation.Nonnull String externalReferenceId) {
+ this.externalReferenceId = externalReferenceId;
+ }
+
+ public BusinessIdentification entityType(
+ @jakarta.annotation.Nonnull EntityTypeEnum entityType) {
+ this.entityType = entityType;
+ return this;
+ }
+
+ /**
+ * Get entityType
+ *
+ * @return entityType
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_ENTITY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public EntityTypeEnum getEntityType() {
+ return entityType;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ENTITY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setEntityType(@jakarta.annotation.Nonnull EntityTypeEnum entityType) {
+ this.entityType = entityType;
+ }
+
+ public BusinessIdentification participantRelationshipType(
+ @jakarta.annotation.Nonnull ParticipantRelationshipType participantRelationshipType) {
+ this.participantRelationshipType = participantRelationshipType;
+ return this;
+ }
+
+ /**
+ * Get participantRelationshipType
+ *
+ * @return participantRelationshipType
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_PARTICIPANT_RELATIONSHIP_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public ParticipantRelationshipType getParticipantRelationshipType() {
+ return participantRelationshipType;
+ }
+
+ @JsonProperty(JSON_PROPERTY_PARTICIPANT_RELATIONSHIP_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setParticipantRelationshipType(
+ @jakarta.annotation.Nonnull ParticipantRelationshipType participantRelationshipType) {
+ this.participantRelationshipType = participantRelationshipType;
+ }
+
+ public BusinessIdentification businessName(@jakarta.annotation.Nonnull String businessName) {
+ this.businessName = businessName;
+ return this;
+ }
+
+ /**
+ * Get businessName
+ *
+ * @return businessName
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_BUSINESS_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getBusinessName() {
+ return businessName;
+ }
+
+ @JsonProperty(JSON_PROPERTY_BUSINESS_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setBusinessName(@jakarta.annotation.Nonnull String businessName) {
+ this.businessName = businessName;
+ }
+
+ public BusinessIdentification registrationNumber(
+ @jakarta.annotation.Nonnull String registrationNumber) {
+ this.registrationNumber = registrationNumber;
+ return this;
+ }
+
+ /**
+ * Get registrationNumber
+ *
+ * @return registrationNumber
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_REGISTRATION_NUMBER)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getRegistrationNumber() {
+ return registrationNumber;
+ }
+
+ @JsonProperty(JSON_PROPERTY_REGISTRATION_NUMBER)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setRegistrationNumber(@jakarta.annotation.Nonnull String registrationNumber) {
+ this.registrationNumber = registrationNumber;
+ }
+
+ public BusinessIdentification postalAddress(
+ @jakarta.annotation.Nonnull PostalAddress postalAddress) {
+ this.postalAddress = postalAddress;
+ return this;
+ }
+
+ /**
+ * Get postalAddress
+ *
+ * @return postalAddress
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_POSTAL_ADDRESS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public PostalAddress getPostalAddress() {
+ return postalAddress;
+ }
+
+ @JsonProperty(JSON_PROPERTY_POSTAL_ADDRESS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setPostalAddress(@jakarta.annotation.Nonnull PostalAddress postalAddress) {
+ this.postalAddress = postalAddress;
+ }
+
+ /** Return true if this BusinessIdentification object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ BusinessIdentification businessIdentification = (BusinessIdentification) o;
+ return Objects.equals(this.externalReferenceId, businessIdentification.externalReferenceId)
+ && Objects.equals(this.entityType, businessIdentification.entityType)
+ && Objects.equals(
+ this.participantRelationshipType,
+ businessIdentification.participantRelationshipType)
+ && Objects.equals(this.businessName, businessIdentification.businessName)
+ && Objects.equals(
+ this.registrationNumber, businessIdentification.registrationNumber)
+ && Objects.equals(this.postalAddress, businessIdentification.postalAddress);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ externalReferenceId,
+ entityType,
+ participantRelationshipType,
+ businessName,
+ registrationNumber,
+ postalAddress);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class BusinessIdentification {\n");
+ sb.append(" externalReferenceId: ")
+ .append(toIndentedString(externalReferenceId))
+ .append("\n");
+ sb.append(" entityType: ").append(toIndentedString(entityType)).append("\n");
+ sb.append(" participantRelationshipType: ")
+ .append(toIndentedString(participantRelationshipType))
+ .append("\n");
+ sb.append(" businessName: ").append(toIndentedString(businessName)).append("\n");
+ sb.append(" registrationNumber: ")
+ .append(toIndentedString(registrationNumber))
+ .append("\n");
+ sb.append(" postalAddress: ").append(toIndentedString(postalAddress)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `externalReferenceId` to the URL query string
+ if (getExternalReferenceId() != null) {
+ joiner.add(
+ String.format(
+ "%sexternalReferenceId%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(
+ ApiClient.valueToString(getExternalReferenceId()))));
+ }
+
+ // add `entityType` to the URL query string
+ if (getEntityType() != null) {
+ joiner.add(
+ String.format(
+ "%sentityType%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getEntityType()))));
+ }
+
+ // add `participantRelationshipType` to the URL query string
+ if (getParticipantRelationshipType() != null) {
+ joiner.add(
+ String.format(
+ "%sparticipantRelationshipType%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(
+ ApiClient.valueToString(getParticipantRelationshipType()))));
+ }
+
+ // add `businessName` to the URL query string
+ if (getBusinessName() != null) {
+ joiner.add(
+ String.format(
+ "%sbusinessName%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getBusinessName()))));
+ }
+
+ // add `registrationNumber` to the URL query string
+ if (getRegistrationNumber() != null) {
+ joiner.add(
+ String.format(
+ "%sregistrationNumber%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getRegistrationNumber()))));
+ }
+
+ // add `postalAddress` to the URL query string
+ if (getPostalAddress() != null) {
+ joiner.add(getPostalAddress().toUrlQueryString(prefix + "postalAddress" + suffix));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/Capability.java b/src/main/java/com/fireblocks/sdk/model/Capability.java
new file mode 100644
index 00000000..a515b093
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/Capability.java
@@ -0,0 +1,66 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/** Gets or Sets Capability */
+public enum Capability {
+ WITHDRAWALS("WITHDRAWALS"),
+
+ DEPOSITS("DEPOSITS"),
+
+ TRADING("TRADING");
+
+ private String value;
+
+ Capability(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static Capability fromValue(String value) {
+ for (Capability b : Capability.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ if (prefix == null) {
+ prefix = "";
+ }
+
+ return String.format("%s=%s", prefix, this.toString());
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/CommittedQuoteType.java b/src/main/java/com/fireblocks/sdk/model/CommittedQuoteType.java
new file mode 100644
index 00000000..b4acda06
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/CommittedQuoteType.java
@@ -0,0 +1,223 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonValue;
+import com.fireblocks.sdk.ApiClient;
+import java.time.OffsetDateTime;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** CommittedQuoteType */
+@JsonPropertyOrder({
+ CommittedQuoteType.JSON_PROPERTY_TYPE,
+ CommittedQuoteType.JSON_PROPERTY_EXPIRES_AT
+})
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.14.0")
+public class CommittedQuoteType {
+ /** Indicates this is a committed quote */
+ public enum TypeEnum {
+ COMMITTED(String.valueOf("COMMITTED"));
+
+ private String value;
+
+ TypeEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static TypeEnum fromValue(String value) {
+ for (TypeEnum b : TypeEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+ }
+
+ public static final String JSON_PROPERTY_TYPE = "type";
+ @jakarta.annotation.Nonnull private TypeEnum type;
+
+ public static final String JSON_PROPERTY_EXPIRES_AT = "expiresAt";
+ @jakarta.annotation.Nonnull private OffsetDateTime expiresAt;
+
+ public CommittedQuoteType() {}
+
+ @JsonCreator
+ public CommittedQuoteType(
+ @JsonProperty(value = JSON_PROPERTY_TYPE, required = true) TypeEnum type,
+ @JsonProperty(value = JSON_PROPERTY_EXPIRES_AT, required = true)
+ OffsetDateTime expiresAt) {
+ this.type = type;
+ this.expiresAt = expiresAt;
+ }
+
+ public CommittedQuoteType type(@jakarta.annotation.Nonnull TypeEnum type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Indicates this is a committed quote
+ *
+ * @return type
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public TypeEnum getType() {
+ return type;
+ }
+
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setType(@jakarta.annotation.Nonnull TypeEnum type) {
+ this.type = type;
+ }
+
+ public CommittedQuoteType expiresAt(@jakarta.annotation.Nonnull OffsetDateTime expiresAt) {
+ this.expiresAt = expiresAt;
+ return this;
+ }
+
+ /**
+ * ISO 8601 timestamp of the expiration time of the quote.
+ *
+ * @return expiresAt
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_EXPIRES_AT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public OffsetDateTime getExpiresAt() {
+ return expiresAt;
+ }
+
+ @JsonProperty(JSON_PROPERTY_EXPIRES_AT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setExpiresAt(@jakarta.annotation.Nonnull OffsetDateTime expiresAt) {
+ this.expiresAt = expiresAt;
+ }
+
+ /** Return true if this CommittedQuoteType object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ CommittedQuoteType committedQuoteType = (CommittedQuoteType) o;
+ return Objects.equals(this.type, committedQuoteType.type)
+ && Objects.equals(this.expiresAt, committedQuoteType.expiresAt);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(type, expiresAt);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class CommittedQuoteType {\n");
+ sb.append(" type: ").append(toIndentedString(type)).append("\n");
+ sb.append(" expiresAt: ").append(toIndentedString(expiresAt)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `type` to the URL query string
+ if (getType() != null) {
+ joiner.add(
+ String.format(
+ "%stype%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getType()))));
+ }
+
+ // add `expiresAt` to the URL query string
+ if (getExpiresAt() != null) {
+ joiner.add(
+ String.format(
+ "%sexpiresAt%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getExpiresAt()))));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/ConnectedAccount.java b/src/main/java/com/fireblocks/sdk/model/ConnectedAccount.java
new file mode 100644
index 00000000..fbc8fb4b
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/ConnectedAccount.java
@@ -0,0 +1,387 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fireblocks.sdk.ApiClient;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** ConnectedAccount */
+@JsonPropertyOrder({
+ ConnectedAccount.JSON_PROPERTY_ID,
+ ConnectedAccount.JSON_PROPERTY_NAME,
+ ConnectedAccount.JSON_PROPERTY_PROVIDER_ID,
+ ConnectedAccount.JSON_PROPERTY_STATUS,
+ ConnectedAccount.JSON_PROPERTY_TOTAL_BALANCE,
+ ConnectedAccount.JSON_PROPERTY_MANIFEST,
+ ConnectedAccount.JSON_PROPERTY_PARENT_ID
+})
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.14.0")
+public class ConnectedAccount {
+ public static final String JSON_PROPERTY_ID = "id";
+ @jakarta.annotation.Nonnull private String id;
+
+ public static final String JSON_PROPERTY_NAME = "name";
+ @jakarta.annotation.Nonnull private String name;
+
+ public static final String JSON_PROPERTY_PROVIDER_ID = "providerId";
+ @jakarta.annotation.Nonnull private String providerId;
+
+ public static final String JSON_PROPERTY_STATUS = "status";
+ @jakarta.annotation.Nonnull private ConnectedAccountApprovalStatus status;
+
+ public static final String JSON_PROPERTY_TOTAL_BALANCE = "totalBalance";
+ @jakarta.annotation.Nonnull private ConnectedAccountTotalBalance totalBalance;
+
+ public static final String JSON_PROPERTY_MANIFEST = "manifest";
+ @jakarta.annotation.Nonnull private ConnectedAccountManifest manifest;
+
+ public static final String JSON_PROPERTY_PARENT_ID = "parentId";
+ @jakarta.annotation.Nullable private String parentId;
+
+ public ConnectedAccount() {}
+
+ @JsonCreator
+ public ConnectedAccount(
+ @JsonProperty(value = JSON_PROPERTY_ID, required = true) String id,
+ @JsonProperty(value = JSON_PROPERTY_NAME, required = true) String name,
+ @JsonProperty(value = JSON_PROPERTY_PROVIDER_ID, required = true) String providerId,
+ @JsonProperty(value = JSON_PROPERTY_STATUS, required = true)
+ ConnectedAccountApprovalStatus status,
+ @JsonProperty(value = JSON_PROPERTY_TOTAL_BALANCE, required = true)
+ ConnectedAccountTotalBalance totalBalance,
+ @JsonProperty(value = JSON_PROPERTY_MANIFEST, required = true)
+ ConnectedAccountManifest manifest) {
+ this.id = id;
+ this.name = name;
+ this.providerId = providerId;
+ this.status = status;
+ this.totalBalance = totalBalance;
+ this.manifest = manifest;
+ }
+
+ public ConnectedAccount id(@jakarta.annotation.Nonnull String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Unique identifier of the connected account.
+ *
+ * @return id
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getId() {
+ return id;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setId(@jakarta.annotation.Nonnull String id) {
+ this.id = id;
+ }
+
+ public ConnectedAccount name(@jakarta.annotation.Nonnull String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Human-readable name of the connected account.
+ *
+ * @return name
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getName() {
+ return name;
+ }
+
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setName(@jakarta.annotation.Nonnull String name) {
+ this.name = name;
+ }
+
+ public ConnectedAccount providerId(@jakarta.annotation.Nonnull String providerId) {
+ this.providerId = providerId;
+ return this;
+ }
+
+ /**
+ * The ID of the venue the account belongs to.
+ *
+ * @return providerId
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_PROVIDER_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getProviderId() {
+ return providerId;
+ }
+
+ @JsonProperty(JSON_PROPERTY_PROVIDER_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setProviderId(@jakarta.annotation.Nonnull String providerId) {
+ this.providerId = providerId;
+ }
+
+ public ConnectedAccount status(
+ @jakarta.annotation.Nonnull ConnectedAccountApprovalStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get status
+ *
+ * @return status
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_STATUS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public ConnectedAccountApprovalStatus getStatus() {
+ return status;
+ }
+
+ @JsonProperty(JSON_PROPERTY_STATUS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setStatus(@jakarta.annotation.Nonnull ConnectedAccountApprovalStatus status) {
+ this.status = status;
+ }
+
+ public ConnectedAccount totalBalance(
+ @jakarta.annotation.Nonnull ConnectedAccountTotalBalance totalBalance) {
+ this.totalBalance = totalBalance;
+ return this;
+ }
+
+ /**
+ * Get totalBalance
+ *
+ * @return totalBalance
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_TOTAL_BALANCE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public ConnectedAccountTotalBalance getTotalBalance() {
+ return totalBalance;
+ }
+
+ @JsonProperty(JSON_PROPERTY_TOTAL_BALANCE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setTotalBalance(
+ @jakarta.annotation.Nonnull ConnectedAccountTotalBalance totalBalance) {
+ this.totalBalance = totalBalance;
+ }
+
+ public ConnectedAccount manifest(
+ @jakarta.annotation.Nonnull ConnectedAccountManifest manifest) {
+ this.manifest = manifest;
+ return this;
+ }
+
+ /**
+ * Get manifest
+ *
+ * @return manifest
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_MANIFEST)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public ConnectedAccountManifest getManifest() {
+ return manifest;
+ }
+
+ @JsonProperty(JSON_PROPERTY_MANIFEST)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setManifest(@jakarta.annotation.Nonnull ConnectedAccountManifest manifest) {
+ this.manifest = manifest;
+ }
+
+ public ConnectedAccount parentId(@jakarta.annotation.Nullable String parentId) {
+ this.parentId = parentId;
+ return this;
+ }
+
+ /**
+ * The ID of the parent main account, if this is a sub account.
+ *
+ * @return parentId
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_PARENT_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getParentId() {
+ return parentId;
+ }
+
+ @JsonProperty(JSON_PROPERTY_PARENT_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setParentId(@jakarta.annotation.Nullable String parentId) {
+ this.parentId = parentId;
+ }
+
+ /** Return true if this ConnectedAccount object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ConnectedAccount connectedAccount = (ConnectedAccount) o;
+ return Objects.equals(this.id, connectedAccount.id)
+ && Objects.equals(this.name, connectedAccount.name)
+ && Objects.equals(this.providerId, connectedAccount.providerId)
+ && Objects.equals(this.status, connectedAccount.status)
+ && Objects.equals(this.totalBalance, connectedAccount.totalBalance)
+ && Objects.equals(this.manifest, connectedAccount.manifest)
+ && Objects.equals(this.parentId, connectedAccount.parentId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(id, name, providerId, status, totalBalance, manifest, parentId);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ConnectedAccount {\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" providerId: ").append(toIndentedString(providerId)).append("\n");
+ sb.append(" status: ").append(toIndentedString(status)).append("\n");
+ sb.append(" totalBalance: ").append(toIndentedString(totalBalance)).append("\n");
+ sb.append(" manifest: ").append(toIndentedString(manifest)).append("\n");
+ sb.append(" parentId: ").append(toIndentedString(parentId)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `id` to the URL query string
+ if (getId() != null) {
+ joiner.add(
+ String.format(
+ "%sid%s=%s",
+ prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId()))));
+ }
+
+ // add `name` to the URL query string
+ if (getName() != null) {
+ joiner.add(
+ String.format(
+ "%sname%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getName()))));
+ }
+
+ // add `providerId` to the URL query string
+ if (getProviderId() != null) {
+ joiner.add(
+ String.format(
+ "%sproviderId%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getProviderId()))));
+ }
+
+ // add `status` to the URL query string
+ if (getStatus() != null) {
+ joiner.add(
+ String.format(
+ "%sstatus%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getStatus()))));
+ }
+
+ // add `totalBalance` to the URL query string
+ if (getTotalBalance() != null) {
+ joiner.add(getTotalBalance().toUrlQueryString(prefix + "totalBalance" + suffix));
+ }
+
+ // add `manifest` to the URL query string
+ if (getManifest() != null) {
+ joiner.add(getManifest().toUrlQueryString(prefix + "manifest" + suffix));
+ }
+
+ // add `parentId` to the URL query string
+ if (getParentId() != null) {
+ joiner.add(
+ String.format(
+ "%sparentId%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getParentId()))));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/ConnectedAccountApprovalStatus.java b/src/main/java/com/fireblocks/sdk/model/ConnectedAccountApprovalStatus.java
new file mode 100644
index 00000000..77243cc3
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/ConnectedAccountApprovalStatus.java
@@ -0,0 +1,70 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/** Gets or Sets ConnectedAccountApprovalStatus */
+public enum ConnectedAccountApprovalStatus {
+ WAITING_FOR_APPROVAL("WAITING_FOR_APPROVAL"),
+
+ APPROVED("APPROVED"),
+
+ REJECTED("REJECTED"),
+
+ CANCELLED("CANCELLED"),
+
+ FAILED("FAILED");
+
+ private String value;
+
+ ConnectedAccountApprovalStatus(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static ConnectedAccountApprovalStatus fromValue(String value) {
+ for (ConnectedAccountApprovalStatus b : ConnectedAccountApprovalStatus.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ if (prefix == null) {
+ prefix = "";
+ }
+
+ return String.format("%s=%s", prefix, this.toString());
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/SwapProviderProtocolsEnum.java b/src/main/java/com/fireblocks/sdk/model/ConnectedAccountAssetType.java
similarity index 69%
rename from src/main/java/com/fireblocks/sdk/model/SwapProviderProtocolsEnum.java
rename to src/main/java/com/fireblocks/sdk/model/ConnectedAccountAssetType.java
index 657266f9..e3fb244f 100644
--- a/src/main/java/com/fireblocks/sdk/model/SwapProviderProtocolsEnum.java
+++ b/src/main/java/com/fireblocks/sdk/model/ConnectedAccountAssetType.java
@@ -16,23 +16,15 @@
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
-/**
- * Protocol options supported by each provider. `UNISWAP` supports
- * `UNISWAP_CLASSIC` and `UNISWAPX`. `WRAP_UNWRAP` supports
- * `WRAP` and `UNWRAP.`
- */
-public enum SwapProviderProtocolsEnum {
- UNISWAP_CLASSIC("UNISWAP_CLASSIC"),
-
- UNISWAPX("UNISWAPX"),
-
- WRAP("WRAP"),
+/** Gets or Sets ConnectedAccountAssetType */
+public enum ConnectedAccountAssetType {
+ DIGITAL("DIGITAL"),
- UNWRAP("UNWRAP");
+ FIAT("FIAT");
private String value;
- SwapProviderProtocolsEnum(String value) {
+ ConnectedAccountAssetType(String value) {
this.value = value;
}
@@ -47,8 +39,8 @@ public String toString() {
}
@JsonCreator
- public static SwapProviderProtocolsEnum fromValue(String value) {
- for (SwapProviderProtocolsEnum b : SwapProviderProtocolsEnum.values()) {
+ public static ConnectedAccountAssetType fromValue(String value) {
+ for (ConnectedAccountAssetType b : ConnectedAccountAssetType.values()) {
if (b.value.equals(value)) {
return b;
}
diff --git a/src/main/java/com/fireblocks/sdk/model/ConnectedAccountBalances.java b/src/main/java/com/fireblocks/sdk/model/ConnectedAccountBalances.java
new file mode 100644
index 00000000..a8d90641
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/ConnectedAccountBalances.java
@@ -0,0 +1,397 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fireblocks.sdk.ApiClient;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** ConnectedAccountBalances */
+@JsonPropertyOrder({
+ ConnectedAccountBalances.JSON_PROPERTY_ASSET_ID,
+ ConnectedAccountBalances.JSON_PROPERTY_AVAILABLE_AMOUNT,
+ ConnectedAccountBalances.JSON_PROPERTY_TOTAL_AMOUNT,
+ ConnectedAccountBalances.JSON_PROPERTY_LOCKED_AMOUNT,
+ ConnectedAccountBalances.JSON_PROPERTY_CREDIT_AMOUNT,
+ ConnectedAccountBalances.JSON_PROPERTY_BALANCE_TYPE,
+ ConnectedAccountBalances.JSON_PROPERTY_BALANCE_NAME
+})
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.14.0")
+public class ConnectedAccountBalances {
+ public static final String JSON_PROPERTY_ASSET_ID = "assetId";
+ @jakarta.annotation.Nonnull private String assetId;
+
+ public static final String JSON_PROPERTY_AVAILABLE_AMOUNT = "availableAmount";
+ @jakarta.annotation.Nonnull private String availableAmount;
+
+ public static final String JSON_PROPERTY_TOTAL_AMOUNT = "totalAmount";
+ @jakarta.annotation.Nonnull private String totalAmount;
+
+ public static final String JSON_PROPERTY_LOCKED_AMOUNT = "lockedAmount";
+ @jakarta.annotation.Nullable private String lockedAmount;
+
+ public static final String JSON_PROPERTY_CREDIT_AMOUNT = "creditAmount";
+ @jakarta.annotation.Nullable private String creditAmount;
+
+ public static final String JSON_PROPERTY_BALANCE_TYPE = "balanceType";
+ @jakarta.annotation.Nonnull private String balanceType;
+
+ public static final String JSON_PROPERTY_BALANCE_NAME = "balanceName";
+ @jakarta.annotation.Nullable private String balanceName;
+
+ public ConnectedAccountBalances() {}
+
+ @JsonCreator
+ public ConnectedAccountBalances(
+ @JsonProperty(value = JSON_PROPERTY_ASSET_ID, required = true) String assetId,
+ @JsonProperty(value = JSON_PROPERTY_AVAILABLE_AMOUNT, required = true)
+ String availableAmount,
+ @JsonProperty(value = JSON_PROPERTY_TOTAL_AMOUNT, required = true) String totalAmount,
+ @JsonProperty(value = JSON_PROPERTY_BALANCE_TYPE, required = true) String balanceType) {
+ this.assetId = assetId;
+ this.availableAmount = availableAmount;
+ this.totalAmount = totalAmount;
+ this.balanceType = balanceType;
+ }
+
+ public ConnectedAccountBalances assetId(@jakarta.annotation.Nonnull String assetId) {
+ this.assetId = assetId;
+ return this;
+ }
+
+ /**
+ * Asset identifier (e.g., BTC, ETH, USDC).
+ *
+ * @return assetId
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_ASSET_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getAssetId() {
+ return assetId;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ASSET_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setAssetId(@jakarta.annotation.Nonnull String assetId) {
+ this.assetId = assetId;
+ }
+
+ public ConnectedAccountBalances availableAmount(
+ @jakarta.annotation.Nonnull String availableAmount) {
+ this.availableAmount = availableAmount;
+ return this;
+ }
+
+ /**
+ * Amount available for use.
+ *
+ * @return availableAmount
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_AVAILABLE_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getAvailableAmount() {
+ return availableAmount;
+ }
+
+ @JsonProperty(JSON_PROPERTY_AVAILABLE_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setAvailableAmount(@jakarta.annotation.Nonnull String availableAmount) {
+ this.availableAmount = availableAmount;
+ }
+
+ public ConnectedAccountBalances totalAmount(@jakarta.annotation.Nonnull String totalAmount) {
+ this.totalAmount = totalAmount;
+ return this;
+ }
+
+ /**
+ * Total amount including locked/held balances.
+ *
+ * @return totalAmount
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_TOTAL_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getTotalAmount() {
+ return totalAmount;
+ }
+
+ @JsonProperty(JSON_PROPERTY_TOTAL_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setTotalAmount(@jakarta.annotation.Nonnull String totalAmount) {
+ this.totalAmount = totalAmount;
+ }
+
+ public ConnectedAccountBalances lockedAmount(@jakarta.annotation.Nullable String lockedAmount) {
+ this.lockedAmount = lockedAmount;
+ return this;
+ }
+
+ /**
+ * Amount currently locked/held.
+ *
+ * @return lockedAmount
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_LOCKED_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getLockedAmount() {
+ return lockedAmount;
+ }
+
+ @JsonProperty(JSON_PROPERTY_LOCKED_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setLockedAmount(@jakarta.annotation.Nullable String lockedAmount) {
+ this.lockedAmount = lockedAmount;
+ }
+
+ public ConnectedAccountBalances creditAmount(@jakarta.annotation.Nullable String creditAmount) {
+ this.creditAmount = creditAmount;
+ return this;
+ }
+
+ /**
+ * Credit line amount, if applicable (0 when not used).
+ *
+ * @return creditAmount
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_CREDIT_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getCreditAmount() {
+ return creditAmount;
+ }
+
+ @JsonProperty(JSON_PROPERTY_CREDIT_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setCreditAmount(@jakarta.annotation.Nullable String creditAmount) {
+ this.creditAmount = creditAmount;
+ }
+
+ public ConnectedAccountBalances balanceType(@jakarta.annotation.Nonnull String balanceType) {
+ this.balanceType = balanceType;
+ return this;
+ }
+
+ /**
+ * Wallet type/category (e.g., SPOT, MARGIN, FUNDING).
+ *
+ * @return balanceType
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_BALANCE_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getBalanceType() {
+ return balanceType;
+ }
+
+ @JsonProperty(JSON_PROPERTY_BALANCE_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setBalanceType(@jakarta.annotation.Nonnull String balanceType) {
+ this.balanceType = balanceType;
+ }
+
+ public ConnectedAccountBalances balanceName(@jakarta.annotation.Nullable String balanceName) {
+ this.balanceName = balanceName;
+ return this;
+ }
+
+ /**
+ * Display name for the balance type (at the provider)
+ *
+ * @return balanceName
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_BALANCE_NAME)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getBalanceName() {
+ return balanceName;
+ }
+
+ @JsonProperty(JSON_PROPERTY_BALANCE_NAME)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setBalanceName(@jakarta.annotation.Nullable String balanceName) {
+ this.balanceName = balanceName;
+ }
+
+ /** Return true if this ConnectedAccountBalances object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ConnectedAccountBalances connectedAccountBalances = (ConnectedAccountBalances) o;
+ return Objects.equals(this.assetId, connectedAccountBalances.assetId)
+ && Objects.equals(this.availableAmount, connectedAccountBalances.availableAmount)
+ && Objects.equals(this.totalAmount, connectedAccountBalances.totalAmount)
+ && Objects.equals(this.lockedAmount, connectedAccountBalances.lockedAmount)
+ && Objects.equals(this.creditAmount, connectedAccountBalances.creditAmount)
+ && Objects.equals(this.balanceType, connectedAccountBalances.balanceType)
+ && Objects.equals(this.balanceName, connectedAccountBalances.balanceName);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ assetId,
+ availableAmount,
+ totalAmount,
+ lockedAmount,
+ creditAmount,
+ balanceType,
+ balanceName);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ConnectedAccountBalances {\n");
+ sb.append(" assetId: ").append(toIndentedString(assetId)).append("\n");
+ sb.append(" availableAmount: ").append(toIndentedString(availableAmount)).append("\n");
+ sb.append(" totalAmount: ").append(toIndentedString(totalAmount)).append("\n");
+ sb.append(" lockedAmount: ").append(toIndentedString(lockedAmount)).append("\n");
+ sb.append(" creditAmount: ").append(toIndentedString(creditAmount)).append("\n");
+ sb.append(" balanceType: ").append(toIndentedString(balanceType)).append("\n");
+ sb.append(" balanceName: ").append(toIndentedString(balanceName)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `assetId` to the URL query string
+ if (getAssetId() != null) {
+ joiner.add(
+ String.format(
+ "%sassetId%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getAssetId()))));
+ }
+
+ // add `availableAmount` to the URL query string
+ if (getAvailableAmount() != null) {
+ joiner.add(
+ String.format(
+ "%savailableAmount%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getAvailableAmount()))));
+ }
+
+ // add `totalAmount` to the URL query string
+ if (getTotalAmount() != null) {
+ joiner.add(
+ String.format(
+ "%stotalAmount%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getTotalAmount()))));
+ }
+
+ // add `lockedAmount` to the URL query string
+ if (getLockedAmount() != null) {
+ joiner.add(
+ String.format(
+ "%slockedAmount%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getLockedAmount()))));
+ }
+
+ // add `creditAmount` to the URL query string
+ if (getCreditAmount() != null) {
+ joiner.add(
+ String.format(
+ "%screditAmount%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getCreditAmount()))));
+ }
+
+ // add `balanceType` to the URL query string
+ if (getBalanceType() != null) {
+ joiner.add(
+ String.format(
+ "%sbalanceType%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getBalanceType()))));
+ }
+
+ // add `balanceName` to the URL query string
+ if (getBalanceName() != null) {
+ joiner.add(
+ String.format(
+ "%sbalanceName%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getBalanceName()))));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/ConnectedAccountBalancesResponse.java b/src/main/java/com/fireblocks/sdk/model/ConnectedAccountBalancesResponse.java
new file mode 100644
index 00000000..7e7faefa
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/ConnectedAccountBalancesResponse.java
@@ -0,0 +1,253 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fireblocks.sdk.ApiClient;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** ConnectedAccountBalancesResponse */
+@JsonPropertyOrder({
+ ConnectedAccountBalancesResponse.JSON_PROPERTY_DATA,
+ ConnectedAccountBalancesResponse.JSON_PROPERTY_TOTAL,
+ ConnectedAccountBalancesResponse.JSON_PROPERTY_NEXT
+})
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.14.0")
+public class ConnectedAccountBalancesResponse {
+ public static final String JSON_PROPERTY_DATA = "data";
+ @jakarta.annotation.Nonnull private List data = new ArrayList<>();
+
+ public static final String JSON_PROPERTY_TOTAL = "total";
+ @jakarta.annotation.Nullable private Integer total;
+
+ public static final String JSON_PROPERTY_NEXT = "next";
+ @jakarta.annotation.Nullable private String next;
+
+ public ConnectedAccountBalancesResponse() {}
+
+ @JsonCreator
+ public ConnectedAccountBalancesResponse(
+ @JsonProperty(value = JSON_PROPERTY_DATA, required = true)
+ List data) {
+ this.data = data;
+ }
+
+ public ConnectedAccountBalancesResponse data(
+ @jakarta.annotation.Nonnull List data) {
+ this.data = data;
+ return this;
+ }
+
+ public ConnectedAccountBalancesResponse addDataItem(ConnectedAccountBalances dataItem) {
+ if (this.data == null) {
+ this.data = new ArrayList<>();
+ }
+ this.data.add(dataItem);
+ return this;
+ }
+
+ /**
+ * Flat balance row for a single asset within an account and wallet type. One row per (assetId,
+ * balanceType).
+ *
+ * @return data
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getData() {
+ return data;
+ }
+
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setData(@jakarta.annotation.Nonnull List data) {
+ this.data = data;
+ }
+
+ public ConnectedAccountBalancesResponse total(@jakarta.annotation.Nullable Integer total) {
+ this.total = total;
+ return this;
+ }
+
+ /**
+ * Total number of balance rows by query.
+ *
+ * @return total
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_TOTAL)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Integer getTotal() {
+ return total;
+ }
+
+ @JsonProperty(JSON_PROPERTY_TOTAL)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setTotal(@jakarta.annotation.Nullable Integer total) {
+ this.total = total;
+ }
+
+ public ConnectedAccountBalancesResponse next(@jakarta.annotation.Nullable String next) {
+ this.next = next;
+ return this;
+ }
+
+ /**
+ * A cursor for the next page of results, if available.
+ *
+ * @return next
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_NEXT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getNext() {
+ return next;
+ }
+
+ @JsonProperty(JSON_PROPERTY_NEXT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setNext(@jakarta.annotation.Nullable String next) {
+ this.next = next;
+ }
+
+ /** Return true if this ConnectedAccountBalancesResponse object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ConnectedAccountBalancesResponse connectedAccountBalancesResponse =
+ (ConnectedAccountBalancesResponse) o;
+ return Objects.equals(this.data, connectedAccountBalancesResponse.data)
+ && Objects.equals(this.total, connectedAccountBalancesResponse.total)
+ && Objects.equals(this.next, connectedAccountBalancesResponse.next);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(data, total, next);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ConnectedAccountBalancesResponse {\n");
+ sb.append(" data: ").append(toIndentedString(data)).append("\n");
+ sb.append(" total: ").append(toIndentedString(total)).append("\n");
+ sb.append(" next: ").append(toIndentedString(next)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `data` to the URL query string
+ if (getData() != null) {
+ for (int i = 0; i < getData().size(); i++) {
+ if (getData().get(i) != null) {
+ joiner.add(
+ getData()
+ .get(i)
+ .toUrlQueryString(
+ String.format(
+ "%sdata%s%s",
+ prefix,
+ suffix,
+ "".equals(suffix)
+ ? ""
+ : String.format(
+ "%s%d%s",
+ containerPrefix,
+ i,
+ containerSuffix))));
+ }
+ }
+ }
+
+ // add `total` to the URL query string
+ if (getTotal() != null) {
+ joiner.add(
+ String.format(
+ "%stotal%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getTotal()))));
+ }
+
+ // add `next` to the URL query string
+ if (getNext() != null) {
+ joiner.add(
+ String.format(
+ "%snext%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getNext()))));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/ConnectedAccountCapability.java b/src/main/java/com/fireblocks/sdk/model/ConnectedAccountCapability.java
new file mode 100644
index 00000000..dee3e902
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/ConnectedAccountCapability.java
@@ -0,0 +1,66 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/** Gets or Sets ConnectedAccountCapability */
+public enum ConnectedAccountCapability {
+ WITHDRAWALS("WITHDRAWALS"),
+
+ DEPOSITS("DEPOSITS"),
+
+ TRADING("TRADING");
+
+ private String value;
+
+ ConnectedAccountCapability(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static ConnectedAccountCapability fromValue(String value) {
+ for (ConnectedAccountCapability b : ConnectedAccountCapability.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ if (prefix == null) {
+ prefix = "";
+ }
+
+ return String.format("%s=%s", prefix, this.toString());
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/ConnectedAccountManifest.java b/src/main/java/com/fireblocks/sdk/model/ConnectedAccountManifest.java
new file mode 100644
index 00000000..fec9e6b0
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/ConnectedAccountManifest.java
@@ -0,0 +1,239 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fireblocks.sdk.ApiClient;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** ConnectedAccountManifest */
+@JsonPropertyOrder({
+ ConnectedAccountManifest.JSON_PROPERTY_ASSET_TYPES,
+ ConnectedAccountManifest.JSON_PROPERTY_CAPABILITIES
+})
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.14.0")
+public class ConnectedAccountManifest {
+ public static final String JSON_PROPERTY_ASSET_TYPES = "assetTypes";
+
+ @jakarta.annotation.Nonnull
+ private List assetTypes = new ArrayList<>();
+
+ public static final String JSON_PROPERTY_CAPABILITIES = "capabilities";
+
+ @jakarta.annotation.Nonnull
+ private List capabilities = new ArrayList<>();
+
+ public ConnectedAccountManifest() {}
+
+ @JsonCreator
+ public ConnectedAccountManifest(
+ @JsonProperty(value = JSON_PROPERTY_ASSET_TYPES, required = true)
+ List assetTypes,
+ @JsonProperty(value = JSON_PROPERTY_CAPABILITIES, required = true)
+ List capabilities) {
+ this.assetTypes = assetTypes;
+ this.capabilities = capabilities;
+ }
+
+ public ConnectedAccountManifest assetTypes(
+ @jakarta.annotation.Nonnull List assetTypes) {
+ this.assetTypes = assetTypes;
+ return this;
+ }
+
+ public ConnectedAccountManifest addAssetTypesItem(ConnectedAccountAssetType assetTypesItem) {
+ if (this.assetTypes == null) {
+ this.assetTypes = new ArrayList<>();
+ }
+ this.assetTypes.add(assetTypesItem);
+ return this;
+ }
+
+ /**
+ * Asset types supported by the connected account.
+ *
+ * @return assetTypes
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_ASSET_TYPES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getAssetTypes() {
+ return assetTypes;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ASSET_TYPES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setAssetTypes(
+ @jakarta.annotation.Nonnull List assetTypes) {
+ this.assetTypes = assetTypes;
+ }
+
+ public ConnectedAccountManifest capabilities(
+ @jakarta.annotation.Nonnull List capabilities) {
+ this.capabilities = capabilities;
+ return this;
+ }
+
+ public ConnectedAccountManifest addCapabilitiesItem(
+ ConnectedAccountCapability capabilitiesItem) {
+ if (this.capabilities == null) {
+ this.capabilities = new ArrayList<>();
+ }
+ this.capabilities.add(capabilitiesItem);
+ return this;
+ }
+
+ /**
+ * Features supported for the connected account. Logic: - If account capabilities include ramp
+ * -> TRADING - If account capabilities include transfers -> DEPOSITS - If account
+ * capabilities include transfersBlockchain / transfersFiat / transfersPeerAccounts /
+ * transfersInternal -> WITHDRAWALS
+ *
+ * @return capabilities
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_CAPABILITIES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getCapabilities() {
+ return capabilities;
+ }
+
+ @JsonProperty(JSON_PROPERTY_CAPABILITIES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setCapabilities(
+ @jakarta.annotation.Nonnull List capabilities) {
+ this.capabilities = capabilities;
+ }
+
+ /** Return true if this ConnectedAccountManifest object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ConnectedAccountManifest connectedAccountManifest = (ConnectedAccountManifest) o;
+ return Objects.equals(this.assetTypes, connectedAccountManifest.assetTypes)
+ && Objects.equals(this.capabilities, connectedAccountManifest.capabilities);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(assetTypes, capabilities);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ConnectedAccountManifest {\n");
+ sb.append(" assetTypes: ").append(toIndentedString(assetTypes)).append("\n");
+ sb.append(" capabilities: ").append(toIndentedString(capabilities)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `assetTypes` to the URL query string
+ if (getAssetTypes() != null) {
+ for (int i = 0; i < getAssetTypes().size(); i++) {
+ if (getAssetTypes().get(i) != null) {
+ joiner.add(
+ String.format(
+ "%sassetTypes%s%s=%s",
+ prefix,
+ suffix,
+ "".equals(suffix)
+ ? ""
+ : String.format(
+ "%s%d%s", containerPrefix, i, containerSuffix),
+ ApiClient.urlEncode(
+ ApiClient.valueToString(getAssetTypes().get(i)))));
+ }
+ }
+ }
+
+ // add `capabilities` to the URL query string
+ if (getCapabilities() != null) {
+ for (int i = 0; i < getCapabilities().size(); i++) {
+ if (getCapabilities().get(i) != null) {
+ joiner.add(
+ String.format(
+ "%scapabilities%s%s=%s",
+ prefix,
+ suffix,
+ "".equals(suffix)
+ ? ""
+ : String.format(
+ "%s%d%s", containerPrefix, i, containerSuffix),
+ ApiClient.urlEncode(
+ ApiClient.valueToString(getCapabilities().get(i)))));
+ }
+ }
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/ConnectedAccountRateResponse.java b/src/main/java/com/fireblocks/sdk/model/ConnectedAccountRateResponse.java
new file mode 100644
index 00000000..418fedf8
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/ConnectedAccountRateResponse.java
@@ -0,0 +1,275 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fireblocks.sdk.ApiClient;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** ConnectedAccountRateResponse */
+@JsonPropertyOrder({
+ ConnectedAccountRateResponse.JSON_PROPERTY_ACCOUNT_ID,
+ ConnectedAccountRateResponse.JSON_PROPERTY_BASE_ASSET_ID,
+ ConnectedAccountRateResponse.JSON_PROPERTY_QUOTE_ASSET_ID,
+ ConnectedAccountRateResponse.JSON_PROPERTY_RATE
+})
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.14.0")
+public class ConnectedAccountRateResponse {
+ public static final String JSON_PROPERTY_ACCOUNT_ID = "accountId";
+ @jakarta.annotation.Nonnull private String accountId;
+
+ public static final String JSON_PROPERTY_BASE_ASSET_ID = "baseAssetId";
+ @jakarta.annotation.Nonnull private String baseAssetId;
+
+ public static final String JSON_PROPERTY_QUOTE_ASSET_ID = "quoteAssetId";
+ @jakarta.annotation.Nonnull private String quoteAssetId;
+
+ public static final String JSON_PROPERTY_RATE = "rate";
+ @jakarta.annotation.Nonnull private String rate;
+
+ public ConnectedAccountRateResponse() {}
+
+ @JsonCreator
+ public ConnectedAccountRateResponse(
+ @JsonProperty(value = JSON_PROPERTY_ACCOUNT_ID, required = true) String accountId,
+ @JsonProperty(value = JSON_PROPERTY_BASE_ASSET_ID, required = true) String baseAssetId,
+ @JsonProperty(value = JSON_PROPERTY_QUOTE_ASSET_ID, required = true)
+ String quoteAssetId,
+ @JsonProperty(value = JSON_PROPERTY_RATE, required = true) String rate) {
+ this.accountId = accountId;
+ this.baseAssetId = baseAssetId;
+ this.quoteAssetId = quoteAssetId;
+ this.rate = rate;
+ }
+
+ public ConnectedAccountRateResponse accountId(@jakarta.annotation.Nonnull String accountId) {
+ this.accountId = accountId;
+ return this;
+ }
+
+ /**
+ * The ID of the account that generated the quote.
+ *
+ * @return accountId
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_ACCOUNT_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getAccountId() {
+ return accountId;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ACCOUNT_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setAccountId(@jakarta.annotation.Nonnull String accountId) {
+ this.accountId = accountId;
+ }
+
+ public ConnectedAccountRateResponse baseAssetId(
+ @jakarta.annotation.Nonnull String baseAssetId) {
+ this.baseAssetId = baseAssetId;
+ return this;
+ }
+
+ /**
+ * The source asset identifier
+ *
+ * @return baseAssetId
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_BASE_ASSET_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getBaseAssetId() {
+ return baseAssetId;
+ }
+
+ @JsonProperty(JSON_PROPERTY_BASE_ASSET_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setBaseAssetId(@jakarta.annotation.Nonnull String baseAssetId) {
+ this.baseAssetId = baseAssetId;
+ }
+
+ public ConnectedAccountRateResponse quoteAssetId(
+ @jakarta.annotation.Nonnull String quoteAssetId) {
+ this.quoteAssetId = quoteAssetId;
+ return this;
+ }
+
+ /**
+ * The target asset identifier
+ *
+ * @return quoteAssetId
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_QUOTE_ASSET_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getQuoteAssetId() {
+ return quoteAssetId;
+ }
+
+ @JsonProperty(JSON_PROPERTY_QUOTE_ASSET_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setQuoteAssetId(@jakarta.annotation.Nonnull String quoteAssetId) {
+ this.quoteAssetId = quoteAssetId;
+ }
+
+ public ConnectedAccountRateResponse rate(@jakarta.annotation.Nonnull String rate) {
+ this.rate = rate;
+ return this;
+ }
+
+ /**
+ * The exchange rate value
+ *
+ * @return rate
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_RATE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getRate() {
+ return rate;
+ }
+
+ @JsonProperty(JSON_PROPERTY_RATE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setRate(@jakarta.annotation.Nonnull String rate) {
+ this.rate = rate;
+ }
+
+ /** Return true if this ConnectedAccountRateResponse object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ConnectedAccountRateResponse connectedAccountRateResponse =
+ (ConnectedAccountRateResponse) o;
+ return Objects.equals(this.accountId, connectedAccountRateResponse.accountId)
+ && Objects.equals(this.baseAssetId, connectedAccountRateResponse.baseAssetId)
+ && Objects.equals(this.quoteAssetId, connectedAccountRateResponse.quoteAssetId)
+ && Objects.equals(this.rate, connectedAccountRateResponse.rate);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(accountId, baseAssetId, quoteAssetId, rate);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ConnectedAccountRateResponse {\n");
+ sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n");
+ sb.append(" baseAssetId: ").append(toIndentedString(baseAssetId)).append("\n");
+ sb.append(" quoteAssetId: ").append(toIndentedString(quoteAssetId)).append("\n");
+ sb.append(" rate: ").append(toIndentedString(rate)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `accountId` to the URL query string
+ if (getAccountId() != null) {
+ joiner.add(
+ String.format(
+ "%saccountId%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getAccountId()))));
+ }
+
+ // add `baseAssetId` to the URL query string
+ if (getBaseAssetId() != null) {
+ joiner.add(
+ String.format(
+ "%sbaseAssetId%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getBaseAssetId()))));
+ }
+
+ // add `quoteAssetId` to the URL query string
+ if (getQuoteAssetId() != null) {
+ joiner.add(
+ String.format(
+ "%squoteAssetId%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getQuoteAssetId()))));
+ }
+
+ // add `rate` to the URL query string
+ if (getRate() != null) {
+ joiner.add(
+ String.format(
+ "%srate%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getRate()))));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/ConnectedAccountTotalBalance.java b/src/main/java/com/fireblocks/sdk/model/ConnectedAccountTotalBalance.java
new file mode 100644
index 00000000..dd88a792
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/ConnectedAccountTotalBalance.java
@@ -0,0 +1,246 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fireblocks.sdk.ApiClient;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** ConnectedAccountTotalBalance */
+@JsonPropertyOrder({
+ ConnectedAccountTotalBalance.JSON_PROPERTY_AMOUNT,
+ ConnectedAccountTotalBalance.JSON_PROPERTY_DENOMINATED_ASSET_ID,
+ ConnectedAccountTotalBalance.JSON_PROPERTY_HAS_FULL_ASSET_COVERAGE
+})
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.14.0")
+public class ConnectedAccountTotalBalance {
+ public static final String JSON_PROPERTY_AMOUNT = "amount";
+ @jakarta.annotation.Nonnull private String amount;
+
+ public static final String JSON_PROPERTY_DENOMINATED_ASSET_ID = "denominatedAssetId";
+ @jakarta.annotation.Nonnull private String denominatedAssetId;
+
+ public static final String JSON_PROPERTY_HAS_FULL_ASSET_COVERAGE = "hasFullAssetCoverage";
+ @jakarta.annotation.Nonnull private Boolean hasFullAssetCoverage = false;
+
+ public ConnectedAccountTotalBalance() {}
+
+ @JsonCreator
+ public ConnectedAccountTotalBalance(
+ @JsonProperty(value = JSON_PROPERTY_AMOUNT, required = true) String amount,
+ @JsonProperty(value = JSON_PROPERTY_DENOMINATED_ASSET_ID, required = true)
+ String denominatedAssetId,
+ @JsonProperty(value = JSON_PROPERTY_HAS_FULL_ASSET_COVERAGE, required = true)
+ Boolean hasFullAssetCoverage) {
+ this.amount = amount;
+ this.denominatedAssetId = denominatedAssetId;
+ this.hasFullAssetCoverage = hasFullAssetCoverage;
+ }
+
+ public ConnectedAccountTotalBalance amount(@jakarta.annotation.Nonnull String amount) {
+ this.amount = amount;
+ return this;
+ }
+
+ /**
+ * The denominated currency value of the account.
+ *
+ * @return amount
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getAmount() {
+ return amount;
+ }
+
+ @JsonProperty(JSON_PROPERTY_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setAmount(@jakarta.annotation.Nonnull String amount) {
+ this.amount = amount;
+ }
+
+ public ConnectedAccountTotalBalance denominatedAssetId(
+ @jakarta.annotation.Nonnull String denominatedAssetId) {
+ this.denominatedAssetId = denominatedAssetId;
+ return this;
+ }
+
+ /**
+ * The asset ID of the total balance.
+ *
+ * @return denominatedAssetId
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_DENOMINATED_ASSET_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getDenominatedAssetId() {
+ return denominatedAssetId;
+ }
+
+ @JsonProperty(JSON_PROPERTY_DENOMINATED_ASSET_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setDenominatedAssetId(@jakarta.annotation.Nonnull String denominatedAssetId) {
+ this.denominatedAssetId = denominatedAssetId;
+ }
+
+ public ConnectedAccountTotalBalance hasFullAssetCoverage(
+ @jakarta.annotation.Nonnull Boolean hasFullAssetCoverage) {
+ this.hasFullAssetCoverage = hasFullAssetCoverage;
+ return this;
+ }
+
+ /**
+ * Indicates whether the total amount represents the complete balance of all assets in the
+ * account. When true, all asset balances have been successfully converted to the denominated
+ * currency. When false, some assets could not be included in the total due to missing exchange
+ * rates or non-convertible assets.
+ *
+ * @return hasFullAssetCoverage
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_HAS_FULL_ASSET_COVERAGE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Boolean getHasFullAssetCoverage() {
+ return hasFullAssetCoverage;
+ }
+
+ @JsonProperty(JSON_PROPERTY_HAS_FULL_ASSET_COVERAGE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setHasFullAssetCoverage(@jakarta.annotation.Nonnull Boolean hasFullAssetCoverage) {
+ this.hasFullAssetCoverage = hasFullAssetCoverage;
+ }
+
+ /** Return true if this ConnectedAccountTotalBalance object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ConnectedAccountTotalBalance connectedAccountTotalBalance =
+ (ConnectedAccountTotalBalance) o;
+ return Objects.equals(this.amount, connectedAccountTotalBalance.amount)
+ && Objects.equals(
+ this.denominatedAssetId, connectedAccountTotalBalance.denominatedAssetId)
+ && Objects.equals(
+ this.hasFullAssetCoverage,
+ connectedAccountTotalBalance.hasFullAssetCoverage);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(amount, denominatedAssetId, hasFullAssetCoverage);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ConnectedAccountTotalBalance {\n");
+ sb.append(" amount: ").append(toIndentedString(amount)).append("\n");
+ sb.append(" denominatedAssetId: ")
+ .append(toIndentedString(denominatedAssetId))
+ .append("\n");
+ sb.append(" hasFullAssetCoverage: ")
+ .append(toIndentedString(hasFullAssetCoverage))
+ .append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `amount` to the URL query string
+ if (getAmount() != null) {
+ joiner.add(
+ String.format(
+ "%samount%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getAmount()))));
+ }
+
+ // add `denominatedAssetId` to the URL query string
+ if (getDenominatedAssetId() != null) {
+ joiner.add(
+ String.format(
+ "%sdenominatedAssetId%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getDenominatedAssetId()))));
+ }
+
+ // add `hasFullAssetCoverage` to the URL query string
+ if (getHasFullAssetCoverage() != null) {
+ joiner.add(
+ String.format(
+ "%shasFullAssetCoverage%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(
+ ApiClient.valueToString(getHasFullAssetCoverage()))));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/ConnectedAccountTradingPair.java b/src/main/java/com/fireblocks/sdk/model/ConnectedAccountTradingPair.java
new file mode 100644
index 00000000..9771505b
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/ConnectedAccountTradingPair.java
@@ -0,0 +1,298 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fireblocks.sdk.ApiClient;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** ConnectedAccountTradingPair */
+@JsonPropertyOrder({
+ ConnectedAccountTradingPair.JSON_PROPERTY_ID,
+ ConnectedAccountTradingPair.JSON_PROPERTY_BASE_ASSET_ID,
+ ConnectedAccountTradingPair.JSON_PROPERTY_QUOTE_ASSET_ID,
+ ConnectedAccountTradingPair.JSON_PROPERTY_SUPPORTED_TYPES
+})
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.14.0")
+public class ConnectedAccountTradingPair {
+ public static final String JSON_PROPERTY_ID = "id";
+ @jakarta.annotation.Nonnull private String id;
+
+ public static final String JSON_PROPERTY_BASE_ASSET_ID = "baseAssetId";
+ @jakarta.annotation.Nonnull private String baseAssetId;
+
+ public static final String JSON_PROPERTY_QUOTE_ASSET_ID = "quoteAssetId";
+ @jakarta.annotation.Nonnull private String quoteAssetId;
+
+ public static final String JSON_PROPERTY_SUPPORTED_TYPES = "supportedTypes";
+
+ @jakarta.annotation.Nonnull
+ private List supportedTypes = new ArrayList<>();
+
+ public ConnectedAccountTradingPair() {}
+
+ @JsonCreator
+ public ConnectedAccountTradingPair(
+ @JsonProperty(value = JSON_PROPERTY_ID, required = true) String id,
+ @JsonProperty(value = JSON_PROPERTY_BASE_ASSET_ID, required = true) String baseAssetId,
+ @JsonProperty(value = JSON_PROPERTY_QUOTE_ASSET_ID, required = true)
+ String quoteAssetId,
+ @JsonProperty(value = JSON_PROPERTY_SUPPORTED_TYPES, required = true)
+ List supportedTypes) {
+ this.id = id;
+ this.baseAssetId = baseAssetId;
+ this.quoteAssetId = quoteAssetId;
+ this.supportedTypes = supportedTypes;
+ }
+
+ public ConnectedAccountTradingPair id(@jakarta.annotation.Nonnull String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * The ID of the trading pair.
+ *
+ * @return id
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getId() {
+ return id;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setId(@jakarta.annotation.Nonnull String id) {
+ this.id = id;
+ }
+
+ public ConnectedAccountTradingPair baseAssetId(@jakarta.annotation.Nonnull String baseAssetId) {
+ this.baseAssetId = baseAssetId;
+ return this;
+ }
+
+ /**
+ * The Symbol of the base asset.
+ *
+ * @return baseAssetId
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_BASE_ASSET_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getBaseAssetId() {
+ return baseAssetId;
+ }
+
+ @JsonProperty(JSON_PROPERTY_BASE_ASSET_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setBaseAssetId(@jakarta.annotation.Nonnull String baseAssetId) {
+ this.baseAssetId = baseAssetId;
+ }
+
+ public ConnectedAccountTradingPair quoteAssetId(
+ @jakarta.annotation.Nonnull String quoteAssetId) {
+ this.quoteAssetId = quoteAssetId;
+ return this;
+ }
+
+ /**
+ * The symbol of the quote asset.
+ *
+ * @return quoteAssetId
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_QUOTE_ASSET_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getQuoteAssetId() {
+ return quoteAssetId;
+ }
+
+ @JsonProperty(JSON_PROPERTY_QUOTE_ASSET_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setQuoteAssetId(@jakarta.annotation.Nonnull String quoteAssetId) {
+ this.quoteAssetId = quoteAssetId;
+ }
+
+ public ConnectedAccountTradingPair supportedTypes(
+ @jakarta.annotation.Nonnull
+ List supportedTypes) {
+ this.supportedTypes = supportedTypes;
+ return this;
+ }
+
+ public ConnectedAccountTradingPair addSupportedTypesItem(
+ ConnectedAccountTradingPairSupportedType supportedTypesItem) {
+ if (this.supportedTypes == null) {
+ this.supportedTypes = new ArrayList<>();
+ }
+ this.supportedTypes.add(supportedTypesItem);
+ return this;
+ }
+
+ /**
+ * Get supportedTypes
+ *
+ * @return supportedTypes
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_SUPPORTED_TYPES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getSupportedTypes() {
+ return supportedTypes;
+ }
+
+ @JsonProperty(JSON_PROPERTY_SUPPORTED_TYPES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setSupportedTypes(
+ @jakarta.annotation.Nonnull
+ List supportedTypes) {
+ this.supportedTypes = supportedTypes;
+ }
+
+ /** Return true if this ConnectedAccountTradingPair object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ConnectedAccountTradingPair connectedAccountTradingPair = (ConnectedAccountTradingPair) o;
+ return Objects.equals(this.id, connectedAccountTradingPair.id)
+ && Objects.equals(this.baseAssetId, connectedAccountTradingPair.baseAssetId)
+ && Objects.equals(this.quoteAssetId, connectedAccountTradingPair.quoteAssetId)
+ && Objects.equals(this.supportedTypes, connectedAccountTradingPair.supportedTypes);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(id, baseAssetId, quoteAssetId, supportedTypes);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ConnectedAccountTradingPair {\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" baseAssetId: ").append(toIndentedString(baseAssetId)).append("\n");
+ sb.append(" quoteAssetId: ").append(toIndentedString(quoteAssetId)).append("\n");
+ sb.append(" supportedTypes: ").append(toIndentedString(supportedTypes)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `id` to the URL query string
+ if (getId() != null) {
+ joiner.add(
+ String.format(
+ "%sid%s=%s",
+ prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId()))));
+ }
+
+ // add `baseAssetId` to the URL query string
+ if (getBaseAssetId() != null) {
+ joiner.add(
+ String.format(
+ "%sbaseAssetId%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getBaseAssetId()))));
+ }
+
+ // add `quoteAssetId` to the URL query string
+ if (getQuoteAssetId() != null) {
+ joiner.add(
+ String.format(
+ "%squoteAssetId%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getQuoteAssetId()))));
+ }
+
+ // add `supportedTypes` to the URL query string
+ if (getSupportedTypes() != null) {
+ for (int i = 0; i < getSupportedTypes().size(); i++) {
+ if (getSupportedTypes().get(i) != null) {
+ joiner.add(
+ String.format(
+ "%ssupportedTypes%s%s=%s",
+ prefix,
+ suffix,
+ "".equals(suffix)
+ ? ""
+ : String.format(
+ "%s%d%s", containerPrefix, i, containerSuffix),
+ ApiClient.urlEncode(
+ ApiClient.valueToString(getSupportedTypes().get(i)))));
+ }
+ }
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/ConnectedAccountTradingPairSupportedType.java b/src/main/java/com/fireblocks/sdk/model/ConnectedAccountTradingPairSupportedType.java
new file mode 100644
index 00000000..8f863c7c
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/ConnectedAccountTradingPairSupportedType.java
@@ -0,0 +1,67 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/** Gets or Sets ConnectedAccountTradingPairSupportedType */
+public enum ConnectedAccountTradingPairSupportedType {
+ QUOTE("QUOTE"),
+
+ MARKET("MARKET"),
+
+ LIMIT("LIMIT");
+
+ private String value;
+
+ ConnectedAccountTradingPairSupportedType(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static ConnectedAccountTradingPairSupportedType fromValue(String value) {
+ for (ConnectedAccountTradingPairSupportedType b :
+ ConnectedAccountTradingPairSupportedType.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ if (prefix == null) {
+ prefix = "";
+ }
+
+ return String.format("%s=%s", prefix, this.toString());
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/ConnectedAccountTradingPairsResponse.java b/src/main/java/com/fireblocks/sdk/model/ConnectedAccountTradingPairsResponse.java
new file mode 100644
index 00000000..5700a27b
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/ConnectedAccountTradingPairsResponse.java
@@ -0,0 +1,252 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fireblocks.sdk.ApiClient;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** ConnectedAccountTradingPairsResponse */
+@JsonPropertyOrder({
+ ConnectedAccountTradingPairsResponse.JSON_PROPERTY_DATA,
+ ConnectedAccountTradingPairsResponse.JSON_PROPERTY_TOTAL,
+ ConnectedAccountTradingPairsResponse.JSON_PROPERTY_NEXT
+})
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.14.0")
+public class ConnectedAccountTradingPairsResponse {
+ public static final String JSON_PROPERTY_DATA = "data";
+ @jakarta.annotation.Nonnull private List data = new ArrayList<>();
+
+ public static final String JSON_PROPERTY_TOTAL = "total";
+ @jakarta.annotation.Nullable private Integer total;
+
+ public static final String JSON_PROPERTY_NEXT = "next";
+ @jakarta.annotation.Nullable private String next;
+
+ public ConnectedAccountTradingPairsResponse() {}
+
+ @JsonCreator
+ public ConnectedAccountTradingPairsResponse(
+ @JsonProperty(value = JSON_PROPERTY_DATA, required = true)
+ List data) {
+ this.data = data;
+ }
+
+ public ConnectedAccountTradingPairsResponse data(
+ @jakarta.annotation.Nonnull List data) {
+ this.data = data;
+ return this;
+ }
+
+ public ConnectedAccountTradingPairsResponse addDataItem(ConnectedAccountTradingPair dataItem) {
+ if (this.data == null) {
+ this.data = new ArrayList<>();
+ }
+ this.data.add(dataItem);
+ return this;
+ }
+
+ /**
+ * Get data
+ *
+ * @return data
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getData() {
+ return data;
+ }
+
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setData(@jakarta.annotation.Nonnull List data) {
+ this.data = data;
+ }
+
+ public ConnectedAccountTradingPairsResponse total(@jakarta.annotation.Nullable Integer total) {
+ this.total = total;
+ return this;
+ }
+
+ /**
+ * Total number of asset pairs matching the query.
+ *
+ * @return total
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_TOTAL)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Integer getTotal() {
+ return total;
+ }
+
+ @JsonProperty(JSON_PROPERTY_TOTAL)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setTotal(@jakarta.annotation.Nullable Integer total) {
+ this.total = total;
+ }
+
+ public ConnectedAccountTradingPairsResponse next(@jakarta.annotation.Nullable String next) {
+ this.next = next;
+ return this;
+ }
+
+ /**
+ * A cursor for the next page of results, if available.
+ *
+ * @return next
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_NEXT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getNext() {
+ return next;
+ }
+
+ @JsonProperty(JSON_PROPERTY_NEXT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setNext(@jakarta.annotation.Nullable String next) {
+ this.next = next;
+ }
+
+ /** Return true if this ConnectedAccountTradingPairsResponse object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ConnectedAccountTradingPairsResponse connectedAccountTradingPairsResponse =
+ (ConnectedAccountTradingPairsResponse) o;
+ return Objects.equals(this.data, connectedAccountTradingPairsResponse.data)
+ && Objects.equals(this.total, connectedAccountTradingPairsResponse.total)
+ && Objects.equals(this.next, connectedAccountTradingPairsResponse.next);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(data, total, next);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ConnectedAccountTradingPairsResponse {\n");
+ sb.append(" data: ").append(toIndentedString(data)).append("\n");
+ sb.append(" total: ").append(toIndentedString(total)).append("\n");
+ sb.append(" next: ").append(toIndentedString(next)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `data` to the URL query string
+ if (getData() != null) {
+ for (int i = 0; i < getData().size(); i++) {
+ if (getData().get(i) != null) {
+ joiner.add(
+ getData()
+ .get(i)
+ .toUrlQueryString(
+ String.format(
+ "%sdata%s%s",
+ prefix,
+ suffix,
+ "".equals(suffix)
+ ? ""
+ : String.format(
+ "%s%d%s",
+ containerPrefix,
+ i,
+ containerSuffix))));
+ }
+ }
+ }
+
+ // add `total` to the URL query string
+ if (getTotal() != null) {
+ joiner.add(
+ String.format(
+ "%stotal%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getTotal()))));
+ }
+
+ // add `next` to the URL query string
+ if (getNext() != null) {
+ joiner.add(
+ String.format(
+ "%snext%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getNext()))));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/ConnectedAccountsResponse.java b/src/main/java/com/fireblocks/sdk/model/ConnectedAccountsResponse.java
new file mode 100644
index 00000000..156488f9
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/ConnectedAccountsResponse.java
@@ -0,0 +1,250 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fireblocks.sdk.ApiClient;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** ConnectedAccountsResponse */
+@JsonPropertyOrder({
+ ConnectedAccountsResponse.JSON_PROPERTY_DATA,
+ ConnectedAccountsResponse.JSON_PROPERTY_TOTAL,
+ ConnectedAccountsResponse.JSON_PROPERTY_NEXT
+})
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.14.0")
+public class ConnectedAccountsResponse {
+ public static final String JSON_PROPERTY_DATA = "data";
+ @jakarta.annotation.Nonnull private List data = new ArrayList<>();
+
+ public static final String JSON_PROPERTY_TOTAL = "total";
+ @jakarta.annotation.Nullable private Integer total;
+
+ public static final String JSON_PROPERTY_NEXT = "next";
+ @jakarta.annotation.Nullable private String next;
+
+ public ConnectedAccountsResponse() {}
+
+ @JsonCreator
+ public ConnectedAccountsResponse(
+ @JsonProperty(value = JSON_PROPERTY_DATA, required = true)
+ List data) {
+ this.data = data;
+ }
+
+ public ConnectedAccountsResponse data(@jakarta.annotation.Nonnull List data) {
+ this.data = data;
+ return this;
+ }
+
+ public ConnectedAccountsResponse addDataItem(ConnectedAccount dataItem) {
+ if (this.data == null) {
+ this.data = new ArrayList<>();
+ }
+ this.data.add(dataItem);
+ return this;
+ }
+
+ /**
+ * List of connected accounts matching the query.
+ *
+ * @return data
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getData() {
+ return data;
+ }
+
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setData(@jakarta.annotation.Nonnull List data) {
+ this.data = data;
+ }
+
+ public ConnectedAccountsResponse total(@jakarta.annotation.Nullable Integer total) {
+ this.total = total;
+ return this;
+ }
+
+ /**
+ * Total number of accounts by query.
+ *
+ * @return total
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_TOTAL)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Integer getTotal() {
+ return total;
+ }
+
+ @JsonProperty(JSON_PROPERTY_TOTAL)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setTotal(@jakarta.annotation.Nullable Integer total) {
+ this.total = total;
+ }
+
+ public ConnectedAccountsResponse next(@jakarta.annotation.Nullable String next) {
+ this.next = next;
+ return this;
+ }
+
+ /**
+ * A cursor for the next page of results, if available.
+ *
+ * @return next
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_NEXT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getNext() {
+ return next;
+ }
+
+ @JsonProperty(JSON_PROPERTY_NEXT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setNext(@jakarta.annotation.Nullable String next) {
+ this.next = next;
+ }
+
+ /** Return true if this ConnectedAccountsResponse object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ConnectedAccountsResponse connectedAccountsResponse = (ConnectedAccountsResponse) o;
+ return Objects.equals(this.data, connectedAccountsResponse.data)
+ && Objects.equals(this.total, connectedAccountsResponse.total)
+ && Objects.equals(this.next, connectedAccountsResponse.next);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(data, total, next);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ConnectedAccountsResponse {\n");
+ sb.append(" data: ").append(toIndentedString(data)).append("\n");
+ sb.append(" total: ").append(toIndentedString(total)).append("\n");
+ sb.append(" next: ").append(toIndentedString(next)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `data` to the URL query string
+ if (getData() != null) {
+ for (int i = 0; i < getData().size(); i++) {
+ if (getData().get(i) != null) {
+ joiner.add(
+ getData()
+ .get(i)
+ .toUrlQueryString(
+ String.format(
+ "%sdata%s%s",
+ prefix,
+ suffix,
+ "".equals(suffix)
+ ? ""
+ : String.format(
+ "%s%d%s",
+ containerPrefix,
+ i,
+ containerSuffix))));
+ }
+ }
+ }
+
+ // add `total` to the URL query string
+ if (getTotal() != null) {
+ joiner.add(
+ String.format(
+ "%stotal%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getTotal()))));
+ }
+
+ // add `next` to the URL query string
+ if (getNext() != null) {
+ joiner.add(
+ String.format(
+ "%snext%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getNext()))));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/ConnectedSingleAccount.java b/src/main/java/com/fireblocks/sdk/model/ConnectedSingleAccount.java
new file mode 100644
index 00000000..07f8d85a
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/ConnectedSingleAccount.java
@@ -0,0 +1,157 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fireblocks.sdk.ApiClient;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** ConnectedSingleAccount */
+@JsonPropertyOrder({ConnectedSingleAccount.JSON_PROPERTY_SUB_ACCOUNTS_IDS})
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.14.0")
+public class ConnectedSingleAccount {
+ public static final String JSON_PROPERTY_SUB_ACCOUNTS_IDS = "subAccountsIds";
+ @jakarta.annotation.Nullable private List subAccountsIds = new ArrayList<>();
+
+ public ConnectedSingleAccount() {}
+
+ public ConnectedSingleAccount subAccountsIds(
+ @jakarta.annotation.Nullable List subAccountsIds) {
+ this.subAccountsIds = subAccountsIds;
+ return this;
+ }
+
+ public ConnectedSingleAccount addSubAccountsIdsItem(String subAccountsIdsItem) {
+ if (this.subAccountsIds == null) {
+ this.subAccountsIds = new ArrayList<>();
+ }
+ this.subAccountsIds.add(subAccountsIdsItem);
+ return this;
+ }
+
+ /**
+ * IDs of sub-accounts associated with this connected account.
+ *
+ * @return subAccountsIds
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SUB_ACCOUNTS_IDS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public List getSubAccountsIds() {
+ return subAccountsIds;
+ }
+
+ @JsonProperty(JSON_PROPERTY_SUB_ACCOUNTS_IDS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setSubAccountsIds(@jakarta.annotation.Nullable List subAccountsIds) {
+ this.subAccountsIds = subAccountsIds;
+ }
+
+ /** Return true if this ConnectedSingleAccount object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ConnectedSingleAccount connectedSingleAccount = (ConnectedSingleAccount) o;
+ return Objects.equals(this.subAccountsIds, connectedSingleAccount.subAccountsIds);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(subAccountsIds);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ConnectedSingleAccount {\n");
+ sb.append(" subAccountsIds: ").append(toIndentedString(subAccountsIds)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `subAccountsIds` to the URL query string
+ if (getSubAccountsIds() != null) {
+ for (int i = 0; i < getSubAccountsIds().size(); i++) {
+ joiner.add(
+ String.format(
+ "%ssubAccountsIds%s%s=%s",
+ prefix,
+ suffix,
+ "".equals(suffix)
+ ? ""
+ : String.format(
+ "%s%d%s", containerPrefix, i, containerSuffix),
+ ApiClient.urlEncode(
+ ApiClient.valueToString(getSubAccountsIds().get(i)))));
+ }
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/ConnectedSingleAccountResponse.java b/src/main/java/com/fireblocks/sdk/model/ConnectedSingleAccountResponse.java
new file mode 100644
index 00000000..50b82e2b
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/ConnectedSingleAccountResponse.java
@@ -0,0 +1,448 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fireblocks.sdk.ApiClient;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** ConnectedSingleAccountResponse */
+@JsonPropertyOrder({
+ ConnectedSingleAccountResponse.JSON_PROPERTY_ID,
+ ConnectedSingleAccountResponse.JSON_PROPERTY_NAME,
+ ConnectedSingleAccountResponse.JSON_PROPERTY_PROVIDER_ID,
+ ConnectedSingleAccountResponse.JSON_PROPERTY_STATUS,
+ ConnectedSingleAccountResponse.JSON_PROPERTY_TOTAL_BALANCE,
+ ConnectedSingleAccountResponse.JSON_PROPERTY_MANIFEST,
+ ConnectedSingleAccountResponse.JSON_PROPERTY_PARENT_ID,
+ ConnectedSingleAccountResponse.JSON_PROPERTY_SUB_ACCOUNTS_IDS
+})
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.14.0")
+public class ConnectedSingleAccountResponse {
+ public static final String JSON_PROPERTY_ID = "id";
+ @jakarta.annotation.Nonnull private String id;
+
+ public static final String JSON_PROPERTY_NAME = "name";
+ @jakarta.annotation.Nonnull private String name;
+
+ public static final String JSON_PROPERTY_PROVIDER_ID = "providerId";
+ @jakarta.annotation.Nonnull private String providerId;
+
+ public static final String JSON_PROPERTY_STATUS = "status";
+ @jakarta.annotation.Nonnull private ConnectedAccountApprovalStatus status;
+
+ public static final String JSON_PROPERTY_TOTAL_BALANCE = "totalBalance";
+ @jakarta.annotation.Nonnull private ConnectedAccountTotalBalance totalBalance;
+
+ public static final String JSON_PROPERTY_MANIFEST = "manifest";
+ @jakarta.annotation.Nonnull private ConnectedAccountManifest manifest;
+
+ public static final String JSON_PROPERTY_PARENT_ID = "parentId";
+ @jakarta.annotation.Nullable private String parentId;
+
+ public static final String JSON_PROPERTY_SUB_ACCOUNTS_IDS = "subAccountsIds";
+ @jakarta.annotation.Nullable private List subAccountsIds = new ArrayList<>();
+
+ public ConnectedSingleAccountResponse() {}
+
+ @JsonCreator
+ public ConnectedSingleAccountResponse(
+ @JsonProperty(value = JSON_PROPERTY_ID, required = true) String id,
+ @JsonProperty(value = JSON_PROPERTY_NAME, required = true) String name,
+ @JsonProperty(value = JSON_PROPERTY_PROVIDER_ID, required = true) String providerId,
+ @JsonProperty(value = JSON_PROPERTY_STATUS, required = true)
+ ConnectedAccountApprovalStatus status,
+ @JsonProperty(value = JSON_PROPERTY_TOTAL_BALANCE, required = true)
+ ConnectedAccountTotalBalance totalBalance,
+ @JsonProperty(value = JSON_PROPERTY_MANIFEST, required = true)
+ ConnectedAccountManifest manifest) {
+ this.id = id;
+ this.name = name;
+ this.providerId = providerId;
+ this.status = status;
+ this.totalBalance = totalBalance;
+ this.manifest = manifest;
+ }
+
+ public ConnectedSingleAccountResponse id(@jakarta.annotation.Nonnull String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Unique identifier of the connected account.
+ *
+ * @return id
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getId() {
+ return id;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setId(@jakarta.annotation.Nonnull String id) {
+ this.id = id;
+ }
+
+ public ConnectedSingleAccountResponse name(@jakarta.annotation.Nonnull String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Human-readable name of the connected account.
+ *
+ * @return name
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getName() {
+ return name;
+ }
+
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setName(@jakarta.annotation.Nonnull String name) {
+ this.name = name;
+ }
+
+ public ConnectedSingleAccountResponse providerId(
+ @jakarta.annotation.Nonnull String providerId) {
+ this.providerId = providerId;
+ return this;
+ }
+
+ /**
+ * The ID of the venue the account belongs to.
+ *
+ * @return providerId
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_PROVIDER_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getProviderId() {
+ return providerId;
+ }
+
+ @JsonProperty(JSON_PROPERTY_PROVIDER_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setProviderId(@jakarta.annotation.Nonnull String providerId) {
+ this.providerId = providerId;
+ }
+
+ public ConnectedSingleAccountResponse status(
+ @jakarta.annotation.Nonnull ConnectedAccountApprovalStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get status
+ *
+ * @return status
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_STATUS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public ConnectedAccountApprovalStatus getStatus() {
+ return status;
+ }
+
+ @JsonProperty(JSON_PROPERTY_STATUS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setStatus(@jakarta.annotation.Nonnull ConnectedAccountApprovalStatus status) {
+ this.status = status;
+ }
+
+ public ConnectedSingleAccountResponse totalBalance(
+ @jakarta.annotation.Nonnull ConnectedAccountTotalBalance totalBalance) {
+ this.totalBalance = totalBalance;
+ return this;
+ }
+
+ /**
+ * Get totalBalance
+ *
+ * @return totalBalance
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_TOTAL_BALANCE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public ConnectedAccountTotalBalance getTotalBalance() {
+ return totalBalance;
+ }
+
+ @JsonProperty(JSON_PROPERTY_TOTAL_BALANCE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setTotalBalance(
+ @jakarta.annotation.Nonnull ConnectedAccountTotalBalance totalBalance) {
+ this.totalBalance = totalBalance;
+ }
+
+ public ConnectedSingleAccountResponse manifest(
+ @jakarta.annotation.Nonnull ConnectedAccountManifest manifest) {
+ this.manifest = manifest;
+ return this;
+ }
+
+ /**
+ * Get manifest
+ *
+ * @return manifest
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_MANIFEST)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public ConnectedAccountManifest getManifest() {
+ return manifest;
+ }
+
+ @JsonProperty(JSON_PROPERTY_MANIFEST)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setManifest(@jakarta.annotation.Nonnull ConnectedAccountManifest manifest) {
+ this.manifest = manifest;
+ }
+
+ public ConnectedSingleAccountResponse parentId(@jakarta.annotation.Nullable String parentId) {
+ this.parentId = parentId;
+ return this;
+ }
+
+ /**
+ * The ID of the parent main account, if this is a sub account.
+ *
+ * @return parentId
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_PARENT_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getParentId() {
+ return parentId;
+ }
+
+ @JsonProperty(JSON_PROPERTY_PARENT_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setParentId(@jakarta.annotation.Nullable String parentId) {
+ this.parentId = parentId;
+ }
+
+ public ConnectedSingleAccountResponse subAccountsIds(
+ @jakarta.annotation.Nullable List subAccountsIds) {
+ this.subAccountsIds = subAccountsIds;
+ return this;
+ }
+
+ public ConnectedSingleAccountResponse addSubAccountsIdsItem(String subAccountsIdsItem) {
+ if (this.subAccountsIds == null) {
+ this.subAccountsIds = new ArrayList<>();
+ }
+ this.subAccountsIds.add(subAccountsIdsItem);
+ return this;
+ }
+
+ /**
+ * IDs of sub-accounts associated with this connected account.
+ *
+ * @return subAccountsIds
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SUB_ACCOUNTS_IDS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public List getSubAccountsIds() {
+ return subAccountsIds;
+ }
+
+ @JsonProperty(JSON_PROPERTY_SUB_ACCOUNTS_IDS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setSubAccountsIds(@jakarta.annotation.Nullable List subAccountsIds) {
+ this.subAccountsIds = subAccountsIds;
+ }
+
+ /** Return true if this ConnectedSingleAccountResponse object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ConnectedSingleAccountResponse connectedSingleAccountResponse =
+ (ConnectedSingleAccountResponse) o;
+ return Objects.equals(this.id, connectedSingleAccountResponse.id)
+ && Objects.equals(this.name, connectedSingleAccountResponse.name)
+ && Objects.equals(this.providerId, connectedSingleAccountResponse.providerId)
+ && Objects.equals(this.status, connectedSingleAccountResponse.status)
+ && Objects.equals(this.totalBalance, connectedSingleAccountResponse.totalBalance)
+ && Objects.equals(this.manifest, connectedSingleAccountResponse.manifest)
+ && Objects.equals(this.parentId, connectedSingleAccountResponse.parentId)
+ && Objects.equals(
+ this.subAccountsIds, connectedSingleAccountResponse.subAccountsIds);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ id, name, providerId, status, totalBalance, manifest, parentId, subAccountsIds);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ConnectedSingleAccountResponse {\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" providerId: ").append(toIndentedString(providerId)).append("\n");
+ sb.append(" status: ").append(toIndentedString(status)).append("\n");
+ sb.append(" totalBalance: ").append(toIndentedString(totalBalance)).append("\n");
+ sb.append(" manifest: ").append(toIndentedString(manifest)).append("\n");
+ sb.append(" parentId: ").append(toIndentedString(parentId)).append("\n");
+ sb.append(" subAccountsIds: ").append(toIndentedString(subAccountsIds)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `id` to the URL query string
+ if (getId() != null) {
+ joiner.add(
+ String.format(
+ "%sid%s=%s",
+ prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId()))));
+ }
+
+ // add `name` to the URL query string
+ if (getName() != null) {
+ joiner.add(
+ String.format(
+ "%sname%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getName()))));
+ }
+
+ // add `providerId` to the URL query string
+ if (getProviderId() != null) {
+ joiner.add(
+ String.format(
+ "%sproviderId%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getProviderId()))));
+ }
+
+ // add `status` to the URL query string
+ if (getStatus() != null) {
+ joiner.add(
+ String.format(
+ "%sstatus%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getStatus()))));
+ }
+
+ // add `totalBalance` to the URL query string
+ if (getTotalBalance() != null) {
+ joiner.add(getTotalBalance().toUrlQueryString(prefix + "totalBalance" + suffix));
+ }
+
+ // add `manifest` to the URL query string
+ if (getManifest() != null) {
+ joiner.add(getManifest().toUrlQueryString(prefix + "manifest" + suffix));
+ }
+
+ // add `parentId` to the URL query string
+ if (getParentId() != null) {
+ joiner.add(
+ String.format(
+ "%sparentId%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getParentId()))));
+ }
+
+ // add `subAccountsIds` to the URL query string
+ if (getSubAccountsIds() != null) {
+ for (int i = 0; i < getSubAccountsIds().size(); i++) {
+ joiner.add(
+ String.format(
+ "%ssubAccountsIds%s%s=%s",
+ prefix,
+ suffix,
+ "".equals(suffix)
+ ? ""
+ : String.format(
+ "%s%d%s", containerPrefix, i, containerSuffix),
+ ApiClient.urlEncode(
+ ApiClient.valueToString(getSubAccountsIds().get(i)))));
+ }
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/CreateOrderRequest.java b/src/main/java/com/fireblocks/sdk/model/CreateOrderRequest.java
new file mode 100644
index 00000000..5f274578
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/CreateOrderRequest.java
@@ -0,0 +1,359 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fireblocks.sdk.ApiClient;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** CreateOrderRequest */
+@JsonPropertyOrder({
+ CreateOrderRequest.JSON_PROPERTY_VIA,
+ CreateOrderRequest.JSON_PROPERTY_EXECUTION_REQUEST_DETAILS,
+ CreateOrderRequest.JSON_PROPERTY_SETTLEMENT,
+ CreateOrderRequest.JSON_PROPERTY_PARTICIPANTS_IDENTIFICATION,
+ CreateOrderRequest.JSON_PROPERTY_CUSTOMER_INTERNAL_REFERENCE_ID,
+ CreateOrderRequest.JSON_PROPERTY_NOTE
+})
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.14.0")
+public class CreateOrderRequest {
+ public static final String JSON_PROPERTY_VIA = "via";
+ @jakarta.annotation.Nonnull private AccessType via;
+
+ public static final String JSON_PROPERTY_EXECUTION_REQUEST_DETAILS = "executionRequestDetails";
+ @jakarta.annotation.Nonnull private ExecutionRequestDetails executionRequestDetails;
+
+ public static final String JSON_PROPERTY_SETTLEMENT = "settlement";
+ @jakarta.annotation.Nonnull private Settlement settlement;
+
+ public static final String JSON_PROPERTY_PARTICIPANTS_IDENTIFICATION =
+ "participantsIdentification";
+ @jakarta.annotation.Nullable private ParticipantsIdentification participantsIdentification;
+
+ public static final String JSON_PROPERTY_CUSTOMER_INTERNAL_REFERENCE_ID =
+ "customerInternalReferenceId";
+ @jakarta.annotation.Nullable private String customerInternalReferenceId;
+
+ public static final String JSON_PROPERTY_NOTE = "note";
+ @jakarta.annotation.Nullable private String note;
+
+ public CreateOrderRequest() {}
+
+ @JsonCreator
+ public CreateOrderRequest(
+ @JsonProperty(value = JSON_PROPERTY_VIA, required = true) AccessType via,
+ @JsonProperty(value = JSON_PROPERTY_EXECUTION_REQUEST_DETAILS, required = true)
+ ExecutionRequestDetails executionRequestDetails,
+ @JsonProperty(value = JSON_PROPERTY_SETTLEMENT, required = true)
+ Settlement settlement) {
+ this.via = via;
+ this.executionRequestDetails = executionRequestDetails;
+ this.settlement = settlement;
+ }
+
+ public CreateOrderRequest via(@jakarta.annotation.Nonnull AccessType via) {
+ this.via = via;
+ return this;
+ }
+
+ /**
+ * Get via
+ *
+ * @return via
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_VIA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public AccessType getVia() {
+ return via;
+ }
+
+ @JsonProperty(JSON_PROPERTY_VIA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setVia(@jakarta.annotation.Nonnull AccessType via) {
+ this.via = via;
+ }
+
+ public CreateOrderRequest executionRequestDetails(
+ @jakarta.annotation.Nonnull ExecutionRequestDetails executionRequestDetails) {
+ this.executionRequestDetails = executionRequestDetails;
+ return this;
+ }
+
+ /**
+ * Get executionRequestDetails
+ *
+ * @return executionRequestDetails
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_EXECUTION_REQUEST_DETAILS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public ExecutionRequestDetails getExecutionRequestDetails() {
+ return executionRequestDetails;
+ }
+
+ @JsonProperty(JSON_PROPERTY_EXECUTION_REQUEST_DETAILS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setExecutionRequestDetails(
+ @jakarta.annotation.Nonnull ExecutionRequestDetails executionRequestDetails) {
+ this.executionRequestDetails = executionRequestDetails;
+ }
+
+ public CreateOrderRequest settlement(@jakarta.annotation.Nonnull Settlement settlement) {
+ this.settlement = settlement;
+ return this;
+ }
+
+ /**
+ * Get settlement
+ *
+ * @return settlement
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_SETTLEMENT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Settlement getSettlement() {
+ return settlement;
+ }
+
+ @JsonProperty(JSON_PROPERTY_SETTLEMENT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setSettlement(@jakarta.annotation.Nonnull Settlement settlement) {
+ this.settlement = settlement;
+ }
+
+ public CreateOrderRequest participantsIdentification(
+ @jakarta.annotation.Nullable ParticipantsIdentification participantsIdentification) {
+ this.participantsIdentification = participantsIdentification;
+ return this;
+ }
+
+ /**
+ * Get participantsIdentification
+ *
+ * @return participantsIdentification
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_PARTICIPANTS_IDENTIFICATION)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public ParticipantsIdentification getParticipantsIdentification() {
+ return participantsIdentification;
+ }
+
+ @JsonProperty(JSON_PROPERTY_PARTICIPANTS_IDENTIFICATION)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setParticipantsIdentification(
+ @jakarta.annotation.Nullable ParticipantsIdentification participantsIdentification) {
+ this.participantsIdentification = participantsIdentification;
+ }
+
+ public CreateOrderRequest customerInternalReferenceId(
+ @jakarta.annotation.Nullable String customerInternalReferenceId) {
+ this.customerInternalReferenceId = customerInternalReferenceId;
+ return this;
+ }
+
+ /**
+ * Internal reference ID for the customer
+ *
+ * @return customerInternalReferenceId
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_CUSTOMER_INTERNAL_REFERENCE_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getCustomerInternalReferenceId() {
+ return customerInternalReferenceId;
+ }
+
+ @JsonProperty(JSON_PROPERTY_CUSTOMER_INTERNAL_REFERENCE_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setCustomerInternalReferenceId(
+ @jakarta.annotation.Nullable String customerInternalReferenceId) {
+ this.customerInternalReferenceId = customerInternalReferenceId;
+ }
+
+ public CreateOrderRequest note(@jakarta.annotation.Nullable String note) {
+ this.note = note;
+ return this;
+ }
+
+ /**
+ * Optional note for the order
+ *
+ * @return note
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_NOTE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getNote() {
+ return note;
+ }
+
+ @JsonProperty(JSON_PROPERTY_NOTE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setNote(@jakarta.annotation.Nullable String note) {
+ this.note = note;
+ }
+
+ /** Return true if this CreateOrderRequest object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ CreateOrderRequest createOrderRequest = (CreateOrderRequest) o;
+ return Objects.equals(this.via, createOrderRequest.via)
+ && Objects.equals(
+ this.executionRequestDetails, createOrderRequest.executionRequestDetails)
+ && Objects.equals(this.settlement, createOrderRequest.settlement)
+ && Objects.equals(
+ this.participantsIdentification,
+ createOrderRequest.participantsIdentification)
+ && Objects.equals(
+ this.customerInternalReferenceId,
+ createOrderRequest.customerInternalReferenceId)
+ && Objects.equals(this.note, createOrderRequest.note);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ via,
+ executionRequestDetails,
+ settlement,
+ participantsIdentification,
+ customerInternalReferenceId,
+ note);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class CreateOrderRequest {\n");
+ sb.append(" via: ").append(toIndentedString(via)).append("\n");
+ sb.append(" executionRequestDetails: ")
+ .append(toIndentedString(executionRequestDetails))
+ .append("\n");
+ sb.append(" settlement: ").append(toIndentedString(settlement)).append("\n");
+ sb.append(" participantsIdentification: ")
+ .append(toIndentedString(participantsIdentification))
+ .append("\n");
+ sb.append(" customerInternalReferenceId: ")
+ .append(toIndentedString(customerInternalReferenceId))
+ .append("\n");
+ sb.append(" note: ").append(toIndentedString(note)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `via` to the URL query string
+ if (getVia() != null) {
+ joiner.add(getVia().toUrlQueryString(prefix + "via" + suffix));
+ }
+
+ // add `executionRequestDetails` to the URL query string
+ if (getExecutionRequestDetails() != null) {
+ joiner.add(
+ getExecutionRequestDetails()
+ .toUrlQueryString(prefix + "executionRequestDetails" + suffix));
+ }
+
+ // add `settlement` to the URL query string
+ if (getSettlement() != null) {
+ joiner.add(getSettlement().toUrlQueryString(prefix + "settlement" + suffix));
+ }
+
+ // add `participantsIdentification` to the URL query string
+ if (getParticipantsIdentification() != null) {
+ joiner.add(
+ getParticipantsIdentification()
+ .toUrlQueryString(prefix + "participantsIdentification" + suffix));
+ }
+
+ // add `customerInternalReferenceId` to the URL query string
+ if (getCustomerInternalReferenceId() != null) {
+ joiner.add(
+ String.format(
+ "%scustomerInternalReferenceId%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(
+ ApiClient.valueToString(getCustomerInternalReferenceId()))));
+ }
+
+ // add `note` to the URL query string
+ if (getNote() != null) {
+ joiner.add(
+ String.format(
+ "%snote%s=%s",
+ prefix,
+ suffix,
+ ApiClient.urlEncode(ApiClient.valueToString(getNote()))));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/CreateQuote.java b/src/main/java/com/fireblocks/sdk/model/CreateQuote.java
new file mode 100644
index 00000000..d5426127
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/CreateQuote.java
@@ -0,0 +1,533 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonValue;
+import com.fireblocks.sdk.ApiClient;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** CreateQuote */
+@JsonPropertyOrder({
+ CreateQuote.JSON_PROPERTY_SCOPE,
+ CreateQuote.JSON_PROPERTY_BASE_ASSET_ID,
+ CreateQuote.JSON_PROPERTY_BASE_ASSET_RAIL,
+ CreateQuote.JSON_PROPERTY_QUOTE_ASSET_ID,
+ CreateQuote.JSON_PROPERTY_QUOTE_ASSET_RAIL,
+ CreateQuote.JSON_PROPERTY_BASE_AMOUNT,
+ CreateQuote.JSON_PROPERTY_SLIPPAGE_BPS,
+ CreateQuote.JSON_PROPERTY_SETTLEMENT,
+ CreateQuote.JSON_PROPERTY_SIDE
+})
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.14.0")
+public class CreateQuote {
+ public static final String JSON_PROPERTY_SCOPE = "scope";
+ @jakarta.annotation.Nonnull private List scope = new ArrayList<>();
+
+ public static final String JSON_PROPERTY_BASE_ASSET_ID = "baseAssetId";
+ @jakarta.annotation.Nonnull private String baseAssetId;
+
+ public static final String JSON_PROPERTY_BASE_ASSET_RAIL = "baseAssetRail";
+ @jakarta.annotation.Nullable private TransferRail baseAssetRail;
+
+ public static final String JSON_PROPERTY_QUOTE_ASSET_ID = "quoteAssetId";
+ @jakarta.annotation.Nonnull private String quoteAssetId;
+
+ public static final String JSON_PROPERTY_QUOTE_ASSET_RAIL = "quoteAssetRail";
+ @jakarta.annotation.Nullable private TransferRail quoteAssetRail;
+
+ public static final String JSON_PROPERTY_BASE_AMOUNT = "baseAmount";
+ @jakarta.annotation.Nonnull private String baseAmount;
+
+ public static final String JSON_PROPERTY_SLIPPAGE_BPS = "slippageBps";
+ @jakarta.annotation.Nullable private BigDecimal slippageBps = new BigDecimal("50");
+
+ public static final String JSON_PROPERTY_SETTLEMENT = "settlement";
+ @jakarta.annotation.Nullable private DVPSettlement settlement;
+
+ /** Side of the order */
+ public enum SideEnum {
+ BUY(String.valueOf("BUY")),
+
+ SELL(String.valueOf("SELL"));
+
+ private String value;
+
+ SideEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static SideEnum fromValue(String value) {
+ for (SideEnum b : SideEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+ }
+
+ public static final String JSON_PROPERTY_SIDE = "side";
+ @jakarta.annotation.Nonnull private SideEnum side;
+
+ public CreateQuote() {}
+
+ @JsonCreator
+ public CreateQuote(
+ @JsonProperty(value = JSON_PROPERTY_SCOPE, required = true)
+ List scope,
+ @JsonProperty(value = JSON_PROPERTY_BASE_ASSET_ID, required = true) String baseAssetId,
+ @JsonProperty(value = JSON_PROPERTY_QUOTE_ASSET_ID, required = true)
+ String quoteAssetId,
+ @JsonProperty(value = JSON_PROPERTY_BASE_AMOUNT, required = true) String baseAmount,
+ @JsonProperty(value = JSON_PROPERTY_SIDE, required = true) SideEnum side) {
+ this.scope = scope;
+ this.baseAssetId = baseAssetId;
+ this.quoteAssetId = quoteAssetId;
+ this.baseAmount = baseAmount;
+ this.side = side;
+ }
+
+ public CreateQuote scope(@jakarta.annotation.Nonnull List