From 5c7d6c18c53b349bf9bf9d10e5241ea33e53d4de Mon Sep 17 00:00:00 2001 From: fireblocks_dx_team Date: Wed, 30 Sep 2026 13:03:06 +0000 Subject: [PATCH] Generated SDK #2897331076 --- .openapi-generator/FILES | 72 ++- CHANGELOG.md | 258 ---------- README.md | 72 ++- api.ts | 2 +- api/compliance-api.ts | 202 +++++++- ...-beta-api.ts => connected-accounts-api.ts} | 440 ++++++++-------- api/console-user-api.ts | 97 ++++ api/utxomanagement-beta-api.ts | 385 +++++++++++++- api/webhooks-v2-api.ts | 471 +++++++++++++++++- client/client.ts | 8 +- docs/apis/ComplianceApi.md | 141 +++++- ...untsBetaApi.md => ConnectedAccountsApi.md} | 102 ++-- docs/apis/ConsoleUserApi.md | 70 +++ docs/apis/UTXOManagementBetaApi.md | 256 +++++++++- docs/apis/WebhooksV2Api.md | 318 +++++++++++- ...ssRegistryCreateProofOfOwnershipRequest.md | 12 + ...sRegistryCreateProofOfOwnershipResponse.md | 15 + docs/models/AddressRegistryError.md | 13 - docs/models/AddressRegistryLegalEntity.md | 3 +- .../AddressRegistryTravelRuleProvider.md | 16 - ...ssRegistryVerifyProofOfOwnershipRequest.md | 15 + ...sRegistryVerifyProofOfOwnershipResponse.md | 13 + docs/models/AllocationWithdrawPayload.md | 11 - docs/models/CantonCallDetails.md | 16 + docs/models/CantonDetails.md | 14 + docs/models/CantonDomainEnum.md | 14 + docs/models/CantonOfferResponseDetails.md | 28 ++ docs/models/CantonSettlementDetails.md | 15 + docs/models/CantonVendorEnum.md | 12 + docs/models/CreateWebhookMtlsConfigRequest.md | 13 + docs/models/CreateWebhookOauthRequest.md | 2 +- docs/models/CreateWebhookRequest.md | 2 +- .../models/DeleteWebhookMtlsConfigResponse.md | 19 + docs/models/DeleteWebhookOauthResponse.md | 2 +- docs/models/EffectiveUtxoSelectionConfig.md | 13 + docs/models/ExecutionRequestDetails.md | 4 +- docs/models/ExecutionRequestDetailsType.md | 2 + docs/models/ExecutionResponseDetails.md | 4 +- docs/models/FailureReason.md | 10 + docs/models/FokTimeInForce.md | 19 + docs/models/LimitExecutionRequestDetails.md | 20 + docs/models/LimitExecutionResponseDetails.md | 20 + docs/models/LimitTypeDetails.md | 14 + docs/models/LimitTypeEnum.md | 10 + docs/models/Offer.md | 2 +- docs/models/OfferResponse.md | 2 +- docs/models/OfferResponseAllocation.md | 2 +- docs/models/OfferResponseTransfer.md | 2 +- docs/models/OnboardingResponse.md | 2 +- docs/models/OnboardingResponseDtccAccept.md | 2 +- docs/models/OnboardingResponseDtccReject.md | 2 +- .../OnboardingResponseTradewebAccept.md | 2 +- .../OnboardingResponseTradewebReject.md | 2 +- docs/models/ParticipantOnboardingPayload.md | 2 +- ...{WebhookMtls.md => PostTradeSettlement.md} | 4 +- docs/models/PostTradeSettlementType.md | 10 + docs/models/Quote.md | 2 +- docs/models/QuoteOffer.md | 2 +- docs/models/RatesRequest.md | 1 + docs/models/Settlement.md | 2 +- docs/models/SettlementTypeEnum.md | 2 + docs/models/TimeInForce.md | 19 + docs/models/TransactionOperation.md | 2 + docs/models/TransactionResponse.md | 1 + docs/models/TravelRuleIssuers.md | 6 +- docs/models/UpdateWebhookMtlsConfigRequest.md | 13 + docs/models/UpdateWebhookOauthRequest.md | 2 +- docs/models/UpdateWebhookRequest.md | 2 +- .../UpsertUtxoSelectionConfigRequest.md | 12 + docs/models/UtxoIdentifier.md | 2 +- docs/models/UtxoLabelFailure.md | 34 ++ docs/models/UtxoLabelsErrorResponse.md | 13 + docs/models/UtxoSelectionConfigEntry.md | 13 + docs/models/UtxoSelectionConfigResponse.md | 13 + docs/models/UtxoSelectionConfigSourceEnum.md | 14 + docs/models/UtxoSelectionStrategyEnum.md | 14 + docs/models/Webhook.md | 2 +- docs/models/WebhookMtlsConfig.md | 17 + docs/models/WebhookMtlsConfigsList.md | 11 + docs/models/WebhookOauthCredentials.md | 2 +- ...istry-create-proof-of-ownership-request.ts | 30 ++ ...stry-create-proof-of-ownership-response.ts | 48 ++ models/address-registry-legal-entity.ts | 13 +- ...istry-verify-proof-of-ownership-request.ts | 48 ++ ...stry-verify-proof-of-ownership-response.ts | 36 ++ models/allocation-withdraw-payload.ts | 20 - models/canton-call-details.ts | 62 +++ models/canton-details.ts | 51 ++ ...rule-provider.ts => canton-domain-enum.ts} | 13 +- models/canton-offer-response-details.ts | 86 ++++ models/canton-settlement-details.ts | 53 ++ models/canton-vendor-enum.ts | 31 ++ ... => create-webhook-mtls-config-request.ts} | 20 +- models/create-webhook-oauth-request.ts | 4 +- models/create-webhook-request.ts | 9 +- models/delete-webhook-mtls-config-response.ts | 27 + models/effective-utxo-selection-config.ts | 44 ++ models/execution-request-details-type.ts | 3 +- models/execution-request-details.ts | 12 +- models/execution-response-details.ts | 12 +- models/failure-reason.ts | 7 +- models/fok-time-in-force.ts | 37 ++ models/index.ts | 34 +- models/limit-execution-request-details.ts | 41 ++ models/limit-execution-response-details.ts | 41 ++ models/limit-type-details.ts | 50 ++ models/limit-type-enum.ts | 30 ++ models/offer-response-allocation.ts | 2 +- models/offer-response-transfer.ts | 2 +- models/offer-response.ts | 2 +- models/onboarding-response-dtcc-accept.ts | 2 +- models/onboarding-response-dtcc-reject.ts | 2 +- models/onboarding-response-tradeweb-accept.ts | 2 +- models/onboarding-response-tradeweb-reject.ts | 2 +- models/participant-onboarding-payload.ts | 12 +- models/post-trade-settlement-type.ts | 30 ++ models/post-trade-settlement.ts | 35 ++ models/quote.ts | 2 +- models/rates-request.ts | 6 + models/settlement-type-enum.ts | 3 +- models/settlement.ts | 7 +- models/time-in-force.ts | 27 + models/transaction-operation.ts | 5 +- models/transaction-response.ts | 9 + models/travel-rule-issuers.ts | 24 +- models/travel-rule-vasp.ts | 36 +- models/update-webhook-mtls-config-request.ts | 36 ++ models/update-webhook-oauth-request.ts | 6 +- models/update-webhook-request.ts | 9 +- ...> upsert-utxo-selection-config-request.ts} | 19 +- models/utxo-identifier.ts | 2 +- models/utxo-label-failure.ts | 60 +++ models/utxo-labels-error-response.ts | 39 ++ models/utxo-selection-config-entry.ts | 41 ++ models/utxo-selection-config-response.ts | 42 ++ models/utxo-selection-config-source-enum.ts | 32 ++ models/utxo-selection-strategy-enum.ts | 32 ++ models/webhook-mtls-config.ts | 60 +++ models/webhook-mtls-configs-list.ts | 27 + models/webhook-oauth-credentials.ts | 4 +- models/webhook.ts | 9 +- package-lock.json | 38 +- package.json | 2 +- tests/client.spec.ts | 14 +- 144 files changed, 4222 insertions(+), 802 deletions(-) delete mode 100644 CHANGELOG.md rename api/{connected-accounts-beta-api.ts => connected-accounts-api.ts} (77%) rename docs/apis/{ConnectedAccountsBetaApi.md => ConnectedAccountsApi.md} (85%) create mode 100644 docs/models/AddressRegistryCreateProofOfOwnershipRequest.md create mode 100644 docs/models/AddressRegistryCreateProofOfOwnershipResponse.md delete mode 100644 docs/models/AddressRegistryError.md delete mode 100644 docs/models/AddressRegistryTravelRuleProvider.md create mode 100644 docs/models/AddressRegistryVerifyProofOfOwnershipRequest.md create mode 100644 docs/models/AddressRegistryVerifyProofOfOwnershipResponse.md create mode 100644 docs/models/CantonCallDetails.md create mode 100644 docs/models/CantonDetails.md create mode 100644 docs/models/CantonDomainEnum.md create mode 100644 docs/models/CantonOfferResponseDetails.md create mode 100644 docs/models/CantonSettlementDetails.md create mode 100644 docs/models/CantonVendorEnum.md create mode 100644 docs/models/CreateWebhookMtlsConfigRequest.md create mode 100644 docs/models/DeleteWebhookMtlsConfigResponse.md create mode 100644 docs/models/EffectiveUtxoSelectionConfig.md create mode 100644 docs/models/FokTimeInForce.md create mode 100644 docs/models/LimitExecutionRequestDetails.md create mode 100644 docs/models/LimitExecutionResponseDetails.md create mode 100644 docs/models/LimitTypeDetails.md create mode 100644 docs/models/LimitTypeEnum.md rename docs/models/{WebhookMtls.md => PostTradeSettlement.md} (67%) create mode 100644 docs/models/PostTradeSettlementType.md create mode 100644 docs/models/TimeInForce.md create mode 100644 docs/models/UpdateWebhookMtlsConfigRequest.md create mode 100644 docs/models/UpsertUtxoSelectionConfigRequest.md create mode 100644 docs/models/UtxoLabelFailure.md create mode 100644 docs/models/UtxoLabelsErrorResponse.md create mode 100644 docs/models/UtxoSelectionConfigEntry.md create mode 100644 docs/models/UtxoSelectionConfigResponse.md create mode 100644 docs/models/UtxoSelectionConfigSourceEnum.md create mode 100644 docs/models/UtxoSelectionStrategyEnum.md create mode 100644 docs/models/WebhookMtlsConfig.md create mode 100644 docs/models/WebhookMtlsConfigsList.md create mode 100644 models/address-registry-create-proof-of-ownership-request.ts create mode 100644 models/address-registry-create-proof-of-ownership-response.ts create mode 100644 models/address-registry-verify-proof-of-ownership-request.ts create mode 100644 models/address-registry-verify-proof-of-ownership-response.ts create mode 100644 models/canton-call-details.ts create mode 100644 models/canton-details.ts rename models/{address-registry-travel-rule-provider.ts => canton-domain-enum.ts} (62%) create mode 100644 models/canton-offer-response-details.ts create mode 100644 models/canton-settlement-details.ts create mode 100644 models/canton-vendor-enum.ts rename models/{address-registry-error.ts => create-webhook-mtls-config-request.ts} (52%) create mode 100644 models/delete-webhook-mtls-config-response.ts create mode 100644 models/effective-utxo-selection-config.ts create mode 100644 models/fok-time-in-force.ts create mode 100644 models/limit-execution-request-details.ts create mode 100644 models/limit-execution-response-details.ts create mode 100644 models/limit-type-details.ts create mode 100644 models/limit-type-enum.ts create mode 100644 models/post-trade-settlement-type.ts create mode 100644 models/post-trade-settlement.ts create mode 100644 models/time-in-force.ts create mode 100644 models/update-webhook-mtls-config-request.ts rename models/{webhook-mtls.ts => upsert-utxo-selection-config-request.ts} (62%) create mode 100644 models/utxo-label-failure.ts create mode 100644 models/utxo-labels-error-response.ts create mode 100644 models/utxo-selection-config-entry.ts create mode 100644 models/utxo-selection-config-response.ts create mode 100644 models/utxo-selection-config-source-enum.ts create mode 100644 models/utxo-selection-strategy-enum.ts create mode 100644 models/webhook-mtls-config.ts create mode 100644 models/webhook-mtls-configs-list.ts diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index aa3b74e7..693800b5 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -55,16 +55,18 @@ AddressNotAvailableError.md AddressRegistryAddVaultOptOutsRequest.md AddressRegistryAddVaultOptOutsRequestVaultAccountIdsInner.md AddressRegistryAddVaultOptOutsResponse.md -AddressRegistryError.md +AddressRegistryCreateProofOfOwnershipRequest.md +AddressRegistryCreateProofOfOwnershipResponse.md AddressRegistryGetVaultOptOutResponse.md AddressRegistryLegalEntity.md AddressRegistryListVaultOptOutsResponse.md AddressRegistryRemoveAllVaultOptOutsResponse.md AddressRegistryRemoveVaultOptOutResponse.md AddressRegistryTenantRegistryResponse.md -AddressRegistryTravelRuleProvider.md AddressRegistryVaultListOrder.md AddressRegistryVaultOptOutItem.md +AddressRegistryVerifyProofOfOwnershipRequest.md +AddressRegistryVerifyProofOfOwnershipResponse.md AddressReverseLookupResponse.md AddressesFilters.md AlertExposureTypeEnum.md @@ -199,11 +201,17 @@ CantonCall.md CantonCallAllocationWithdraw.md CantonCallAllowListAdd.md CantonCallAllowListRemove.md +CantonCallDetails.md CantonCallEndInvestorInvite.md CantonCallEndInvestorInviteCancel.md CantonCallEndInvestorOffboard.md CantonCallParticipantOnboarding.md CantonCallTransferWithdraw.md +CantonDetails.md +CantonDomainEnum.md +CantonOfferResponseDetails.md +CantonSettlementDetails.md +CantonVendorEnum.md ChainDescriptor.md ChainInfoResponse.md ChannelDvnConfigWithConfirmations.md @@ -258,7 +266,7 @@ ConnectedAccountTradingPair.md ConnectedAccountTradingPairSupportedType.md ConnectedAccountTradingPairsResponse.md ConnectedAccountType.md -ConnectedAccountsBetaApi.md +ConnectedAccountsApi.md ConnectedAccountsResponse.md ConnectedSingleAccount.md ConnectedSingleAccountResponse.md @@ -362,6 +370,7 @@ CreateVaultAccountConnectionRequest.md CreateVaultAccountRequest.md CreateVaultAssetResponse.md CreateWalletRequest.md +CreateWebhookMtlsConfigRequest.md CreateWebhookOauthRequest.md CreateWebhookRequest.md CreateWorkflowExecutionRequestParamsInner.md @@ -376,6 +385,7 @@ DelegationBlockchainPositionInfo.md DelegationSummary.md DeleteNetworkConnectionResponse.md DeleteNetworkIdResponse.md +DeleteWebhookMtlsConfigResponse.md DeleteWebhookOauthResponse.md DeployLayerZeroAdaptersRequest.md DeployLayerZeroAdaptersResponse.md @@ -426,6 +436,7 @@ EarnCurator.md EarnMetadata.md EarnProvider.md EditGasStationConfigurationResponse.md +EffectiveUtxoSelectionConfig.md EmbeddedWallet.md EmbeddedWalletAccount.md EmbeddedWalletAddressDetails.md @@ -509,6 +520,7 @@ FindingInfo.md FixedAmountTypeEnum.md FixedFee.md FlowDirection.md +FokTimeInForce.md FpsHkAddress.md FpsHkDestination.md FpsHkPaymentInfo.md @@ -648,6 +660,10 @@ LegacySrcOrDestAttributes.md LegacySrcOrDestAttributesInner.md LegalEntityRegistration.md LeiStatus.md +LimitExecutionRequestDetails.md +LimitExecutionResponseDetails.md +LimitTypeDetails.md +LimitTypeEnum.md LinkedTokensCount.md ListApprovalApiKeysResponse.md ListApprovalsResponse.md @@ -822,6 +838,8 @@ PolicyVerdictActionEnum2.md Position.md Position2.md PositionRelatedTransaction.md +PostTradeSettlement.md +PostTradeSettlementType.md PostalAddress.md PreScreening.md PrefundedSettlement.md @@ -1172,6 +1190,7 @@ TagsPagedResponse.md TemplatesPaginatedResponse.md ThirdPartyRouting.md TimeBasedTrigger.md +TimeInForce.md TimePeriodConfig.md TimePeriodMatchType.md ToCollateralTransaction.md @@ -1327,10 +1346,12 @@ UpdateTokensOwnershipSpamRequest.md UpdateTokensOwnershipStatusRequest.md UpdateVaultAccountAssetAddressRequest.md UpdateVaultAccountRequest.md +UpdateWebhookMtlsConfigRequest.md UpdateWebhookOauthRequest.md UpdateWebhookRequest.md UpdateWorkflowStatusRequest.md UpdateWorkflowStatusResponse.md +UpsertUtxoSelectionConfigRequest.md UsWirePaymentInfo.md UsdcGatewayWalletAsset.md UsdcGatewayWalletInfoResponse.md @@ -1350,9 +1371,15 @@ UtxoIdentifier.md UtxoInput.md UtxoInput2.md UtxoInputSelection.md +UtxoLabelFailure.md +UtxoLabelsErrorResponse.md UtxoOutput.md +UtxoSelectionConfigEntry.md +UtxoSelectionConfigResponse.md +UtxoSelectionConfigSourceEnum.md UtxoSelectionFilters.md UtxoSelectionParams.md +UtxoSelectionStrategyEnum.md ValidateAddressResponse.md ValidateLayerZeroChannelResponse.md ValidationKeyDto.md @@ -1381,7 +1408,8 @@ WebhookCustomHeadersResponse.md WebhookCustomHeadersUpdate.md WebhookEvent.md WebhookMetric.md -WebhookMtls.md +WebhookMtlsConfig.md +WebhookMtlsConfigsList.md WebhookMtlsCsrResponse.md WebhookMtlsKeyAlgorithm.md WebhookOauthCredentials.md @@ -1417,7 +1445,7 @@ api/blockchains-assets-api.ts api/compliance-api.ts api/compliance-orchestrator-beta-api.ts api/compliance-screening-configuration-api.ts -api/connected-accounts-beta-api.ts +api/connected-accounts-api.ts api/console-user-api.ts api/contacts-api.ts api/contract-interactions-api.ts @@ -1525,16 +1553,18 @@ models/address-not-available-error.ts models/address-registry-add-vault-opt-outs-request-vault-account-ids-inner.ts models/address-registry-add-vault-opt-outs-request.ts models/address-registry-add-vault-opt-outs-response.ts -models/address-registry-error.ts +models/address-registry-create-proof-of-ownership-request.ts +models/address-registry-create-proof-of-ownership-response.ts models/address-registry-get-vault-opt-out-response.ts models/address-registry-legal-entity.ts models/address-registry-list-vault-opt-outs-response.ts models/address-registry-remove-all-vault-opt-outs-response.ts models/address-registry-remove-vault-opt-out-response.ts models/address-registry-tenant-registry-response.ts -models/address-registry-travel-rule-provider.ts models/address-registry-vault-list-order.ts models/address-registry-vault-opt-out-item.ts +models/address-registry-verify-proof-of-ownership-request.ts +models/address-registry-verify-proof-of-ownership-response.ts models/address-reverse-lookup-response.ts models/addresses-filters.ts models/alert-exposure-type-enum.ts @@ -1665,12 +1695,18 @@ models/cancel-transaction-response.ts models/canton-call-allocation-withdraw.ts models/canton-call-allow-list-add.ts models/canton-call-allow-list-remove.ts +models/canton-call-details.ts models/canton-call-end-investor-invite-cancel.ts models/canton-call-end-investor-invite.ts models/canton-call-end-investor-offboard.ts models/canton-call-participant-onboarding.ts models/canton-call-transfer-withdraw.ts models/canton-call.ts +models/canton-details.ts +models/canton-domain-enum.ts +models/canton-offer-response-details.ts +models/canton-settlement-details.ts +models/canton-vendor-enum.ts models/chain-descriptor.ts models/chain-info-response.ts models/channel-dvn-config-with-confirmations-receive-config.ts @@ -1819,6 +1855,7 @@ models/create-vault-account-connection-request.ts models/create-vault-account-request.ts models/create-vault-asset-response.ts models/create-wallet-request.ts +models/create-webhook-mtls-config-request.ts models/create-webhook-oauth-request.ts models/create-webhook-request.ts models/create-workflow-execution-request-params-inner.ts @@ -1831,6 +1868,7 @@ models/delegation-summary.ts models/delegation.ts models/delete-network-connection-response.ts models/delete-network-id-response.ts +models/delete-webhook-mtls-config-response.ts models/delete-webhook-oauth-response.ts models/deploy-layer-zero-adapters-request.ts models/deploy-layer-zero-adapters-response.ts @@ -1880,6 +1918,7 @@ models/earn-curator.ts models/earn-metadata.ts models/earn-provider.ts models/edit-gas-station-configuration-response.ts +models/effective-utxo-selection-config.ts models/embedded-wallet-account.ts models/embedded-wallet-address-details.ts models/embedded-wallet-algoritm.ts @@ -1960,6 +1999,7 @@ models/finding-info.ts models/fixed-amount-type-enum.ts models/fixed-fee.ts models/flow-direction.ts +models/fok-time-in-force.ts models/fps-hk-address.ts models/fps-hk-destination.ts models/fps-hk-payment-info.ts @@ -2094,6 +2134,10 @@ models/legacy-src-or-dest-attributes-inner.ts models/legacy-src-or-dest-attributes.ts models/legal-entity-registration.ts models/lei-status.ts +models/limit-execution-request-details.ts +models/limit-execution-response-details.ts +models/limit-type-details.ts +models/limit-type-enum.ts models/linked-tokens-count.ts models/list-approval-api-keys-response.ts models/list-approvals-response.ts @@ -2259,6 +2303,8 @@ models/policy-verdict-action-enum2.ts models/position-related-transaction.ts models/position.ts models/position2.ts +models/post-trade-settlement-type.ts +models/post-trade-settlement.ts models/postal-address.ts models/pre-screening.ts models/prefunded-settlement-type.ts @@ -2508,6 +2554,7 @@ models/tags-paged-response.ts models/templates-paginated-response.ts models/third-party-routing.ts models/time-based-trigger.ts +models/time-in-force.ts models/time-period-config.ts models/time-period-match-type.ts models/to-collateral-transaction.ts @@ -2749,10 +2796,12 @@ models/update-tokens-ownership-spam-request.ts models/update-tokens-ownership-status-request.ts models/update-vault-account-asset-address-request.ts models/update-vault-account-request.ts +models/update-webhook-mtls-config-request.ts models/update-webhook-oauth-request.ts models/update-webhook-request.ts models/update-workflow-status-request.ts models/update-workflow-status-response.ts +models/upsert-utxo-selection-config-request.ts models/us-wire-payment-info.ts models/usdc-gateway-wallet-asset.ts models/usdc-gateway-wallet-info-response.ts @@ -2772,9 +2821,15 @@ models/utxo-identifier.ts models/utxo-input-selection.ts models/utxo-input.ts models/utxo-input2.ts +models/utxo-label-failure.ts +models/utxo-labels-error-response.ts models/utxo-output.ts +models/utxo-selection-config-entry.ts +models/utxo-selection-config-response.ts +models/utxo-selection-config-source-enum.ts models/utxo-selection-filters.ts models/utxo-selection-params.ts +models/utxo-selection-strategy-enum.ts models/validate-address-response.ts models/validate-layer-zero-channel-response.ts models/validation-key-dto.ts @@ -2800,9 +2855,10 @@ models/webhook-custom-headers-update.ts models/webhook-custom-headers.ts models/webhook-event.ts models/webhook-metric.ts +models/webhook-mtls-config.ts +models/webhook-mtls-configs-list.ts models/webhook-mtls-csr-response.ts models/webhook-mtls-key-algorithm.ts -models/webhook-mtls.ts models/webhook-oauth-credentials.ts models/webhook-oauth-custom-body-params-update.ts models/webhook-oauth-custom-body-params.ts diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 111fa3a9..00000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,258 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [v32.0.0](https://github.com/fireblocks/ts-sdk/compare/v19.0.0...v32.0.0) - 2026-09-23 - -### Merged - -- Generated SDK #2874610640 [`#210`](https://github.com/fireblocks/ts-sdk/pull/210) - -## [v19.0.0](https://github.com/fireblocks/ts-sdk/compare/v18.0.0...v19.0.0) - 2026-05-17 - -### Merged - -- Generated SDK #7742 (major) [`#183`](https://github.com/fireblocks/ts-sdk/pull/183) - -## [v18.0.0](https://github.com/fireblocks/ts-sdk/compare/v17.0.0...v18.0.0) - 2026-05-06 - -### Merged - -- Generated SDK #3222 [`#181`](https://github.com/fireblocks/ts-sdk/pull/181) - -## [v17.0.0](https://github.com/fireblocks/ts-sdk/compare/v16.0.0...v17.0.0) - 2026-04-20 - -### Merged - -- Generated SDK #9605 (major) [`#180`](https://github.com/fireblocks/ts-sdk/pull/180) - -## [v16.0.0](https://github.com/fireblocks/ts-sdk/compare/v15.0.0...v16.0.0) - 2026-04-06 - -### Merged - -- Generated SDK #3331 [`#179`](https://github.com/fireblocks/ts-sdk/pull/179) - -## [v15.0.0](https://github.com/fireblocks/ts-sdk/compare/v14.1.0...v15.0.0) - 2026-03-15 - -### Merged - -- Generated SDK #3733 (major) [`#174`](https://github.com/fireblocks/ts-sdk/pull/174) - -## [v14.1.0](https://github.com/fireblocks/ts-sdk/compare/v14.0.0...v14.1.0) - 2026-02-26 - -### Merged - -- Generated SDK #2167 [`#172`](https://github.com/fireblocks/ts-sdk/pull/172) - -## [v14.0.0](https://github.com/fireblocks/ts-sdk/compare/v13.0.0...v14.0.0) - 2026-02-03 - -### Merged - -- Generated SDK #4746 [`#164`](https://github.com/fireblocks/ts-sdk/pull/164) - -## [v13.0.0](https://github.com/fireblocks/ts-sdk/compare/v12.1.2...v13.0.0) - 2025-11-13 - -### Merged - -- Generated SDK #5834 [`#146`](https://github.com/fireblocks/ts-sdk/pull/146) - -## [v12.1.2](https://github.com/fireblocks/ts-sdk/compare/v12.1.1...v12.1.2) - 2025-10-22 - -### Merged - -- Generated SDK #8293 [`#145`](https://github.com/fireblocks/ts-sdk/pull/145) - -## [v12.1.1](https://github.com/fireblocks/ts-sdk/compare/v12.1.0...v12.1.1) - 2025-09-29 - -### Merged - -- Generated SDK #6061 [`#143`](https://github.com/fireblocks/ts-sdk/pull/143) - -## [v12.1.0](https://github.com/fireblocks/ts-sdk/compare/v12.0.0...v12.1.0) - 2025-09-09 - -### Merged - -- Generated SDK #4521 [`#142`](https://github.com/fireblocks/ts-sdk/pull/142) - -## [v12.0.0](https://github.com/fireblocks/ts-sdk/compare/v11.2.0...v12.0.0) - 2025-09-01 - -### Merged - -- Generated SDK #7741 [`#141`](https://github.com/fireblocks/ts-sdk/pull/141) - -## [v11.2.0](https://github.com/fireblocks/ts-sdk/compare/v11.1.0...v11.2.0) - 2025-08-18 - -### Merged - -- Generated SDK #3302 [`#140`](https://github.com/fireblocks/ts-sdk/pull/140) - -## [v11.1.0](https://github.com/fireblocks/ts-sdk/compare/v11.0.0...v11.1.0) - 2025-08-11 - -### Merged - -- Generated SDK #1782 [`#139`](https://github.com/fireblocks/ts-sdk/pull/139) - -## [v11.0.0](https://github.com/fireblocks/ts-sdk/compare/v10.4.0...v11.0.0) - 2025-07-15 - -### Merged - -- Generated SDK #5610 [`#136`](https://github.com/fireblocks/ts-sdk/pull/136) - -## [v10.4.0](https://github.com/fireblocks/ts-sdk/compare/v10.3.0...v10.4.0) - 2025-06-29 - -### Merged - -- Generated SDK #1492 [`#135`](https://github.com/fireblocks/ts-sdk/pull/135) - -## [v10.3.0](https://github.com/fireblocks/ts-sdk/compare/v10.2.0...v10.3.0) - 2025-06-18 - -### Merged - -- Generated SDK #4009 [`#134`](https://github.com/fireblocks/ts-sdk/pull/134) - -## [v10.2.0](https://github.com/fireblocks/ts-sdk/compare/v10.1.1...v10.2.0) - 2025-06-04 - -### Merged - -- Generated SDK #8912 [`#133`](https://github.com/fireblocks/ts-sdk/pull/133) - -## [v10.1.1](https://github.com/fireblocks/ts-sdk/compare/v10.1.0...v10.1.1) - 2025-05-18 - -### Merged - -- Generated SDK #5019 [`#132`](https://github.com/fireblocks/ts-sdk/pull/132) - -## [v10.1.0](https://github.com/fireblocks/ts-sdk/compare/v10.0.2...v10.1.0) - 2025-05-07 - -### Merged - -- Generated SDK #7076 [`#130`](https://github.com/fireblocks/ts-sdk/pull/130) - -## [v10.0.2](https://github.com/fireblocks/ts-sdk/compare/v10.0.1...v10.0.2) - 2025-04-20 - -### Merged - -- Generated SDK #4794 [`#128`](https://github.com/fireblocks/ts-sdk/pull/128) - -## [v10.0.1](https://github.com/fireblocks/ts-sdk/compare/v10.0.0...v10.0.1) - 2025-04-07 - -### Merged - -- Generated SDK #3065 [`#126`](https://github.com/fireblocks/ts-sdk/pull/126) - -## [v10.0.0](https://github.com/fireblocks/ts-sdk/compare/v9.0.0...v10.0.0) - 2025-03-27 - -### Merged - -- Generated SDK #619 [`#124`](https://github.com/fireblocks/ts-sdk/pull/124) - -## [v9.0.0](https://github.com/fireblocks/ts-sdk/compare/v8.1.0...v9.0.0) - 2025-03-17 - -### Merged - -- Generated SDK #645 [`#123`](https://github.com/fireblocks/ts-sdk/pull/123) - -## [v8.1.0](https://github.com/fireblocks/ts-sdk/compare/v8.0.1...v8.1.0) - 2025-02-24 - -### Merged - -- Generated SDK #9833 [`#120`](https://github.com/fireblocks/ts-sdk/pull/120) - -## [v8.0.1](https://github.com/fireblocks/ts-sdk/compare/v8.0.0...v8.0.1) - 2025-02-12 - -### Merged - -- Generated SDK #4262 [`#119`](https://github.com/fireblocks/ts-sdk/pull/119) - -## [v8.0.0](https://github.com/fireblocks/ts-sdk/compare/v7.0.0...v8.0.0) - 2025-02-02 - -### Merged - -- Generated SDK #538 [`#118`](https://github.com/fireblocks/ts-sdk/pull/118) - -## [v7.0.0](https://github.com/fireblocks/ts-sdk/compare/v6.0.0...v7.0.0) - 2025-01-08 - -### Merged - -- Generated SDK #8699 [`#116`](https://github.com/fireblocks/ts-sdk/pull/116) - -## [v6.0.0](https://github.com/fireblocks/ts-sdk/compare/v5.0.0...v6.0.0) - 2024-12-05 - -### Merged - -- Generated SDK #1430 [`#111`](https://github.com/fireblocks/ts-sdk/pull/111) - -## [v5.0.0](https://github.com/fireblocks/ts-sdk/compare/v4.0.0...v5.0.0) - 2024-10-31 - -### Merged - -- Generated SDK #5184 [`#109`](https://github.com/fireblocks/ts-sdk/pull/109) - -## [v4.0.0](https://github.com/fireblocks/ts-sdk/compare/v3.1.0...v4.0.0) - 2024-09-17 - -### Merged - -- Generated SDK #237 [`#107`](https://github.com/fireblocks/ts-sdk/pull/107) - -## [v3.1.0](https://github.com/fireblocks/ts-sdk/compare/v3.0.0...v3.1.0) - 2024-07-25 - -### Merged - -- Generated SDK #6749 [`#102`](https://github.com/fireblocks/ts-sdk/pull/102) - -## [v3.0.0](https://github.com/fireblocks/ts-sdk/compare/v2.1.0...v3.0.0) - 2024-07-17 - -### Merged - -- Generated SDK #6152 [`#90`](https://github.com/fireblocks/ts-sdk/pull/90) -- Generated SDK #2589 [`#86`](https://github.com/fireblocks/ts-sdk/pull/86) -- Generated SDK #7882 [`#85`](https://github.com/fireblocks/ts-sdk/pull/85) -- Generated SDK #8418 [`#84`](https://github.com/fireblocks/ts-sdk/pull/84) -- Generated SDK #3524 [`#83`](https://github.com/fireblocks/ts-sdk/pull/83) -- Generated SDK #7984 [`#82`](https://github.com/fireblocks/ts-sdk/pull/82) -- Generated SDK #2873 [`#81`](https://github.com/fireblocks/ts-sdk/pull/81) - -## [v2.1.0](https://github.com/fireblocks/ts-sdk/compare/v2.0.0...v2.1.0) - 2024-06-04 - -### Merged - -- Generated SDK for version COR-46191/fix_pipelines [`#44`](https://github.com/fireblocks/ts-sdk/pull/44) - -## [v2.0.0](https://github.com/fireblocks/ts-sdk/compare/v1.1.0...v2.0.0) - 2024-05-08 - -### Merged - -- feat: add tokenization api [`#35`](https://github.com/fireblocks/ts-sdk/pull/35) - -## [v1.1.0](https://github.com/fireblocks/ts-sdk/compare/v1.0.1...v1.1.0) - 2024-04-17 - -### Merged - -- feat: adding consigners beta api [`#34`](https://github.com/fireblocks/ts-sdk/pull/34) -- fix: modify error message when secretKey missing and fix readme doc [`#33`](https://github.com/fireblocks/ts-sdk/pull/33) - -## [v1.0.1](https://github.com/fireblocks/ts-sdk/compare/v1.0.0...v1.0.1) - 2024-04-07 - -### Merged - -- Generated SDK for version v1.0.1 [`#32`](https://github.com/fireblocks/ts-sdk/pull/32) - -## v1.0.0 - 2024-04-07 - -### Merged - -- Generated SDK for version v1.0.0 GA [`#31`](https://github.com/fireblocks/ts-sdk/pull/31) -- add_license [`#30`](https://github.com/fireblocks/ts-sdk/pull/30) -- version_3_0_6_beta [`#29`](https://github.com/fireblocks/ts-sdk/pull/29) -- version_3_0_5_beta [`#27`](https://github.com/fireblocks/ts-sdk/pull/27) -- Version 3.0.4-beta [`#26`](https://github.com/fireblocks/ts-sdk/pull/26) -- Fireblocks api spec/generated/9818 [`#25`](https://github.com/fireblocks/ts-sdk/pull/25) -- Generated SDK for version 9817 [`#24`](https://github.com/fireblocks/ts-sdk/pull/24) -- Generated SDK for version master [`#23`](https://github.com/fireblocks/ts-sdk/pull/23) -- Added Idempotency & NCW headers support [`#22`](https://github.com/fireblocks/ts-sdk/pull/22) -- API SDK Improvments [`#21`](https://github.com/fireblocks/ts-sdk/pull/21) -- Update README.md [`#18`](https://github.com/fireblocks/ts-sdk/pull/18) -- Update README.md [`#17`](https://github.com/fireblocks/ts-sdk/pull/17) diff --git a/README.md b/README.md index 7054e869..ed772e2e 100644 --- a/README.md +++ b/README.md @@ -158,6 +158,7 @@ Class | Method | HTTP request | Description *ComplianceApi* | [**activateByorkConfig**](docs/apis/ComplianceApi.md#activateByorkConfig) | **POST** /screening/byork/config/activate | Activate BYORK Light *ComplianceApi* | [**addAddressRegistryVaultOptOuts**](docs/apis/ComplianceApi.md#addAddressRegistryVaultOptOuts) | **POST** /address_registry/vaults | Add vault accounts to the address registry opt-out list *ComplianceApi* | [**assignVaultsToLegalEntity**](docs/apis/ComplianceApi.md#assignVaultsToLegalEntity) | **POST** /legal_entities/{legalEntityId}/vaults | Assign vault accounts to a legal entity +*ComplianceApi* | [**createAddressRegistryProofOfOwnership**](docs/apis/ComplianceApi.md#createAddressRegistryProofOfOwnership) | **POST** /address_registry/proof_of_ownership_exports | Create a Proof of Ownership PDF for an address *ComplianceApi* | [**createCounterpartyGroup**](docs/apis/ComplianceApi.md#createCounterpartyGroup) | **POST** /counterparty_groups | Create a counterparty group *ComplianceApi* | [**deactivateArsConfig**](docs/apis/ComplianceApi.md#deactivateArsConfig) | **POST** /screening/ars/config/deactivate | Deactivate ARS (Address Registry Screening) *ComplianceApi* | [**deactivateByorkConfig**](docs/apis/ComplianceApi.md#deactivateByorkConfig) | **POST** /screening/byork/config/deactivate | Deactivate BYORK Light @@ -194,26 +195,28 @@ Class | Method | HTTP request | Description *ComplianceApi* | [**updateLegalEntity**](docs/apis/ComplianceApi.md#updateLegalEntity) | **PUT** /legal_entities/{legalEntityId} | Update legal entity *ComplianceApi* | [**updateScreeningConfiguration**](docs/apis/ComplianceApi.md#updateScreeningConfiguration) | **PUT** /screening/configurations | Tenant - Screening Configuration *ComplianceApi* | [**updateTravelRuleConfig**](docs/apis/ComplianceApi.md#updateTravelRuleConfig) | **PUT** /screening/travel_rule/policy_configuration | Update Travel Rule Configuration +*ComplianceApi* | [**verifyAddressRegistryProofOfOwnership**](docs/apis/ComplianceApi.md#verifyAddressRegistryProofOfOwnership) | **POST** /address_registry/proof_of_ownership_exports/verify | Verify a Proof of Ownership export *ComplianceOrchestratorBetaApi* | [**getScreeningResult**](docs/apis/ComplianceOrchestratorBetaApi.md#getScreeningResult) | **GET** /compliance/orchestrator/screenings/{screeningId} | Get a Compliance Orchestrator screening\'s result *ComplianceOrchestratorBetaApi* | [**getWorkflow**](docs/apis/ComplianceOrchestratorBetaApi.md#getWorkflow) | **GET** /compliance/orchestrator/workflows/{workflowId} | Get a Compliance Orchestrator workflow *ComplianceOrchestratorBetaApi* | [**triggerScreening**](docs/apis/ComplianceOrchestratorBetaApi.md#triggerScreening) | **POST** /compliance/orchestrator/screenings | Trigger a Compliance Orchestrator screening *ComplianceOrchestratorBetaApi* | [**updateWorkflowStatus**](docs/apis/ComplianceOrchestratorBetaApi.md#updateWorkflowStatus) | **PATCH** /compliance/orchestrator/workflows/{workflowId}/status | Update a Compliance Orchestrator workflow\'s status *ComplianceScreeningConfigurationApi* | [**getAmlScreeningConfiguration**](docs/apis/ComplianceScreeningConfigurationApi.md#getAmlScreeningConfiguration) | **GET** /screening/aml/policy_configuration | Get AML Screening Policy Configuration *ComplianceScreeningConfigurationApi* | [**getScreeningConfiguration**](docs/apis/ComplianceScreeningConfigurationApi.md#getScreeningConfiguration) | **GET** /screening/travel_rule/policy_configuration | Get Travel Rule Screening Policy Configuration -*ConnectedAccountsBetaApi* | [**addConnectedAccount**](docs/apis/ConnectedAccountsBetaApi.md#addConnectedAccount) | **POST** /connected_accounts | Add a connected account -*ConnectedAccountsBetaApi* | [**disconnectConnectedAccount**](docs/apis/ConnectedAccountsBetaApi.md#disconnectConnectedAccount) | **DELETE** /connected_accounts/{accountId} | Disconnect connected account -*ConnectedAccountsBetaApi* | [**getConnectedAccount**](docs/apis/ConnectedAccountsBetaApi.md#getConnectedAccount) | **GET** /connected_accounts/{accountId} | Get connected account -*ConnectedAccountsBetaApi* | [**getConnectedAccountAllowlist**](docs/apis/ConnectedAccountsBetaApi.md#getConnectedAccountAllowlist) | **GET** /connected_accounts/{accountId}/allowlist | Get allowlist for connected account -*ConnectedAccountsBetaApi* | [**getConnectedAccountAllowlistEntry**](docs/apis/ConnectedAccountsBetaApi.md#getConnectedAccountAllowlistEntry) | **GET** /connected_accounts/{accountId}/allowlist/{allowlistId} | Get a single allowlist entry for a connected account -*ConnectedAccountsBetaApi* | [**getConnectedAccountBalances**](docs/apis/ConnectedAccountsBetaApi.md#getConnectedAccountBalances) | **GET** /connected_accounts/{accountId}/balances | Get balances for an account -*ConnectedAccountsBetaApi* | [**getConnectedAccountRates**](docs/apis/ConnectedAccountsBetaApi.md#getConnectedAccountRates) | **GET** /connected_accounts/{accountId}/rates | Get exchange rates for an account -*ConnectedAccountsBetaApi* | [**getConnectedAccountTradingPairs**](docs/apis/ConnectedAccountsBetaApi.md#getConnectedAccountTradingPairs) | **GET** /connected_accounts/{accountId}/manifest/capabilities/trading/pairs | Get supported trading pairs for an account -*ConnectedAccountsBetaApi* | [**getConnectedAccounts**](docs/apis/ConnectedAccountsBetaApi.md#getConnectedAccounts) | **GET** /connected_accounts | Get connected accounts -*ConnectedAccountsBetaApi* | [**getConnectedAccountsCredentialsPublicKey**](docs/apis/ConnectedAccountsBetaApi.md#getConnectedAccountsCredentialsPublicKey) | **GET** /connected_accounts/credentials/public_key | Get public key to encrypt connected account credentials -*ConnectedAccountsBetaApi* | [**renameConnectedAccount**](docs/apis/ConnectedAccountsBetaApi.md#renameConnectedAccount) | **POST** /connected_accounts/{accountId}/rename | Rename Connected Account -*ConnectedAccountsBetaApi* | [**syncConnectedAccountAllowlist**](docs/apis/ConnectedAccountsBetaApi.md#syncConnectedAccountAllowlist) | **POST** /connected_accounts/{accountId}/allowlist/sync | Sync allowlist for connected account -*ConnectedAccountsBetaApi* | [**updateConnectedAccountCredentials**](docs/apis/ConnectedAccountsBetaApi.md#updateConnectedAccountCredentials) | **POST** /connected_accounts/{accountId}/credentials | Update connected account credentials +*ConnectedAccountsApi* | [**addConnectedAccount**](docs/apis/ConnectedAccountsApi.md#addConnectedAccount) | **POST** /connected_accounts | Add a connected account +*ConnectedAccountsApi* | [**disconnectConnectedAccount**](docs/apis/ConnectedAccountsApi.md#disconnectConnectedAccount) | **DELETE** /connected_accounts/{accountId} | Disconnect connected account +*ConnectedAccountsApi* | [**getConnectedAccount**](docs/apis/ConnectedAccountsApi.md#getConnectedAccount) | **GET** /connected_accounts/{accountId} | Get connected account +*ConnectedAccountsApi* | [**getConnectedAccountAllowlist**](docs/apis/ConnectedAccountsApi.md#getConnectedAccountAllowlist) | **GET** /connected_accounts/{accountId}/allowlist | Get allowlist for connected account +*ConnectedAccountsApi* | [**getConnectedAccountAllowlistEntry**](docs/apis/ConnectedAccountsApi.md#getConnectedAccountAllowlistEntry) | **GET** /connected_accounts/{accountId}/allowlist/{allowlistId} | Get a single allowlist entry for a connected account +*ConnectedAccountsApi* | [**getConnectedAccountBalances**](docs/apis/ConnectedAccountsApi.md#getConnectedAccountBalances) | **GET** /connected_accounts/{accountId}/balances | Get balances for an account +*ConnectedAccountsApi* | [**getConnectedAccountRates**](docs/apis/ConnectedAccountsApi.md#getConnectedAccountRates) | **GET** /connected_accounts/{accountId}/rates | Get exchange rates for an account +*ConnectedAccountsApi* | [**getConnectedAccountTradingPairs**](docs/apis/ConnectedAccountsApi.md#getConnectedAccountTradingPairs) | **GET** /connected_accounts/{accountId}/manifest/capabilities/trading/pairs | Get supported trading pairs for an account +*ConnectedAccountsApi* | [**getConnectedAccounts**](docs/apis/ConnectedAccountsApi.md#getConnectedAccounts) | **GET** /connected_accounts | Get connected accounts +*ConnectedAccountsApi* | [**getConnectedAccountsCredentialsPublicKey**](docs/apis/ConnectedAccountsApi.md#getConnectedAccountsCredentialsPublicKey) | **GET** /connected_accounts/credentials/public_key | Get public key to encrypt connected account credentials +*ConnectedAccountsApi* | [**renameConnectedAccount**](docs/apis/ConnectedAccountsApi.md#renameConnectedAccount) | **POST** /connected_accounts/{accountId}/rename | Rename Connected Account +*ConnectedAccountsApi* | [**syncConnectedAccountAllowlist**](docs/apis/ConnectedAccountsApi.md#syncConnectedAccountAllowlist) | **POST** /connected_accounts/{accountId}/allowlist/sync | Sync allowlist for connected account +*ConnectedAccountsApi* | [**updateConnectedAccountCredentials**](docs/apis/ConnectedAccountsApi.md#updateConnectedAccountCredentials) | **POST** /connected_accounts/{accountId}/credentials | Update connected account credentials *ConsoleUserApi* | [**createConsoleUser**](docs/apis/ConsoleUserApi.md#createConsoleUser) | **POST** /management/users | Create console user +*ConsoleUserApi* | [**deleteConsoleUser**](docs/apis/ConsoleUserApi.md#deleteConsoleUser) | **DELETE** /management/users/{id} | Request deletion of a console user *ConsoleUserApi* | [**getConsoleUsers**](docs/apis/ConsoleUserApi.md#getConsoleUsers) | **GET** /management/users | Get console users *ContactsApi* | [**getContacts**](docs/apis/ContactsApi.md#getContacts) | **GET** /contacts | List contacts *ContractInteractionsApi* | [**decodeContractData**](docs/apis/ContractInteractionsApi.md#decodeContractData) | **POST** /contract_interactions/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/decode | Decode a function call data, error, or event log @@ -522,8 +525,12 @@ Class | Method | HTTP request | Description *TravelRuleApi* | [**setVaspForVault**](docs/apis/TravelRuleApi.md#setVaspForVault) | **POST** /screening/travel_rule/vault/{vaultAccountId}/vasp | Assign VASP to vault *TravelRuleApi* | [**updateVasp**](docs/apis/TravelRuleApi.md#updateVasp) | **PUT** /screening/travel_rule/vasp/update | Add jsonDidKey to VASP details *TravelRuleApi* | [**validateFullTravelRuleTransaction**](docs/apis/TravelRuleApi.md#validateFullTravelRuleTransaction) | **POST** /screening/travel_rule/transaction/validate/full | Validate Full Travel Rule Transaction +*UTXOManagementBetaApi* | [**getUtxoSelectionConfig**](docs/apis/UTXOManagementBetaApi.md#getUtxoSelectionConfig) | **GET** /utxo_management/selection_config | Get UTXO selection config *UTXOManagementBetaApi* | [**getUtxos**](docs/apis/UTXOManagementBetaApi.md#getUtxos) | **GET** /utxo_management/{vaultAccountId}/{assetId}/unspent_outputs | List unspent outputs (UTXOs) +*UTXOManagementBetaApi* | [**getVaultAssetUtxoSelectionConfig**](docs/apis/UTXOManagementBetaApi.md#getVaultAssetUtxoSelectionConfig) | **GET** /utxo_management/{vaultAccountId}/{assetId}/selection_config | Get vault and asset UTXO selection config *UTXOManagementBetaApi* | [**updateUtxoLabels**](docs/apis/UTXOManagementBetaApi.md#updateUtxoLabels) | **PATCH** /utxo_management/{vaultAccountId}/{assetId}/labels | Attach or detach labels to/from UTXOs +*UTXOManagementBetaApi* | [**upsertUtxoSelectionConfig**](docs/apis/UTXOManagementBetaApi.md#upsertUtxoSelectionConfig) | **PUT** /utxo_management/selection_config | Upsert UTXO selection config +*UTXOManagementBetaApi* | [**upsertVaultAssetUtxoSelectionConfig**](docs/apis/UTXOManagementBetaApi.md#upsertVaultAssetUtxoSelectionConfig) | **PUT** /utxo_management/{vaultAccountId}/{assetId}/selection_config | Upsert vault and asset UTXO selection config *UserGroupsBetaApi* | [**createUserGroup**](docs/apis/UserGroupsBetaApi.md#createUserGroup) | **POST** /management/user_groups | Create user group *UserGroupsBetaApi* | [**deleteUserGroup**](docs/apis/UserGroupsBetaApi.md#deleteUserGroup) | **DELETE** /management/user_groups/{groupId} | Delete user group *UserGroupsBetaApi* | [**getUserGroup**](docs/apis/UserGroupsBetaApi.md#getUserGroup) | **GET** /management/user_groups/{groupId} | Get user group @@ -575,8 +582,10 @@ Class | Method | HTTP request | Description *WebhooksApi* | [**resendTransactionWebhooks**](docs/apis/WebhooksApi.md#resendTransactionWebhooks) | **POST** /webhooks/resend/{txId} | Resend webhooks for a transaction by ID *WebhooksApi* | [**resendWebhooks**](docs/apis/WebhooksApi.md#resendWebhooks) | **POST** /webhooks/resend | Resend failed webhooks *WebhooksV2Api* | [**createWebhook**](docs/apis/WebhooksV2Api.md#createWebhook) | **POST** /webhooks | Create a new webhook +*WebhooksV2Api* | [**createWebhookMtlsConfig**](docs/apis/WebhooksV2Api.md#createWebhookMtlsConfig) | **POST** /webhooks_settings/mtls | Create an mTLS configuration *WebhooksV2Api* | [**createWebhookOauth**](docs/apis/WebhooksV2Api.md#createWebhookOauth) | **POST** /webhooks_settings/oauth | Create OAuth credentials *WebhooksV2Api* | [**deleteWebhook**](docs/apis/WebhooksV2Api.md#deleteWebhook) | **DELETE** /webhooks/{webhookId} | Delete webhook +*WebhooksV2Api* | [**deleteWebhookMtlsConfig**](docs/apis/WebhooksV2Api.md#deleteWebhookMtlsConfig) | **DELETE** /webhooks_settings/mtls/{webhookMtlsId} | Delete an mTLS configuration *WebhooksV2Api* | [**deleteWebhookOauth**](docs/apis/WebhooksV2Api.md#deleteWebhookOauth) | **DELETE** /webhooks_settings/oauth/{webhookOauthId} | Delete OAuth credentials *WebhooksV2Api* | [**getMetrics**](docs/apis/WebhooksV2Api.md#getMetrics) | **GET** /webhooks/{webhookId}/metrics/{metricName} | Get webhook metrics *WebhooksV2Api* | [**getMtlsCsr**](docs/apis/WebhooksV2Api.md#getMtlsCsr) | **GET** /webhooks_settings/mtls_csr | Get mTLS CSR @@ -586,6 +595,8 @@ Class | Method | HTTP request | Description *WebhooksV2Api* | [**getResendByQueryJobStatus**](docs/apis/WebhooksV2Api.md#getResendByQueryJobStatus) | **GET** /webhooks/{webhookId}/notifications/resend_by_query/jobs/{jobId} | Get resend by query job status *WebhooksV2Api* | [**getResendJobStatus**](docs/apis/WebhooksV2Api.md#getResendJobStatus) | **GET** /webhooks/{webhookId}/notifications/resend_failed/jobs/{jobId} | Get resend job status *WebhooksV2Api* | [**getWebhook**](docs/apis/WebhooksV2Api.md#getWebhook) | **GET** /webhooks/{webhookId} | Get webhook by id +*WebhooksV2Api* | [**getWebhookMtlsConfig**](docs/apis/WebhooksV2Api.md#getWebhookMtlsConfig) | **GET** /webhooks_settings/mtls/{webhookMtlsId} | Get an mTLS configuration by id +*WebhooksV2Api* | [**getWebhookMtlsConfigs**](docs/apis/WebhooksV2Api.md#getWebhookMtlsConfigs) | **GET** /webhooks_settings/mtls | List the uploaded mTLS configurations *WebhooksV2Api* | [**getWebhookOauth**](docs/apis/WebhooksV2Api.md#getWebhookOauth) | **GET** /webhooks_settings/oauth/{webhookOauthId} | Get OAuth credentials by id *WebhooksV2Api* | [**getWebhookOauths**](docs/apis/WebhooksV2Api.md#getWebhookOauths) | **GET** /webhooks_settings/oauth | Get all OAuth credentials *WebhooksV2Api* | [**getWebhooks**](docs/apis/WebhooksV2Api.md#getWebhooks) | **GET** /webhooks | Get all webhooks @@ -594,6 +605,7 @@ Class | Method | HTTP request | Description *WebhooksV2Api* | [**resendNotificationsByQuery**](docs/apis/WebhooksV2Api.md#resendNotificationsByQuery) | **POST** /webhooks/{webhookId}/notifications/resend_by_query | Resend notifications by query *WebhooksV2Api* | [**resendNotificationsByResourceId**](docs/apis/WebhooksV2Api.md#resendNotificationsByResourceId) | **POST** /webhooks/{webhookId}/notifications/resend_by_resource | Resend notifications by resource Id *WebhooksV2Api* | [**updateWebhook**](docs/apis/WebhooksV2Api.md#updateWebhook) | **PATCH** /webhooks/{webhookId} | Update webhook +*WebhooksV2Api* | [**updateWebhookMtlsConfig**](docs/apis/WebhooksV2Api.md#updateWebhookMtlsConfig) | **PATCH** /webhooks_settings/mtls/{webhookMtlsId} | Update an mTLS configuration *WebhooksV2Api* | [**updateWebhookOauth**](docs/apis/WebhooksV2Api.md#updateWebhookOauth) | **PATCH** /webhooks_settings/oauth/{webhookOauthId} | Update OAuth credentials *WhitelistIpAddressesApi* | [**getWhitelistIpAddresses**](docs/apis/WhitelistIpAddressesApi.md#getWhitelistIpAddresses) | **GET** /management/api_users/{userId}/whitelist_ip_addresses | Get whitelisted ip addresses for an API Key *WorkspaceApi* | [**getWorkspace**](docs/apis/WorkspaceApi.md#getWorkspace) | **GET** /workspace | Get workspace @@ -656,16 +668,18 @@ Class | Method | HTTP request | Description - [AddressRegistryAddVaultOptOutsRequest](docs/models/AddressRegistryAddVaultOptOutsRequest.md) - [AddressRegistryAddVaultOptOutsRequestVaultAccountIdsInner](docs/models/AddressRegistryAddVaultOptOutsRequestVaultAccountIdsInner.md) - [AddressRegistryAddVaultOptOutsResponse](docs/models/AddressRegistryAddVaultOptOutsResponse.md) - - [AddressRegistryError](docs/models/AddressRegistryError.md) + - [AddressRegistryCreateProofOfOwnershipRequest](docs/models/AddressRegistryCreateProofOfOwnershipRequest.md) + - [AddressRegistryCreateProofOfOwnershipResponse](docs/models/AddressRegistryCreateProofOfOwnershipResponse.md) - [AddressRegistryGetVaultOptOutResponse](docs/models/AddressRegistryGetVaultOptOutResponse.md) - [AddressRegistryLegalEntity](docs/models/AddressRegistryLegalEntity.md) - [AddressRegistryListVaultOptOutsResponse](docs/models/AddressRegistryListVaultOptOutsResponse.md) - [AddressRegistryRemoveAllVaultOptOutsResponse](docs/models/AddressRegistryRemoveAllVaultOptOutsResponse.md) - [AddressRegistryRemoveVaultOptOutResponse](docs/models/AddressRegistryRemoveVaultOptOutResponse.md) - [AddressRegistryTenantRegistryResponse](docs/models/AddressRegistryTenantRegistryResponse.md) - - [AddressRegistryTravelRuleProvider](docs/models/AddressRegistryTravelRuleProvider.md) - [AddressRegistryVaultListOrder](docs/models/AddressRegistryVaultListOrder.md) - [AddressRegistryVaultOptOutItem](docs/models/AddressRegistryVaultOptOutItem.md) + - [AddressRegistryVerifyProofOfOwnershipRequest](docs/models/AddressRegistryVerifyProofOfOwnershipRequest.md) + - [AddressRegistryVerifyProofOfOwnershipResponse](docs/models/AddressRegistryVerifyProofOfOwnershipResponse.md) - [AddressReverseLookupResponse](docs/models/AddressReverseLookupResponse.md) - [AddressesFilters](docs/models/AddressesFilters.md) - [AlertExposureTypeEnum](docs/models/AlertExposureTypeEnum.md) @@ -795,11 +809,17 @@ Class | Method | HTTP request | Description - [CantonCallAllocationWithdraw](docs/models/CantonCallAllocationWithdraw.md) - [CantonCallAllowListAdd](docs/models/CantonCallAllowListAdd.md) - [CantonCallAllowListRemove](docs/models/CantonCallAllowListRemove.md) + - [CantonCallDetails](docs/models/CantonCallDetails.md) - [CantonCallEndInvestorInvite](docs/models/CantonCallEndInvestorInvite.md) - [CantonCallEndInvestorInviteCancel](docs/models/CantonCallEndInvestorInviteCancel.md) - [CantonCallEndInvestorOffboard](docs/models/CantonCallEndInvestorOffboard.md) - [CantonCallParticipantOnboarding](docs/models/CantonCallParticipantOnboarding.md) - [CantonCallTransferWithdraw](docs/models/CantonCallTransferWithdraw.md) + - [CantonDetails](docs/models/CantonDetails.md) + - [CantonDomainEnum](docs/models/CantonDomainEnum.md) + - [CantonOfferResponseDetails](docs/models/CantonOfferResponseDetails.md) + - [CantonSettlementDetails](docs/models/CantonSettlementDetails.md) + - [CantonVendorEnum](docs/models/CantonVendorEnum.md) - [ChainDescriptor](docs/models/ChainDescriptor.md) - [ChainInfoResponse](docs/models/ChainInfoResponse.md) - [ChannelDvnConfigWithConfirmations](docs/models/ChannelDvnConfigWithConfirmations.md) @@ -948,6 +968,7 @@ Class | Method | HTTP request | Description - [CreateVaultAccountRequest](docs/models/CreateVaultAccountRequest.md) - [CreateVaultAssetResponse](docs/models/CreateVaultAssetResponse.md) - [CreateWalletRequest](docs/models/CreateWalletRequest.md) + - [CreateWebhookMtlsConfigRequest](docs/models/CreateWebhookMtlsConfigRequest.md) - [CreateWebhookOauthRequest](docs/models/CreateWebhookOauthRequest.md) - [CreateWebhookRequest](docs/models/CreateWebhookRequest.md) - [CreateWorkflowExecutionRequestParamsInner](docs/models/CreateWorkflowExecutionRequestParamsInner.md) @@ -962,6 +983,7 @@ Class | Method | HTTP request | Description - [DelegationSummary](docs/models/DelegationSummary.md) - [DeleteNetworkConnectionResponse](docs/models/DeleteNetworkConnectionResponse.md) - [DeleteNetworkIdResponse](docs/models/DeleteNetworkIdResponse.md) + - [DeleteWebhookMtlsConfigResponse](docs/models/DeleteWebhookMtlsConfigResponse.md) - [DeleteWebhookOauthResponse](docs/models/DeleteWebhookOauthResponse.md) - [DeployLayerZeroAdaptersRequest](docs/models/DeployLayerZeroAdaptersRequest.md) - [DeployLayerZeroAdaptersResponse](docs/models/DeployLayerZeroAdaptersResponse.md) @@ -1010,6 +1032,7 @@ Class | Method | HTTP request | Description - [EarnMetadata](docs/models/EarnMetadata.md) - [EarnProvider](docs/models/EarnProvider.md) - [EditGasStationConfigurationResponse](docs/models/EditGasStationConfigurationResponse.md) + - [EffectiveUtxoSelectionConfig](docs/models/EffectiveUtxoSelectionConfig.md) - [EmbeddedWallet](docs/models/EmbeddedWallet.md) - [EmbeddedWalletAccount](docs/models/EmbeddedWalletAccount.md) - [EmbeddedWalletAddressDetails](docs/models/EmbeddedWalletAddressDetails.md) @@ -1089,6 +1112,7 @@ Class | Method | HTTP request | Description - [FixedAmountTypeEnum](docs/models/FixedAmountTypeEnum.md) - [FixedFee](docs/models/FixedFee.md) - [FlowDirection](docs/models/FlowDirection.md) + - [FokTimeInForce](docs/models/FokTimeInForce.md) - [FpsHkAddress](docs/models/FpsHkAddress.md) - [FpsHkDestination](docs/models/FpsHkDestination.md) - [FpsHkPaymentInfo](docs/models/FpsHkPaymentInfo.md) @@ -1222,6 +1246,10 @@ Class | Method | HTTP request | Description - [LegacySrcOrDestAttributesInner](docs/models/LegacySrcOrDestAttributesInner.md) - [LegalEntityRegistration](docs/models/LegalEntityRegistration.md) - [LeiStatus](docs/models/LeiStatus.md) + - [LimitExecutionRequestDetails](docs/models/LimitExecutionRequestDetails.md) + - [LimitExecutionResponseDetails](docs/models/LimitExecutionResponseDetails.md) + - [LimitTypeDetails](docs/models/LimitTypeDetails.md) + - [LimitTypeEnum](docs/models/LimitTypeEnum.md) - [LinkedTokensCount](docs/models/LinkedTokensCount.md) - [ListApprovalApiKeysResponse](docs/models/ListApprovalApiKeysResponse.md) - [ListApprovalsResponse](docs/models/ListApprovalsResponse.md) @@ -1387,6 +1415,8 @@ Class | Method | HTTP request | Description - [Position](docs/models/Position.md) - [Position2](docs/models/Position2.md) - [PositionRelatedTransaction](docs/models/PositionRelatedTransaction.md) + - [PostTradeSettlement](docs/models/PostTradeSettlement.md) + - [PostTradeSettlementType](docs/models/PostTradeSettlementType.md) - [PostalAddress](docs/models/PostalAddress.md) - [PreScreening](docs/models/PreScreening.md) - [PrefundedSettlement](docs/models/PrefundedSettlement.md) @@ -1729,6 +1759,7 @@ Class | Method | HTTP request | Description - [TemplatesPaginatedResponse](docs/models/TemplatesPaginatedResponse.md) - [ThirdPartyRouting](docs/models/ThirdPartyRouting.md) - [TimeBasedTrigger](docs/models/TimeBasedTrigger.md) + - [TimeInForce](docs/models/TimeInForce.md) - [TimePeriodConfig](docs/models/TimePeriodConfig.md) - [TimePeriodMatchType](docs/models/TimePeriodMatchType.md) - [ToCollateralTransaction](docs/models/ToCollateralTransaction.md) @@ -1879,10 +1910,12 @@ Class | Method | HTTP request | Description - [UpdateTokensOwnershipStatusRequest](docs/models/UpdateTokensOwnershipStatusRequest.md) - [UpdateVaultAccountAssetAddressRequest](docs/models/UpdateVaultAccountAssetAddressRequest.md) - [UpdateVaultAccountRequest](docs/models/UpdateVaultAccountRequest.md) + - [UpdateWebhookMtlsConfigRequest](docs/models/UpdateWebhookMtlsConfigRequest.md) - [UpdateWebhookOauthRequest](docs/models/UpdateWebhookOauthRequest.md) - [UpdateWebhookRequest](docs/models/UpdateWebhookRequest.md) - [UpdateWorkflowStatusRequest](docs/models/UpdateWorkflowStatusRequest.md) - [UpdateWorkflowStatusResponse](docs/models/UpdateWorkflowStatusResponse.md) + - [UpsertUtxoSelectionConfigRequest](docs/models/UpsertUtxoSelectionConfigRequest.md) - [UsWirePaymentInfo](docs/models/UsWirePaymentInfo.md) - [UsdcGatewayWalletAsset](docs/models/UsdcGatewayWalletAsset.md) - [UsdcGatewayWalletInfoResponse](docs/models/UsdcGatewayWalletInfoResponse.md) @@ -1900,9 +1933,15 @@ Class | Method | HTTP request | Description - [UtxoInput](docs/models/UtxoInput.md) - [UtxoInput2](docs/models/UtxoInput2.md) - [UtxoInputSelection](docs/models/UtxoInputSelection.md) + - [UtxoLabelFailure](docs/models/UtxoLabelFailure.md) + - [UtxoLabelsErrorResponse](docs/models/UtxoLabelsErrorResponse.md) - [UtxoOutput](docs/models/UtxoOutput.md) + - [UtxoSelectionConfigEntry](docs/models/UtxoSelectionConfigEntry.md) + - [UtxoSelectionConfigResponse](docs/models/UtxoSelectionConfigResponse.md) + - [UtxoSelectionConfigSourceEnum](docs/models/UtxoSelectionConfigSourceEnum.md) - [UtxoSelectionFilters](docs/models/UtxoSelectionFilters.md) - [UtxoSelectionParams](docs/models/UtxoSelectionParams.md) + - [UtxoSelectionStrategyEnum](docs/models/UtxoSelectionStrategyEnum.md) - [ValidateAddressResponse](docs/models/ValidateAddressResponse.md) - [ValidateLayerZeroChannelResponse](docs/models/ValidateLayerZeroChannelResponse.md) - [ValidationKeyDto](docs/models/ValidationKeyDto.md) @@ -1929,7 +1968,8 @@ Class | Method | HTTP request | Description - [WebhookCustomHeadersUpdate](docs/models/WebhookCustomHeadersUpdate.md) - [WebhookEvent](docs/models/WebhookEvent.md) - [WebhookMetric](docs/models/WebhookMetric.md) - - [WebhookMtls](docs/models/WebhookMtls.md) + - [WebhookMtlsConfig](docs/models/WebhookMtlsConfig.md) + - [WebhookMtlsConfigsList](docs/models/WebhookMtlsConfigsList.md) - [WebhookMtlsCsrResponse](docs/models/WebhookMtlsCsrResponse.md) - [WebhookMtlsKeyAlgorithm](docs/models/WebhookMtlsKeyAlgorithm.md) - [WebhookOauthCredentials](docs/models/WebhookOauthCredentials.md) diff --git a/api.ts b/api.ts index 4460e602..43b0624b 100644 --- a/api.ts +++ b/api.ts @@ -22,7 +22,7 @@ export * from './api/blockchains-assets-api'; export * from './api/compliance-api'; export * from './api/compliance-orchestrator-beta-api'; export * from './api/compliance-screening-configuration-api'; -export * from './api/connected-accounts-beta-api'; +export * from './api/connected-accounts-api'; export * from './api/console-user-api'; export * from './api/contacts-api'; export * from './api/contract-interactions-api'; diff --git a/api/compliance-api.ts b/api/compliance-api.ts index d9b8a226..cb0ad8e4 100644 --- a/api/compliance-api.ts +++ b/api/compliance-api.ts @@ -31,7 +31,9 @@ import { AddressRegistryAddVaultOptOutsRequest } from '../models'; // @ts-ignore import { AddressRegistryAddVaultOptOutsResponse } from '../models'; // @ts-ignore -import { AddressRegistryError } from '../models'; +import { AddressRegistryCreateProofOfOwnershipRequest } from '../models'; +// @ts-ignore +import { AddressRegistryCreateProofOfOwnershipResponse } from '../models'; // @ts-ignore import { AddressRegistryGetVaultOptOutResponse } from '../models'; // @ts-ignore @@ -47,6 +49,10 @@ import { AddressRegistryTenantRegistryResponse } from '../models'; // @ts-ignore import { AddressRegistryVaultListOrder } from '../models'; // @ts-ignore +import { AddressRegistryVerifyProofOfOwnershipRequest } from '../models'; +// @ts-ignore +import { AddressRegistryVerifyProofOfOwnershipResponse } from '../models'; +// @ts-ignore import { AmlVerdictManualRequest } from '../models'; // @ts-ignore import { AmlVerdictManualResponse } from '../models'; @@ -261,6 +267,46 @@ export const ComplianceApiAxiosParamCreator = function (configuration?: Configur options: localVarRequestOptions, }; }, + /** + * Creates a Proof of Ownership PDF for a blockchain address owned by the authenticated workspace — for example, to share with a counterparty or bank as compliance evidence. Recipients can confirm it with `POST /v1/address_registry/proof_of_ownership_exports/verify`. Check `proofOfOwnershipAvailable` on `GET /v1/address_registry/legal_entities/{address}` first if you want to know whether create is likely to succeed. + * @summary Create a Proof of Ownership PDF for an address + * @param {AddressRegistryCreateProofOfOwnershipRequest} addressRegistryCreateProofOfOwnershipRequest + * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createAddressRegistryProofOfOwnership: async (addressRegistryCreateProofOfOwnershipRequest: AddressRegistryCreateProofOfOwnershipRequest, idempotencyKey?: string, options: RawAxiosRequestConfig = {}): Promise => { + assertParamExists('createAddressRegistryProofOfOwnership', 'addressRegistryCreateProofOfOwnershipRequest', addressRegistryCreateProofOfOwnershipRequest) + const localVarPath = `/address_registry/proof_of_ownership_exports`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if (idempotencyKey != null) { + localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey); + } + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(addressRegistryCreateProofOfOwnershipRequest, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, /** * Creates a new counterparty group. **Endpoint Permissions:** Admin, Non-Signing Admin. * @summary Create a counterparty group @@ -1550,6 +1596,46 @@ export const ComplianceApiAxiosParamCreator = function (configuration?: Configur let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Verifies a Proof of Ownership export against the record Fireblocks stored at creation. Returns `valid: false` (not 404) for an unknown, expired, or mismatched export. Available to any authenticated Fireblocks workspace, not just the export\'s original owner. + * @summary Verify a Proof of Ownership export + * @param {AddressRegistryVerifyProofOfOwnershipRequest} addressRegistryVerifyProofOfOwnershipRequest + * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + verifyAddressRegistryProofOfOwnership: async (addressRegistryVerifyProofOfOwnershipRequest: AddressRegistryVerifyProofOfOwnershipRequest, idempotencyKey?: string, options: RawAxiosRequestConfig = {}): Promise => { + assertParamExists('verifyAddressRegistryProofOfOwnership', 'addressRegistryVerifyProofOfOwnershipRequest', addressRegistryVerifyProofOfOwnershipRequest) + const localVarPath = `/address_registry/proof_of_ownership_exports/verify`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if (idempotencyKey != null) { + localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey); + } + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(addressRegistryVerifyProofOfOwnershipRequest, localVarRequestOptions, configuration) + return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, @@ -1620,6 +1706,20 @@ export const ComplianceApiFp = function(configuration?: Configuration) { const operationBasePath = operationServerMap['ComplianceApi.assignVaultsToLegalEntity']?.[index]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, + /** + * Creates a Proof of Ownership PDF for a blockchain address owned by the authenticated workspace — for example, to share with a counterparty or bank as compliance evidence. Recipients can confirm it with `POST /v1/address_registry/proof_of_ownership_exports/verify`. Check `proofOfOwnershipAvailable` on `GET /v1/address_registry/legal_entities/{address}` first if you want to know whether create is likely to succeed. + * @summary Create a Proof of Ownership PDF for an address + * @param {AddressRegistryCreateProofOfOwnershipRequest} addressRegistryCreateProofOfOwnershipRequest + * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async createAddressRegistryProofOfOwnership(addressRegistryCreateProofOfOwnershipRequest: AddressRegistryCreateProofOfOwnershipRequest, idempotencyKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createAddressRegistryProofOfOwnership(addressRegistryCreateProofOfOwnershipRequest, idempotencyKey, options); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['ComplianceApi.createAddressRegistryProofOfOwnership']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); + }, /** * Creates a new counterparty group. **Endpoint Permissions:** Admin, Non-Signing Admin. * @summary Create a counterparty group @@ -2100,6 +2200,20 @@ export const ComplianceApiFp = function(configuration?: Configuration) { const operationBasePath = operationServerMap['ComplianceApi.updateTravelRuleConfig']?.[index]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, + /** + * Verifies a Proof of Ownership export against the record Fireblocks stored at creation. Returns `valid: false` (not 404) for an unknown, expired, or mismatched export. Available to any authenticated Fireblocks workspace, not just the export\'s original owner. + * @summary Verify a Proof of Ownership export + * @param {AddressRegistryVerifyProofOfOwnershipRequest} addressRegistryVerifyProofOfOwnershipRequest + * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async verifyAddressRegistryProofOfOwnership(addressRegistryVerifyProofOfOwnershipRequest: AddressRegistryVerifyProofOfOwnershipRequest, idempotencyKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.verifyAddressRegistryProofOfOwnership(addressRegistryVerifyProofOfOwnershipRequest, idempotencyKey, options); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['ComplianceApi.verifyAddressRegistryProofOfOwnership']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); + }, } }; @@ -2150,6 +2264,16 @@ export const ComplianceApiFactory = function (configuration?: Configuration, bas assignVaultsToLegalEntity(requestParameters: ComplianceApiAssignVaultsToLegalEntityRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.assignVaultsToLegalEntity(requestParameters.assignVaultsToLegalEntityRequest, requestParameters.legalEntityId, requestParameters.idempotencyKey, options).then((request) => request(axios, basePath)); }, + /** + * Creates a Proof of Ownership PDF for a blockchain address owned by the authenticated workspace — for example, to share with a counterparty or bank as compliance evidence. Recipients can confirm it with `POST /v1/address_registry/proof_of_ownership_exports/verify`. Check `proofOfOwnershipAvailable` on `GET /v1/address_registry/legal_entities/{address}` first if you want to know whether create is likely to succeed. + * @summary Create a Proof of Ownership PDF for an address + * @param {ComplianceApiCreateAddressRegistryProofOfOwnershipRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createAddressRegistryProofOfOwnership(requestParameters: ComplianceApiCreateAddressRegistryProofOfOwnershipRequest, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.createAddressRegistryProofOfOwnership(requestParameters.addressRegistryCreateProofOfOwnershipRequest, requestParameters.idempotencyKey, options).then((request) => request(axios, basePath)); + }, /** * Creates a new counterparty group. **Endpoint Permissions:** Admin, Non-Signing Admin. * @summary Create a counterparty group @@ -2502,6 +2626,16 @@ export const ComplianceApiFactory = function (configuration?: Configuration, bas updateTravelRuleConfig(requestParameters: ComplianceApiUpdateTravelRuleConfigRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.updateTravelRuleConfig(requestParameters.idempotencyKey, options).then((request) => request(axios, basePath)); }, + /** + * Verifies a Proof of Ownership export against the record Fireblocks stored at creation. Returns `valid: false` (not 404) for an unknown, expired, or mismatched export. Available to any authenticated Fireblocks workspace, not just the export\'s original owner. + * @summary Verify a Proof of Ownership export + * @param {ComplianceApiVerifyAddressRegistryProofOfOwnershipRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + verifyAddressRegistryProofOfOwnership(requestParameters: ComplianceApiVerifyAddressRegistryProofOfOwnershipRequest, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.verifyAddressRegistryProofOfOwnership(requestParameters.addressRegistryVerifyProofOfOwnershipRequest, requestParameters.idempotencyKey, options).then((request) => request(axios, basePath)); + }, }; }; @@ -2582,6 +2716,27 @@ export interface ComplianceApiAssignVaultsToLegalEntityRequest { readonly idempotencyKey?: string } +/** + * Request parameters for createAddressRegistryProofOfOwnership operation in ComplianceApi. + * @export + * @interface ComplianceApiCreateAddressRegistryProofOfOwnershipRequest + */ +export interface ComplianceApiCreateAddressRegistryProofOfOwnershipRequest { + /** + * + * @type {AddressRegistryCreateProofOfOwnershipRequest} + * @memberof ComplianceApiCreateAddressRegistryProofOfOwnership + */ + readonly addressRegistryCreateProofOfOwnershipRequest: AddressRegistryCreateProofOfOwnershipRequest + + /** + * A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. + * @type {string} + * @memberof ComplianceApiCreateAddressRegistryProofOfOwnership + */ + readonly idempotencyKey?: string +} + /** * Request parameters for createCounterpartyGroup operation in ComplianceApi. * @export @@ -3114,6 +3269,27 @@ export interface ComplianceApiUpdateTravelRuleConfigRequest { readonly idempotencyKey?: string } +/** + * Request parameters for verifyAddressRegistryProofOfOwnership operation in ComplianceApi. + * @export + * @interface ComplianceApiVerifyAddressRegistryProofOfOwnershipRequest + */ +export interface ComplianceApiVerifyAddressRegistryProofOfOwnershipRequest { + /** + * + * @type {AddressRegistryVerifyProofOfOwnershipRequest} + * @memberof ComplianceApiVerifyAddressRegistryProofOfOwnership + */ + readonly addressRegistryVerifyProofOfOwnershipRequest: AddressRegistryVerifyProofOfOwnershipRequest + + /** + * A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. + * @type {string} + * @memberof ComplianceApiVerifyAddressRegistryProofOfOwnership + */ + readonly idempotencyKey?: string +} + /** * ComplianceApi - object-oriented interface * @export @@ -3169,6 +3345,18 @@ export class ComplianceApi extends BaseAPI { return ComplianceApiFp(this.configuration).assignVaultsToLegalEntity(requestParameters.assignVaultsToLegalEntityRequest, requestParameters.legalEntityId, requestParameters.idempotencyKey).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); } + /** + * Creates a Proof of Ownership PDF for a blockchain address owned by the authenticated workspace — for example, to share with a counterparty or bank as compliance evidence. Recipients can confirm it with `POST /v1/address_registry/proof_of_ownership_exports/verify`. Check `proofOfOwnershipAvailable` on `GET /v1/address_registry/legal_entities/{address}` first if you want to know whether create is likely to succeed. + * @summary Create a Proof of Ownership PDF for an address + * @param {ComplianceApiCreateAddressRegistryProofOfOwnershipRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ComplianceApi + */ + public createAddressRegistryProofOfOwnership(requestParameters: ComplianceApiCreateAddressRegistryProofOfOwnershipRequest) { + return ComplianceApiFp(this.configuration).createAddressRegistryProofOfOwnership(requestParameters.addressRegistryCreateProofOfOwnershipRequest, requestParameters.idempotencyKey).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + } + /** * Creates a new counterparty group. **Endpoint Permissions:** Admin, Non-Signing Admin. * @summary Create a counterparty group @@ -3592,5 +3780,17 @@ export class ComplianceApi extends BaseAPI { public updateTravelRuleConfig(requestParameters: ComplianceApiUpdateTravelRuleConfigRequest = {}) { return ComplianceApiFp(this.configuration).updateTravelRuleConfig(requestParameters.idempotencyKey).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); } + + /** + * Verifies a Proof of Ownership export against the record Fireblocks stored at creation. Returns `valid: false` (not 404) for an unknown, expired, or mismatched export. Available to any authenticated Fireblocks workspace, not just the export\'s original owner. + * @summary Verify a Proof of Ownership export + * @param {ComplianceApiVerifyAddressRegistryProofOfOwnershipRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ComplianceApi + */ + public verifyAddressRegistryProofOfOwnership(requestParameters: ComplianceApiVerifyAddressRegistryProofOfOwnershipRequest) { + return ComplianceApiFp(this.configuration).verifyAddressRegistryProofOfOwnership(requestParameters.addressRegistryVerifyProofOfOwnershipRequest, requestParameters.idempotencyKey).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + } } diff --git a/api/connected-accounts-beta-api.ts b/api/connected-accounts-api.ts similarity index 77% rename from api/connected-accounts-beta-api.ts rename to api/connected-accounts-api.ts index 60ae3f94..9b18704f 100644 --- a/api/connected-accounts-beta-api.ts +++ b/api/connected-accounts-api.ts @@ -61,13 +61,13 @@ import { UpdateConnectedAccountCredentialsRequest } from '../models'; // @ts-ignore import { UpdateConnectedAccountCredentialsResponse } from '../models'; /** - * ConnectedAccountsBetaApi - axios parameter creator + * ConnectedAccountsApi - axios parameter creator * @export */ -export const ConnectedAccountsBetaApiAxiosParamCreator = function (configuration?: Configuration) { +export const ConnectedAccountsApiAxiosParamCreator = function (configuration?: Configuration) { return { /** - * Creates a new connected account for the authenticated tenant. The `creds` field must be a Base64-encoded RSA-encrypted credential blob. Use `GET /connected_accounts/credentials/public_key` to retrieve the public key for encryption. The `providerType` is derived server-side from the `providerId` — callers do not supply it. Endpoint Permission: Editor, Admin, Non-Signing Admin. **Note:** This endpoint is currently in beta and might be subject to changes. + * Creates a new connected account for the authenticated tenant. The `creds` field must be a Base64-encoded RSA-encrypted credential blob. Use `GET /connected_accounts/credentials/public_key` to retrieve the public key for encryption. The `providerType` is derived server-side from the `providerId` — callers do not supply it. Endpoint Permission: Editor, Admin, Non-Signing Admin. * @summary Add a connected account * @param {AddConnectedAccountRequest} addConnectedAccountRequest * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. @@ -107,7 +107,7 @@ export const ConnectedAccountsBetaApiAxiosParamCreator = function (configuration }; }, /** - * Disconnect a connected account by ID. **Note**: - This endpoint is currently in beta and might be subject to changes. + * Disconnect a connected account by ID. * @summary Disconnect connected account * @param {string} accountId The ID of the account to disconnect. * @param {*} [options] Override http request option. @@ -140,7 +140,7 @@ export const ConnectedAccountsBetaApiAxiosParamCreator = function (configuration }; }, /** - * Retrieve detailed information about a specific connected account by ID. **Note:** This endpoint is currently in beta and might be subject to changes. + * Retrieve detailed information about a specific connected account by ID. * @summary Get connected account * @param {string} accountId The ID of the account to fetch. * @param {*} [options] Override http request option. @@ -173,7 +173,7 @@ export const ConnectedAccountsBetaApiAxiosParamCreator = function (configuration }; }, /** - * Retrieves the address allowlist for a specified connected account. **Note:** This endpoint is currently in beta and might be subject to changes. Currently supports CoinbaseExchange/Binance accounts only. + * Retrieves the address allowlist for a specified connected account. **Note:** Currently supports CoinbaseExchange/Binance accounts only. * @summary Get allowlist for connected account * @param {string} accountId The connected account identifier * @param {AllowlistEntryStatus} [status] Filter by allowlist entry status @@ -241,7 +241,7 @@ export const ConnectedAccountsBetaApiAxiosParamCreator = function (configuration }; }, /** - * Retrieves a single allowlist entry by its Fireblocks identifier for a specified connected account. **Note:** This endpoint is currently in beta and might be subject to changes. Currently supports CoinbaseExchange/Binance accounts only. + * Retrieves a single allowlist entry by its Fireblocks identifier for a specified connected account. **Note:** Currently supports CoinbaseExchange/Binance accounts only. * @summary Get a single allowlist entry for a connected account * @param {string} accountId The connected account identifier * @param {string} allowlistId The Fireblocks allowlist entry identifier @@ -277,7 +277,7 @@ export const ConnectedAccountsBetaApiAxiosParamCreator = function (configuration }; }, /** - * Retrieve current asset balances for a specific connected account as a flat list (one row per `assetId`, `balanceType`). **Note:** This endpoint is currently in beta and might be subject to changes. + * Retrieve current asset balances for a specific connected account as a flat list (one row per `assetId`, `balanceType`). * @summary Get balances for an account * @param {string} accountId The ID of the account to fetch balances for. * @param {number} [pageSize] Page size for pagination. @@ -320,7 +320,7 @@ export const ConnectedAccountsBetaApiAxiosParamCreator = function (configuration }; }, /** - * Retrieve current exchange rates for converting between specific assets in a connected account. **Note:** This endpoint is currently in beta and might be subject to changes. + * Retrieve current exchange rates for converting between specific assets in a connected account. * @summary Get exchange rates for an account * @param {string} accountId The ID of the account to fetch rates for. * @param {string} baseAssetId The ID of the asset to fetch rates for. @@ -365,7 +365,7 @@ export const ConnectedAccountsBetaApiAxiosParamCreator = function (configuration }; }, /** - * Retrieve all asset trading pairs supported by a specific connected account, including the pair type (`quote`, `market`, `onOffRamp`). **Note:** This endpoint is currently in beta and might be subject to changes. + * Retrieve all asset trading pairs supported by a specific connected account, including the pair type (`quote`, `market`, `onOffRamp`). * @summary Get supported trading pairs for an account * @param {string} accountId The ID of the account to fetch supported pairs for. * @param {number} [pageSize] Page size for pagination. @@ -408,7 +408,7 @@ export const ConnectedAccountsBetaApiAxiosParamCreator = function (configuration }; }, /** - * Returns all connected accounts. **Note:** This endpoint is currently in beta and might be subject to changes. + * Returns all connected accounts. * @summary Get connected accounts * @param {boolean} [mainAccounts] Whether to include only main accounts in the response. * @param {number} [pageSize] Page size for pagination. @@ -453,7 +453,7 @@ export const ConnectedAccountsBetaApiAxiosParamCreator = function (configuration }; }, /** - * Returns the RSA public key used to encrypt the `creds` field before calling `POST /connected_accounts`. The key is a singleton resource scoped to the connected-accounts credentials domain — there is one per tenant context. **Note:** This endpoint is currently in beta and might be subject to changes. + * Returns the RSA public key used to encrypt the `creds` field before calling `POST /connected_accounts`. The key is a singleton resource scoped to the connected-accounts credentials domain — there is one per tenant context. * @summary Get public key to encrypt connected account credentials * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -483,7 +483,7 @@ export const ConnectedAccountsBetaApiAxiosParamCreator = function (configuration }; }, /** - * Rename a connected account by account ID. **Note:** This endpoint is currently in beta and might be subject to changes. + * Rename a connected account by account ID. * @summary Rename Connected Account * @param {RenameConnectedAccountRequest} renameConnectedAccountRequest * @param {string} accountId The unique identifier of the connected account @@ -526,7 +526,7 @@ export const ConnectedAccountsBetaApiAxiosParamCreator = function (configuration }; }, /** - * Triggers an on-demand sync from the exchange, bypassing the cache and fetching live data immediately. **Rate limit:** 1 request per minute per connected account. **Note:** This endpoint is currently in beta and might be subject to changes. Currently supports CoinbaseExchange/Binance accounts only. + * Triggers an on-demand sync from the exchange, bypassing the cache and fetching live data immediately. **Rate limit:** 1 request per minute per connected account. **Note:** Currently supports CoinbaseExchange/Binance accounts only. * @summary Sync allowlist for connected account * @param {string} accountId The connected account identifier * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. @@ -564,7 +564,7 @@ export const ConnectedAccountsBetaApiAxiosParamCreator = function (configuration }; }, /** - * Replace the API credentials (secret + API key) of a connected account. Credentials belong to an API key, which can back a single account or an entire hierarchy. Updating them affects all accounts sharing that key, so the endpoint returns an array of modified accounts. The `creds` field must be a Base64-encoded RSA-encrypted credential blob; use `GET /connected_accounts/credentials/public_key` to retrieve the public key for encryption. Both `creds` and `apiKey` are mandatory. Validation against the exchange is synchronous, but the update itself is **pending mobile approval** — the existing credentials stay live until the change is approved, so none of the affected accounts are disconnected in the meantime. Endpoint Permission: Admin, Non-Signing Admin. **Note:** This endpoint is currently in beta and might be subject to changes. + * Replace the API credentials (secret + API key) of a connected account. Credentials belong to an API key, which can back a single account or an entire hierarchy. Updating them affects all accounts sharing that key, so the endpoint returns an array of modified accounts. The `creds` field must be a Base64-encoded RSA-encrypted credential blob; use `GET /connected_accounts/credentials/public_key` to retrieve the public key for encryption. Both `creds` and `apiKey` are mandatory. Validation against the exchange is synchronous, but the update itself is **pending mobile approval** — the existing credentials stay live until the change is approved, so none of the affected accounts are disconnected in the meantime. Endpoint Permission: Admin, Non-Signing Admin. * @summary Update connected account credentials * @param {UpdateConnectedAccountCredentialsRequest} updateConnectedAccountCredentialsRequest * @param {string} accountId The unique identifier of the connected account whose API key credentials are being replaced. @@ -610,14 +610,14 @@ export const ConnectedAccountsBetaApiAxiosParamCreator = function (configuration }; /** - * ConnectedAccountsBetaApi - functional programming interface + * ConnectedAccountsApi - functional programming interface * @export */ -export const ConnectedAccountsBetaApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = ConnectedAccountsBetaApiAxiosParamCreator(configuration) +export const ConnectedAccountsApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = ConnectedAccountsApiAxiosParamCreator(configuration) return { /** - * Creates a new connected account for the authenticated tenant. The `creds` field must be a Base64-encoded RSA-encrypted credential blob. Use `GET /connected_accounts/credentials/public_key` to retrieve the public key for encryption. The `providerType` is derived server-side from the `providerId` — callers do not supply it. Endpoint Permission: Editor, Admin, Non-Signing Admin. **Note:** This endpoint is currently in beta and might be subject to changes. + * Creates a new connected account for the authenticated tenant. The `creds` field must be a Base64-encoded RSA-encrypted credential blob. Use `GET /connected_accounts/credentials/public_key` to retrieve the public key for encryption. The `providerType` is derived server-side from the `providerId` — callers do not supply it. Endpoint Permission: Editor, Admin, Non-Signing Admin. * @summary Add a connected account * @param {AddConnectedAccountRequest} addConnectedAccountRequest * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. @@ -627,11 +627,11 @@ export const ConnectedAccountsBetaApiFp = function(configuration?: Configuration async addConnectedAccount(addConnectedAccountRequest: AddConnectedAccountRequest, idempotencyKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.addConnectedAccount(addConnectedAccountRequest, idempotencyKey, options); const index = configuration?.serverIndex ?? 0; - const operationBasePath = operationServerMap['ConnectedAccountsBetaApi.addConnectedAccount']?.[index]?.url; + const operationBasePath = operationServerMap['ConnectedAccountsApi.addConnectedAccount']?.[index]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** - * Disconnect a connected account by ID. **Note**: - This endpoint is currently in beta and might be subject to changes. + * Disconnect a connected account by ID. * @summary Disconnect connected account * @param {string} accountId The ID of the account to disconnect. * @param {*} [options] Override http request option. @@ -640,11 +640,11 @@ export const ConnectedAccountsBetaApiFp = function(configuration?: Configuration async disconnectConnectedAccount(accountId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.disconnectConnectedAccount(accountId, options); const index = configuration?.serverIndex ?? 0; - const operationBasePath = operationServerMap['ConnectedAccountsBetaApi.disconnectConnectedAccount']?.[index]?.url; + const operationBasePath = operationServerMap['ConnectedAccountsApi.disconnectConnectedAccount']?.[index]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** - * Retrieve detailed information about a specific connected account by ID. **Note:** This endpoint is currently in beta and might be subject to changes. + * Retrieve detailed information about a specific connected account by ID. * @summary Get connected account * @param {string} accountId The ID of the account to fetch. * @param {*} [options] Override http request option. @@ -653,11 +653,11 @@ export const ConnectedAccountsBetaApiFp = function(configuration?: Configuration async getConnectedAccount(accountId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getConnectedAccount(accountId, options); const index = configuration?.serverIndex ?? 0; - const operationBasePath = operationServerMap['ConnectedAccountsBetaApi.getConnectedAccount']?.[index]?.url; + const operationBasePath = operationServerMap['ConnectedAccountsApi.getConnectedAccount']?.[index]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** - * Retrieves the address allowlist for a specified connected account. **Note:** This endpoint is currently in beta and might be subject to changes. Currently supports CoinbaseExchange/Binance accounts only. + * Retrieves the address allowlist for a specified connected account. **Note:** Currently supports CoinbaseExchange/Binance accounts only. * @summary Get allowlist for connected account * @param {string} accountId The connected account identifier * @param {AllowlistEntryStatus} [status] Filter by allowlist entry status @@ -673,11 +673,11 @@ export const ConnectedAccountsBetaApiFp = function(configuration?: Configuration async getConnectedAccountAllowlist(accountId: string, status?: AllowlistEntryStatus, assetId?: string, networkId?: string, address?: string, pageCursor?: string, pageSize?: number, order?: GetConnectedAccountAllowlistOrderEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getConnectedAccountAllowlist(accountId, status, assetId, networkId, address, pageCursor, pageSize, order, options); const index = configuration?.serverIndex ?? 0; - const operationBasePath = operationServerMap['ConnectedAccountsBetaApi.getConnectedAccountAllowlist']?.[index]?.url; + const operationBasePath = operationServerMap['ConnectedAccountsApi.getConnectedAccountAllowlist']?.[index]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** - * Retrieves a single allowlist entry by its Fireblocks identifier for a specified connected account. **Note:** This endpoint is currently in beta and might be subject to changes. Currently supports CoinbaseExchange/Binance accounts only. + * Retrieves a single allowlist entry by its Fireblocks identifier for a specified connected account. **Note:** Currently supports CoinbaseExchange/Binance accounts only. * @summary Get a single allowlist entry for a connected account * @param {string} accountId The connected account identifier * @param {string} allowlistId The Fireblocks allowlist entry identifier @@ -687,11 +687,11 @@ export const ConnectedAccountsBetaApiFp = function(configuration?: Configuration async getConnectedAccountAllowlistEntry(accountId: string, allowlistId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getConnectedAccountAllowlistEntry(accountId, allowlistId, options); const index = configuration?.serverIndex ?? 0; - const operationBasePath = operationServerMap['ConnectedAccountsBetaApi.getConnectedAccountAllowlistEntry']?.[index]?.url; + const operationBasePath = operationServerMap['ConnectedAccountsApi.getConnectedAccountAllowlistEntry']?.[index]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** - * Retrieve current asset balances for a specific connected account as a flat list (one row per `assetId`, `balanceType`). **Note:** This endpoint is currently in beta and might be subject to changes. + * Retrieve current asset balances for a specific connected account as a flat list (one row per `assetId`, `balanceType`). * @summary Get balances for an account * @param {string} accountId The ID of the account to fetch balances for. * @param {number} [pageSize] Page size for pagination. @@ -702,11 +702,11 @@ export const ConnectedAccountsBetaApiFp = function(configuration?: Configuration async getConnectedAccountBalances(accountId: string, pageSize?: number, pageCursor?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getConnectedAccountBalances(accountId, pageSize, pageCursor, options); const index = configuration?.serverIndex ?? 0; - const operationBasePath = operationServerMap['ConnectedAccountsBetaApi.getConnectedAccountBalances']?.[index]?.url; + const operationBasePath = operationServerMap['ConnectedAccountsApi.getConnectedAccountBalances']?.[index]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** - * Retrieve current exchange rates for converting between specific assets in a connected account. **Note:** This endpoint is currently in beta and might be subject to changes. + * Retrieve current exchange rates for converting between specific assets in a connected account. * @summary Get exchange rates for an account * @param {string} accountId The ID of the account to fetch rates for. * @param {string} baseAssetId The ID of the asset to fetch rates for. @@ -717,11 +717,11 @@ export const ConnectedAccountsBetaApiFp = function(configuration?: Configuration async getConnectedAccountRates(accountId: string, baseAssetId: string, quoteAssetId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getConnectedAccountRates(accountId, baseAssetId, quoteAssetId, options); const index = configuration?.serverIndex ?? 0; - const operationBasePath = operationServerMap['ConnectedAccountsBetaApi.getConnectedAccountRates']?.[index]?.url; + const operationBasePath = operationServerMap['ConnectedAccountsApi.getConnectedAccountRates']?.[index]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** - * Retrieve all asset trading pairs supported by a specific connected account, including the pair type (`quote`, `market`, `onOffRamp`). **Note:** This endpoint is currently in beta and might be subject to changes. + * Retrieve all asset trading pairs supported by a specific connected account, including the pair type (`quote`, `market`, `onOffRamp`). * @summary Get supported trading pairs for an account * @param {string} accountId The ID of the account to fetch supported pairs for. * @param {number} [pageSize] Page size for pagination. @@ -732,11 +732,11 @@ export const ConnectedAccountsBetaApiFp = function(configuration?: Configuration async getConnectedAccountTradingPairs(accountId: string, pageSize?: number, pageCursor?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getConnectedAccountTradingPairs(accountId, pageSize, pageCursor, options); const index = configuration?.serverIndex ?? 0; - const operationBasePath = operationServerMap['ConnectedAccountsBetaApi.getConnectedAccountTradingPairs']?.[index]?.url; + const operationBasePath = operationServerMap['ConnectedAccountsApi.getConnectedAccountTradingPairs']?.[index]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** - * Returns all connected accounts. **Note:** This endpoint is currently in beta and might be subject to changes. + * Returns all connected accounts. * @summary Get connected accounts * @param {boolean} [mainAccounts] Whether to include only main accounts in the response. * @param {number} [pageSize] Page size for pagination. @@ -747,11 +747,11 @@ export const ConnectedAccountsBetaApiFp = function(configuration?: Configuration async getConnectedAccounts(mainAccounts?: boolean, pageSize?: number, pageCursor?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getConnectedAccounts(mainAccounts, pageSize, pageCursor, options); const index = configuration?.serverIndex ?? 0; - const operationBasePath = operationServerMap['ConnectedAccountsBetaApi.getConnectedAccounts']?.[index]?.url; + const operationBasePath = operationServerMap['ConnectedAccountsApi.getConnectedAccounts']?.[index]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** - * Returns the RSA public key used to encrypt the `creds` field before calling `POST /connected_accounts`. The key is a singleton resource scoped to the connected-accounts credentials domain — there is one per tenant context. **Note:** This endpoint is currently in beta and might be subject to changes. + * Returns the RSA public key used to encrypt the `creds` field before calling `POST /connected_accounts`. The key is a singleton resource scoped to the connected-accounts credentials domain — there is one per tenant context. * @summary Get public key to encrypt connected account credentials * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -759,11 +759,11 @@ export const ConnectedAccountsBetaApiFp = function(configuration?: Configuration async getConnectedAccountsCredentialsPublicKey(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getConnectedAccountsCredentialsPublicKey(options); const index = configuration?.serverIndex ?? 0; - const operationBasePath = operationServerMap['ConnectedAccountsBetaApi.getConnectedAccountsCredentialsPublicKey']?.[index]?.url; + const operationBasePath = operationServerMap['ConnectedAccountsApi.getConnectedAccountsCredentialsPublicKey']?.[index]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** - * Rename a connected account by account ID. **Note:** This endpoint is currently in beta and might be subject to changes. + * Rename a connected account by account ID. * @summary Rename Connected Account * @param {RenameConnectedAccountRequest} renameConnectedAccountRequest * @param {string} accountId The unique identifier of the connected account @@ -774,11 +774,11 @@ export const ConnectedAccountsBetaApiFp = function(configuration?: Configuration async renameConnectedAccount(renameConnectedAccountRequest: RenameConnectedAccountRequest, accountId: string, idempotencyKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.renameConnectedAccount(renameConnectedAccountRequest, accountId, idempotencyKey, options); const index = configuration?.serverIndex ?? 0; - const operationBasePath = operationServerMap['ConnectedAccountsBetaApi.renameConnectedAccount']?.[index]?.url; + const operationBasePath = operationServerMap['ConnectedAccountsApi.renameConnectedAccount']?.[index]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** - * Triggers an on-demand sync from the exchange, bypassing the cache and fetching live data immediately. **Rate limit:** 1 request per minute per connected account. **Note:** This endpoint is currently in beta and might be subject to changes. Currently supports CoinbaseExchange/Binance accounts only. + * Triggers an on-demand sync from the exchange, bypassing the cache and fetching live data immediately. **Rate limit:** 1 request per minute per connected account. **Note:** Currently supports CoinbaseExchange/Binance accounts only. * @summary Sync allowlist for connected account * @param {string} accountId The connected account identifier * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. @@ -788,11 +788,11 @@ export const ConnectedAccountsBetaApiFp = function(configuration?: Configuration async syncConnectedAccountAllowlist(accountId: string, idempotencyKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.syncConnectedAccountAllowlist(accountId, idempotencyKey, options); const index = configuration?.serverIndex ?? 0; - const operationBasePath = operationServerMap['ConnectedAccountsBetaApi.syncConnectedAccountAllowlist']?.[index]?.url; + const operationBasePath = operationServerMap['ConnectedAccountsApi.syncConnectedAccountAllowlist']?.[index]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** - * Replace the API credentials (secret + API key) of a connected account. Credentials belong to an API key, which can back a single account or an entire hierarchy. Updating them affects all accounts sharing that key, so the endpoint returns an array of modified accounts. The `creds` field must be a Base64-encoded RSA-encrypted credential blob; use `GET /connected_accounts/credentials/public_key` to retrieve the public key for encryption. Both `creds` and `apiKey` are mandatory. Validation against the exchange is synchronous, but the update itself is **pending mobile approval** — the existing credentials stay live until the change is approved, so none of the affected accounts are disconnected in the meantime. Endpoint Permission: Admin, Non-Signing Admin. **Note:** This endpoint is currently in beta and might be subject to changes. + * Replace the API credentials (secret + API key) of a connected account. Credentials belong to an API key, which can back a single account or an entire hierarchy. Updating them affects all accounts sharing that key, so the endpoint returns an array of modified accounts. The `creds` field must be a Base64-encoded RSA-encrypted credential blob; use `GET /connected_accounts/credentials/public_key` to retrieve the public key for encryption. Both `creds` and `apiKey` are mandatory. Validation against the exchange is synchronous, but the update itself is **pending mobile approval** — the existing credentials stay live until the change is approved, so none of the affected accounts are disconnected in the meantime. Endpoint Permission: Admin, Non-Signing Admin. * @summary Update connected account credentials * @param {UpdateConnectedAccountCredentialsRequest} updateConnectedAccountCredentialsRequest * @param {string} accountId The unique identifier of the connected account whose API key credentials are being replaced. @@ -803,111 +803,111 @@ export const ConnectedAccountsBetaApiFp = function(configuration?: Configuration async updateConnectedAccountCredentials(updateConnectedAccountCredentialsRequest: UpdateConnectedAccountCredentialsRequest, accountId: string, idempotencyKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.updateConnectedAccountCredentials(updateConnectedAccountCredentialsRequest, accountId, idempotencyKey, options); const index = configuration?.serverIndex ?? 0; - const operationBasePath = operationServerMap['ConnectedAccountsBetaApi.updateConnectedAccountCredentials']?.[index]?.url; + const operationBasePath = operationServerMap['ConnectedAccountsApi.updateConnectedAccountCredentials']?.[index]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, } }; /** - * ConnectedAccountsBetaApi - factory interface + * ConnectedAccountsApi - factory interface * @export */ -export const ConnectedAccountsBetaApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = ConnectedAccountsBetaApiFp(configuration) +export const ConnectedAccountsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = ConnectedAccountsApiFp(configuration) return { /** - * Creates a new connected account for the authenticated tenant. The `creds` field must be a Base64-encoded RSA-encrypted credential blob. Use `GET /connected_accounts/credentials/public_key` to retrieve the public key for encryption. The `providerType` is derived server-side from the `providerId` — callers do not supply it. Endpoint Permission: Editor, Admin, Non-Signing Admin. **Note:** This endpoint is currently in beta and might be subject to changes. + * Creates a new connected account for the authenticated tenant. The `creds` field must be a Base64-encoded RSA-encrypted credential blob. Use `GET /connected_accounts/credentials/public_key` to retrieve the public key for encryption. The `providerType` is derived server-side from the `providerId` — callers do not supply it. Endpoint Permission: Editor, Admin, Non-Signing Admin. * @summary Add a connected account - * @param {ConnectedAccountsBetaApiAddConnectedAccountRequest} requestParameters Request parameters. + * @param {ConnectedAccountsApiAddConnectedAccountRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - addConnectedAccount(requestParameters: ConnectedAccountsBetaApiAddConnectedAccountRequest, options?: RawAxiosRequestConfig): AxiosPromise { + addConnectedAccount(requestParameters: ConnectedAccountsApiAddConnectedAccountRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.addConnectedAccount(requestParameters.addConnectedAccountRequest, requestParameters.idempotencyKey, options).then((request) => request(axios, basePath)); }, /** - * Disconnect a connected account by ID. **Note**: - This endpoint is currently in beta and might be subject to changes. + * Disconnect a connected account by ID. * @summary Disconnect connected account - * @param {ConnectedAccountsBetaApiDisconnectConnectedAccountRequest} requestParameters Request parameters. + * @param {ConnectedAccountsApiDisconnectConnectedAccountRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - disconnectConnectedAccount(requestParameters: ConnectedAccountsBetaApiDisconnectConnectedAccountRequest, options?: RawAxiosRequestConfig): AxiosPromise { + disconnectConnectedAccount(requestParameters: ConnectedAccountsApiDisconnectConnectedAccountRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.disconnectConnectedAccount(requestParameters.accountId, options).then((request) => request(axios, basePath)); }, /** - * Retrieve detailed information about a specific connected account by ID. **Note:** This endpoint is currently in beta and might be subject to changes. + * Retrieve detailed information about a specific connected account by ID. * @summary Get connected account - * @param {ConnectedAccountsBetaApiGetConnectedAccountRequest} requestParameters Request parameters. + * @param {ConnectedAccountsApiGetConnectedAccountRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - getConnectedAccount(requestParameters: ConnectedAccountsBetaApiGetConnectedAccountRequest, options?: RawAxiosRequestConfig): AxiosPromise { + getConnectedAccount(requestParameters: ConnectedAccountsApiGetConnectedAccountRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getConnectedAccount(requestParameters.accountId, options).then((request) => request(axios, basePath)); }, /** - * Retrieves the address allowlist for a specified connected account. **Note:** This endpoint is currently in beta and might be subject to changes. Currently supports CoinbaseExchange/Binance accounts only. + * Retrieves the address allowlist for a specified connected account. **Note:** Currently supports CoinbaseExchange/Binance accounts only. * @summary Get allowlist for connected account - * @param {ConnectedAccountsBetaApiGetConnectedAccountAllowlistRequest} requestParameters Request parameters. + * @param {ConnectedAccountsApiGetConnectedAccountAllowlistRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - getConnectedAccountAllowlist(requestParameters: ConnectedAccountsBetaApiGetConnectedAccountAllowlistRequest, options?: RawAxiosRequestConfig): AxiosPromise { + getConnectedAccountAllowlist(requestParameters: ConnectedAccountsApiGetConnectedAccountAllowlistRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getConnectedAccountAllowlist(requestParameters.accountId, requestParameters.status, requestParameters.assetId, requestParameters.networkId, requestParameters.address, requestParameters.pageCursor, requestParameters.pageSize, requestParameters.order, options).then((request) => request(axios, basePath)); }, /** - * Retrieves a single allowlist entry by its Fireblocks identifier for a specified connected account. **Note:** This endpoint is currently in beta and might be subject to changes. Currently supports CoinbaseExchange/Binance accounts only. + * Retrieves a single allowlist entry by its Fireblocks identifier for a specified connected account. **Note:** Currently supports CoinbaseExchange/Binance accounts only. * @summary Get a single allowlist entry for a connected account - * @param {ConnectedAccountsBetaApiGetConnectedAccountAllowlistEntryRequest} requestParameters Request parameters. + * @param {ConnectedAccountsApiGetConnectedAccountAllowlistEntryRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - getConnectedAccountAllowlistEntry(requestParameters: ConnectedAccountsBetaApiGetConnectedAccountAllowlistEntryRequest, options?: RawAxiosRequestConfig): AxiosPromise { + getConnectedAccountAllowlistEntry(requestParameters: ConnectedAccountsApiGetConnectedAccountAllowlistEntryRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getConnectedAccountAllowlistEntry(requestParameters.accountId, requestParameters.allowlistId, options).then((request) => request(axios, basePath)); }, /** - * Retrieve current asset balances for a specific connected account as a flat list (one row per `assetId`, `balanceType`). **Note:** This endpoint is currently in beta and might be subject to changes. + * Retrieve current asset balances for a specific connected account as a flat list (one row per `assetId`, `balanceType`). * @summary Get balances for an account - * @param {ConnectedAccountsBetaApiGetConnectedAccountBalancesRequest} requestParameters Request parameters. + * @param {ConnectedAccountsApiGetConnectedAccountBalancesRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - getConnectedAccountBalances(requestParameters: ConnectedAccountsBetaApiGetConnectedAccountBalancesRequest, options?: RawAxiosRequestConfig): AxiosPromise { + getConnectedAccountBalances(requestParameters: ConnectedAccountsApiGetConnectedAccountBalancesRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getConnectedAccountBalances(requestParameters.accountId, requestParameters.pageSize, requestParameters.pageCursor, options).then((request) => request(axios, basePath)); }, /** - * Retrieve current exchange rates for converting between specific assets in a connected account. **Note:** This endpoint is currently in beta and might be subject to changes. + * Retrieve current exchange rates for converting between specific assets in a connected account. * @summary Get exchange rates for an account - * @param {ConnectedAccountsBetaApiGetConnectedAccountRatesRequest} requestParameters Request parameters. + * @param {ConnectedAccountsApiGetConnectedAccountRatesRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - getConnectedAccountRates(requestParameters: ConnectedAccountsBetaApiGetConnectedAccountRatesRequest, options?: RawAxiosRequestConfig): AxiosPromise { + getConnectedAccountRates(requestParameters: ConnectedAccountsApiGetConnectedAccountRatesRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getConnectedAccountRates(requestParameters.accountId, requestParameters.baseAssetId, requestParameters.quoteAssetId, options).then((request) => request(axios, basePath)); }, /** - * Retrieve all asset trading pairs supported by a specific connected account, including the pair type (`quote`, `market`, `onOffRamp`). **Note:** This endpoint is currently in beta and might be subject to changes. + * Retrieve all asset trading pairs supported by a specific connected account, including the pair type (`quote`, `market`, `onOffRamp`). * @summary Get supported trading pairs for an account - * @param {ConnectedAccountsBetaApiGetConnectedAccountTradingPairsRequest} requestParameters Request parameters. + * @param {ConnectedAccountsApiGetConnectedAccountTradingPairsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - getConnectedAccountTradingPairs(requestParameters: ConnectedAccountsBetaApiGetConnectedAccountTradingPairsRequest, options?: RawAxiosRequestConfig): AxiosPromise { + getConnectedAccountTradingPairs(requestParameters: ConnectedAccountsApiGetConnectedAccountTradingPairsRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getConnectedAccountTradingPairs(requestParameters.accountId, requestParameters.pageSize, requestParameters.pageCursor, options).then((request) => request(axios, basePath)); }, /** - * Returns all connected accounts. **Note:** This endpoint is currently in beta and might be subject to changes. + * Returns all connected accounts. * @summary Get connected accounts - * @param {ConnectedAccountsBetaApiGetConnectedAccountsRequest} requestParameters Request parameters. + * @param {ConnectedAccountsApiGetConnectedAccountsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - getConnectedAccounts(requestParameters: ConnectedAccountsBetaApiGetConnectedAccountsRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise { + getConnectedAccounts(requestParameters: ConnectedAccountsApiGetConnectedAccountsRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getConnectedAccounts(requestParameters.mainAccounts, requestParameters.pageSize, requestParameters.pageCursor, options).then((request) => request(axios, basePath)); }, /** - * Returns the RSA public key used to encrypt the `creds` field before calling `POST /connected_accounts`. The key is a singleton resource scoped to the connected-accounts credentials domain — there is one per tenant context. **Note:** This endpoint is currently in beta and might be subject to changes. + * Returns the RSA public key used to encrypt the `creds` field before calling `POST /connected_accounts`. The key is a singleton resource scoped to the connected-accounts credentials domain — there is one per tenant context. * @summary Get public key to encrypt connected account credentials * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -916,520 +916,520 @@ export const ConnectedAccountsBetaApiFactory = function (configuration?: Configu return localVarFp.getConnectedAccountsCredentialsPublicKey(options).then((request) => request(axios, basePath)); }, /** - * Rename a connected account by account ID. **Note:** This endpoint is currently in beta and might be subject to changes. + * Rename a connected account by account ID. * @summary Rename Connected Account - * @param {ConnectedAccountsBetaApiRenameConnectedAccountRequest} requestParameters Request parameters. + * @param {ConnectedAccountsApiRenameConnectedAccountRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - renameConnectedAccount(requestParameters: ConnectedAccountsBetaApiRenameConnectedAccountRequest, options?: RawAxiosRequestConfig): AxiosPromise { + renameConnectedAccount(requestParameters: ConnectedAccountsApiRenameConnectedAccountRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.renameConnectedAccount(requestParameters.renameConnectedAccountRequest, requestParameters.accountId, requestParameters.idempotencyKey, options).then((request) => request(axios, basePath)); }, /** - * Triggers an on-demand sync from the exchange, bypassing the cache and fetching live data immediately. **Rate limit:** 1 request per minute per connected account. **Note:** This endpoint is currently in beta and might be subject to changes. Currently supports CoinbaseExchange/Binance accounts only. + * Triggers an on-demand sync from the exchange, bypassing the cache and fetching live data immediately. **Rate limit:** 1 request per minute per connected account. **Note:** Currently supports CoinbaseExchange/Binance accounts only. * @summary Sync allowlist for connected account - * @param {ConnectedAccountsBetaApiSyncConnectedAccountAllowlistRequest} requestParameters Request parameters. + * @param {ConnectedAccountsApiSyncConnectedAccountAllowlistRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - syncConnectedAccountAllowlist(requestParameters: ConnectedAccountsBetaApiSyncConnectedAccountAllowlistRequest, options?: RawAxiosRequestConfig): AxiosPromise { + syncConnectedAccountAllowlist(requestParameters: ConnectedAccountsApiSyncConnectedAccountAllowlistRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.syncConnectedAccountAllowlist(requestParameters.accountId, requestParameters.idempotencyKey, options).then((request) => request(axios, basePath)); }, /** - * Replace the API credentials (secret + API key) of a connected account. Credentials belong to an API key, which can back a single account or an entire hierarchy. Updating them affects all accounts sharing that key, so the endpoint returns an array of modified accounts. The `creds` field must be a Base64-encoded RSA-encrypted credential blob; use `GET /connected_accounts/credentials/public_key` to retrieve the public key for encryption. Both `creds` and `apiKey` are mandatory. Validation against the exchange is synchronous, but the update itself is **pending mobile approval** — the existing credentials stay live until the change is approved, so none of the affected accounts are disconnected in the meantime. Endpoint Permission: Admin, Non-Signing Admin. **Note:** This endpoint is currently in beta and might be subject to changes. + * Replace the API credentials (secret + API key) of a connected account. Credentials belong to an API key, which can back a single account or an entire hierarchy. Updating them affects all accounts sharing that key, so the endpoint returns an array of modified accounts. The `creds` field must be a Base64-encoded RSA-encrypted credential blob; use `GET /connected_accounts/credentials/public_key` to retrieve the public key for encryption. Both `creds` and `apiKey` are mandatory. Validation against the exchange is synchronous, but the update itself is **pending mobile approval** — the existing credentials stay live until the change is approved, so none of the affected accounts are disconnected in the meantime. Endpoint Permission: Admin, Non-Signing Admin. * @summary Update connected account credentials - * @param {ConnectedAccountsBetaApiUpdateConnectedAccountCredentialsRequest} requestParameters Request parameters. + * @param {ConnectedAccountsApiUpdateConnectedAccountCredentialsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - updateConnectedAccountCredentials(requestParameters: ConnectedAccountsBetaApiUpdateConnectedAccountCredentialsRequest, options?: RawAxiosRequestConfig): AxiosPromise { + updateConnectedAccountCredentials(requestParameters: ConnectedAccountsApiUpdateConnectedAccountCredentialsRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.updateConnectedAccountCredentials(requestParameters.updateConnectedAccountCredentialsRequest, requestParameters.accountId, requestParameters.idempotencyKey, options).then((request) => request(axios, basePath)); }, }; }; /** - * Request parameters for addConnectedAccount operation in ConnectedAccountsBetaApi. + * Request parameters for addConnectedAccount operation in ConnectedAccountsApi. * @export - * @interface ConnectedAccountsBetaApiAddConnectedAccountRequest + * @interface ConnectedAccountsApiAddConnectedAccountRequest */ -export interface ConnectedAccountsBetaApiAddConnectedAccountRequest { +export interface ConnectedAccountsApiAddConnectedAccountRequest { /** * * @type {AddConnectedAccountRequest} - * @memberof ConnectedAccountsBetaApiAddConnectedAccount + * @memberof ConnectedAccountsApiAddConnectedAccount */ readonly addConnectedAccountRequest: AddConnectedAccountRequest /** * A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. * @type {string} - * @memberof ConnectedAccountsBetaApiAddConnectedAccount + * @memberof ConnectedAccountsApiAddConnectedAccount */ readonly idempotencyKey?: string } /** - * Request parameters for disconnectConnectedAccount operation in ConnectedAccountsBetaApi. + * Request parameters for disconnectConnectedAccount operation in ConnectedAccountsApi. * @export - * @interface ConnectedAccountsBetaApiDisconnectConnectedAccountRequest + * @interface ConnectedAccountsApiDisconnectConnectedAccountRequest */ -export interface ConnectedAccountsBetaApiDisconnectConnectedAccountRequest { +export interface ConnectedAccountsApiDisconnectConnectedAccountRequest { /** * The ID of the account to disconnect. * @type {string} - * @memberof ConnectedAccountsBetaApiDisconnectConnectedAccount + * @memberof ConnectedAccountsApiDisconnectConnectedAccount */ readonly accountId: string } /** - * Request parameters for getConnectedAccount operation in ConnectedAccountsBetaApi. + * Request parameters for getConnectedAccount operation in ConnectedAccountsApi. * @export - * @interface ConnectedAccountsBetaApiGetConnectedAccountRequest + * @interface ConnectedAccountsApiGetConnectedAccountRequest */ -export interface ConnectedAccountsBetaApiGetConnectedAccountRequest { +export interface ConnectedAccountsApiGetConnectedAccountRequest { /** * The ID of the account to fetch. * @type {string} - * @memberof ConnectedAccountsBetaApiGetConnectedAccount + * @memberof ConnectedAccountsApiGetConnectedAccount */ readonly accountId: string } /** - * Request parameters for getConnectedAccountAllowlist operation in ConnectedAccountsBetaApi. + * Request parameters for getConnectedAccountAllowlist operation in ConnectedAccountsApi. * @export - * @interface ConnectedAccountsBetaApiGetConnectedAccountAllowlistRequest + * @interface ConnectedAccountsApiGetConnectedAccountAllowlistRequest */ -export interface ConnectedAccountsBetaApiGetConnectedAccountAllowlistRequest { +export interface ConnectedAccountsApiGetConnectedAccountAllowlistRequest { /** * The connected account identifier * @type {string} - * @memberof ConnectedAccountsBetaApiGetConnectedAccountAllowlist + * @memberof ConnectedAccountsApiGetConnectedAccountAllowlist */ readonly accountId: string /** * Filter by allowlist entry status * @type {AllowlistEntryStatus} - * @memberof ConnectedAccountsBetaApiGetConnectedAccountAllowlist + * @memberof ConnectedAccountsApiGetConnectedAccountAllowlist */ readonly status?: AllowlistEntryStatus /** * Filter by Fireblocks asset ID. See [List assets](https://developers.fireblocks.com/reference/listassets) for the canonical list of Fireblocks asset IDs. * @type {string} - * @memberof ConnectedAccountsBetaApiGetConnectedAccountAllowlist + * @memberof ConnectedAccountsApiGetConnectedAccountAllowlist */ readonly assetId?: string /** * Filter by Fireblocks network ID. See [List blockchains](https://developers.fireblocks.com/reference/listblockchains) for the canonical list of Fireblocks blockchain identifiers. * @type {string} - * @memberof ConnectedAccountsBetaApiGetConnectedAccountAllowlist + * @memberof ConnectedAccountsApiGetConnectedAccountAllowlist */ readonly networkId?: string /** * Filter by specific address * @type {string} - * @memberof ConnectedAccountsBetaApiGetConnectedAccountAllowlist + * @memberof ConnectedAccountsApiGetConnectedAccountAllowlist */ readonly address?: string /** * Pagination cursor for next page * @type {string} - * @memberof ConnectedAccountsBetaApiGetConnectedAccountAllowlist + * @memberof ConnectedAccountsApiGetConnectedAccountAllowlist */ readonly pageCursor?: string /** * Maximum number of entries to return * @type {number} - * @memberof ConnectedAccountsBetaApiGetConnectedAccountAllowlist + * @memberof ConnectedAccountsApiGetConnectedAccountAllowlist */ readonly pageSize?: number /** * Sort order (ASC or DESC). * @type {'ASC' | 'DESC'} - * @memberof ConnectedAccountsBetaApiGetConnectedAccountAllowlist + * @memberof ConnectedAccountsApiGetConnectedAccountAllowlist */ readonly order?: GetConnectedAccountAllowlistOrderEnum } /** - * Request parameters for getConnectedAccountAllowlistEntry operation in ConnectedAccountsBetaApi. + * Request parameters for getConnectedAccountAllowlistEntry operation in ConnectedAccountsApi. * @export - * @interface ConnectedAccountsBetaApiGetConnectedAccountAllowlistEntryRequest + * @interface ConnectedAccountsApiGetConnectedAccountAllowlistEntryRequest */ -export interface ConnectedAccountsBetaApiGetConnectedAccountAllowlistEntryRequest { +export interface ConnectedAccountsApiGetConnectedAccountAllowlistEntryRequest { /** * The connected account identifier * @type {string} - * @memberof ConnectedAccountsBetaApiGetConnectedAccountAllowlistEntry + * @memberof ConnectedAccountsApiGetConnectedAccountAllowlistEntry */ readonly accountId: string /** * The Fireblocks allowlist entry identifier * @type {string} - * @memberof ConnectedAccountsBetaApiGetConnectedAccountAllowlistEntry + * @memberof ConnectedAccountsApiGetConnectedAccountAllowlistEntry */ readonly allowlistId: string } /** - * Request parameters for getConnectedAccountBalances operation in ConnectedAccountsBetaApi. + * Request parameters for getConnectedAccountBalances operation in ConnectedAccountsApi. * @export - * @interface ConnectedAccountsBetaApiGetConnectedAccountBalancesRequest + * @interface ConnectedAccountsApiGetConnectedAccountBalancesRequest */ -export interface ConnectedAccountsBetaApiGetConnectedAccountBalancesRequest { +export interface ConnectedAccountsApiGetConnectedAccountBalancesRequest { /** * The ID of the account to fetch balances for. * @type {string} - * @memberof ConnectedAccountsBetaApiGetConnectedAccountBalances + * @memberof ConnectedAccountsApiGetConnectedAccountBalances */ readonly accountId: string /** * Page size for pagination. * @type {number} - * @memberof ConnectedAccountsBetaApiGetConnectedAccountBalances + * @memberof ConnectedAccountsApiGetConnectedAccountBalances */ readonly pageSize?: number /** * Page cursor for pagination. * @type {string} - * @memberof ConnectedAccountsBetaApiGetConnectedAccountBalances + * @memberof ConnectedAccountsApiGetConnectedAccountBalances */ readonly pageCursor?: string } /** - * Request parameters for getConnectedAccountRates operation in ConnectedAccountsBetaApi. + * Request parameters for getConnectedAccountRates operation in ConnectedAccountsApi. * @export - * @interface ConnectedAccountsBetaApiGetConnectedAccountRatesRequest + * @interface ConnectedAccountsApiGetConnectedAccountRatesRequest */ -export interface ConnectedAccountsBetaApiGetConnectedAccountRatesRequest { +export interface ConnectedAccountsApiGetConnectedAccountRatesRequest { /** * The ID of the account to fetch rates for. * @type {string} - * @memberof ConnectedAccountsBetaApiGetConnectedAccountRates + * @memberof ConnectedAccountsApiGetConnectedAccountRates */ readonly accountId: string /** * The ID of the asset to fetch rates for. * @type {string} - * @memberof ConnectedAccountsBetaApiGetConnectedAccountRates + * @memberof ConnectedAccountsApiGetConnectedAccountRates */ readonly baseAssetId: string /** * The ID of the asset to get the rates nominally. * @type {string} - * @memberof ConnectedAccountsBetaApiGetConnectedAccountRates + * @memberof ConnectedAccountsApiGetConnectedAccountRates */ readonly quoteAssetId: string } /** - * Request parameters for getConnectedAccountTradingPairs operation in ConnectedAccountsBetaApi. + * Request parameters for getConnectedAccountTradingPairs operation in ConnectedAccountsApi. * @export - * @interface ConnectedAccountsBetaApiGetConnectedAccountTradingPairsRequest + * @interface ConnectedAccountsApiGetConnectedAccountTradingPairsRequest */ -export interface ConnectedAccountsBetaApiGetConnectedAccountTradingPairsRequest { +export interface ConnectedAccountsApiGetConnectedAccountTradingPairsRequest { /** * The ID of the account to fetch supported pairs for. * @type {string} - * @memberof ConnectedAccountsBetaApiGetConnectedAccountTradingPairs + * @memberof ConnectedAccountsApiGetConnectedAccountTradingPairs */ readonly accountId: string /** * Page size for pagination. * @type {number} - * @memberof ConnectedAccountsBetaApiGetConnectedAccountTradingPairs + * @memberof ConnectedAccountsApiGetConnectedAccountTradingPairs */ readonly pageSize?: number /** * Page cursor for pagination. * @type {string} - * @memberof ConnectedAccountsBetaApiGetConnectedAccountTradingPairs + * @memberof ConnectedAccountsApiGetConnectedAccountTradingPairs */ readonly pageCursor?: string } /** - * Request parameters for getConnectedAccounts operation in ConnectedAccountsBetaApi. + * Request parameters for getConnectedAccounts operation in ConnectedAccountsApi. * @export - * @interface ConnectedAccountsBetaApiGetConnectedAccountsRequest + * @interface ConnectedAccountsApiGetConnectedAccountsRequest */ -export interface ConnectedAccountsBetaApiGetConnectedAccountsRequest { +export interface ConnectedAccountsApiGetConnectedAccountsRequest { /** * Whether to include only main accounts in the response. * @type {boolean} - * @memberof ConnectedAccountsBetaApiGetConnectedAccounts + * @memberof ConnectedAccountsApiGetConnectedAccounts */ readonly mainAccounts?: boolean /** * Page size for pagination. * @type {number} - * @memberof ConnectedAccountsBetaApiGetConnectedAccounts + * @memberof ConnectedAccountsApiGetConnectedAccounts */ readonly pageSize?: number /** * Page cursor for pagination. * @type {string} - * @memberof ConnectedAccountsBetaApiGetConnectedAccounts + * @memberof ConnectedAccountsApiGetConnectedAccounts */ readonly pageCursor?: string } /** - * Request parameters for renameConnectedAccount operation in ConnectedAccountsBetaApi. + * Request parameters for renameConnectedAccount operation in ConnectedAccountsApi. * @export - * @interface ConnectedAccountsBetaApiRenameConnectedAccountRequest + * @interface ConnectedAccountsApiRenameConnectedAccountRequest */ -export interface ConnectedAccountsBetaApiRenameConnectedAccountRequest { +export interface ConnectedAccountsApiRenameConnectedAccountRequest { /** * * @type {RenameConnectedAccountRequest} - * @memberof ConnectedAccountsBetaApiRenameConnectedAccount + * @memberof ConnectedAccountsApiRenameConnectedAccount */ readonly renameConnectedAccountRequest: RenameConnectedAccountRequest /** * The unique identifier of the connected account * @type {string} - * @memberof ConnectedAccountsBetaApiRenameConnectedAccount + * @memberof ConnectedAccountsApiRenameConnectedAccount */ readonly accountId: string /** * A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. * @type {string} - * @memberof ConnectedAccountsBetaApiRenameConnectedAccount + * @memberof ConnectedAccountsApiRenameConnectedAccount */ readonly idempotencyKey?: string } /** - * Request parameters for syncConnectedAccountAllowlist operation in ConnectedAccountsBetaApi. + * Request parameters for syncConnectedAccountAllowlist operation in ConnectedAccountsApi. * @export - * @interface ConnectedAccountsBetaApiSyncConnectedAccountAllowlistRequest + * @interface ConnectedAccountsApiSyncConnectedAccountAllowlistRequest */ -export interface ConnectedAccountsBetaApiSyncConnectedAccountAllowlistRequest { +export interface ConnectedAccountsApiSyncConnectedAccountAllowlistRequest { /** * The connected account identifier * @type {string} - * @memberof ConnectedAccountsBetaApiSyncConnectedAccountAllowlist + * @memberof ConnectedAccountsApiSyncConnectedAccountAllowlist */ readonly accountId: string /** * A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. * @type {string} - * @memberof ConnectedAccountsBetaApiSyncConnectedAccountAllowlist + * @memberof ConnectedAccountsApiSyncConnectedAccountAllowlist */ readonly idempotencyKey?: string } /** - * Request parameters for updateConnectedAccountCredentials operation in ConnectedAccountsBetaApi. + * Request parameters for updateConnectedAccountCredentials operation in ConnectedAccountsApi. * @export - * @interface ConnectedAccountsBetaApiUpdateConnectedAccountCredentialsRequest + * @interface ConnectedAccountsApiUpdateConnectedAccountCredentialsRequest */ -export interface ConnectedAccountsBetaApiUpdateConnectedAccountCredentialsRequest { +export interface ConnectedAccountsApiUpdateConnectedAccountCredentialsRequest { /** * * @type {UpdateConnectedAccountCredentialsRequest} - * @memberof ConnectedAccountsBetaApiUpdateConnectedAccountCredentials + * @memberof ConnectedAccountsApiUpdateConnectedAccountCredentials */ readonly updateConnectedAccountCredentialsRequest: UpdateConnectedAccountCredentialsRequest /** * The unique identifier of the connected account whose API key credentials are being replaced. * @type {string} - * @memberof ConnectedAccountsBetaApiUpdateConnectedAccountCredentials + * @memberof ConnectedAccountsApiUpdateConnectedAccountCredentials */ readonly accountId: string /** * A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. * @type {string} - * @memberof ConnectedAccountsBetaApiUpdateConnectedAccountCredentials + * @memberof ConnectedAccountsApiUpdateConnectedAccountCredentials */ readonly idempotencyKey?: string } /** - * ConnectedAccountsBetaApi - object-oriented interface + * ConnectedAccountsApi - object-oriented interface * @export - * @class ConnectedAccountsBetaApi + * @class ConnectedAccountsApi * @extends {BaseAPI} */ -export class ConnectedAccountsBetaApi extends BaseAPI { +export class ConnectedAccountsApi extends BaseAPI { /** - * Creates a new connected account for the authenticated tenant. The `creds` field must be a Base64-encoded RSA-encrypted credential blob. Use `GET /connected_accounts/credentials/public_key` to retrieve the public key for encryption. The `providerType` is derived server-side from the `providerId` — callers do not supply it. Endpoint Permission: Editor, Admin, Non-Signing Admin. **Note:** This endpoint is currently in beta and might be subject to changes. + * Creates a new connected account for the authenticated tenant. The `creds` field must be a Base64-encoded RSA-encrypted credential blob. Use `GET /connected_accounts/credentials/public_key` to retrieve the public key for encryption. The `providerType` is derived server-side from the `providerId` — callers do not supply it. Endpoint Permission: Editor, Admin, Non-Signing Admin. * @summary Add a connected account - * @param {ConnectedAccountsBetaApiAddConnectedAccountRequest} requestParameters Request parameters. + * @param {ConnectedAccountsApiAddConnectedAccountRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} - * @memberof ConnectedAccountsBetaApi + * @memberof ConnectedAccountsApi */ - public addConnectedAccount(requestParameters: ConnectedAccountsBetaApiAddConnectedAccountRequest) { - return ConnectedAccountsBetaApiFp(this.configuration).addConnectedAccount(requestParameters.addConnectedAccountRequest, requestParameters.idempotencyKey).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + public addConnectedAccount(requestParameters: ConnectedAccountsApiAddConnectedAccountRequest) { + return ConnectedAccountsApiFp(this.configuration).addConnectedAccount(requestParameters.addConnectedAccountRequest, requestParameters.idempotencyKey).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); } /** - * Disconnect a connected account by ID. **Note**: - This endpoint is currently in beta and might be subject to changes. + * Disconnect a connected account by ID. * @summary Disconnect connected account - * @param {ConnectedAccountsBetaApiDisconnectConnectedAccountRequest} requestParameters Request parameters. + * @param {ConnectedAccountsApiDisconnectConnectedAccountRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} - * @memberof ConnectedAccountsBetaApi + * @memberof ConnectedAccountsApi */ - public disconnectConnectedAccount(requestParameters: ConnectedAccountsBetaApiDisconnectConnectedAccountRequest) { - return ConnectedAccountsBetaApiFp(this.configuration).disconnectConnectedAccount(requestParameters.accountId).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + public disconnectConnectedAccount(requestParameters: ConnectedAccountsApiDisconnectConnectedAccountRequest) { + return ConnectedAccountsApiFp(this.configuration).disconnectConnectedAccount(requestParameters.accountId).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); } /** - * Retrieve detailed information about a specific connected account by ID. **Note:** This endpoint is currently in beta and might be subject to changes. + * Retrieve detailed information about a specific connected account by ID. * @summary Get connected account - * @param {ConnectedAccountsBetaApiGetConnectedAccountRequest} requestParameters Request parameters. + * @param {ConnectedAccountsApiGetConnectedAccountRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} - * @memberof ConnectedAccountsBetaApi + * @memberof ConnectedAccountsApi */ - public getConnectedAccount(requestParameters: ConnectedAccountsBetaApiGetConnectedAccountRequest) { - return ConnectedAccountsBetaApiFp(this.configuration).getConnectedAccount(requestParameters.accountId).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + public getConnectedAccount(requestParameters: ConnectedAccountsApiGetConnectedAccountRequest) { + return ConnectedAccountsApiFp(this.configuration).getConnectedAccount(requestParameters.accountId).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); } /** - * Retrieves the address allowlist for a specified connected account. **Note:** This endpoint is currently in beta and might be subject to changes. Currently supports CoinbaseExchange/Binance accounts only. + * Retrieves the address allowlist for a specified connected account. **Note:** Currently supports CoinbaseExchange/Binance accounts only. * @summary Get allowlist for connected account - * @param {ConnectedAccountsBetaApiGetConnectedAccountAllowlistRequest} requestParameters Request parameters. + * @param {ConnectedAccountsApiGetConnectedAccountAllowlistRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} - * @memberof ConnectedAccountsBetaApi + * @memberof ConnectedAccountsApi */ - public getConnectedAccountAllowlist(requestParameters: ConnectedAccountsBetaApiGetConnectedAccountAllowlistRequest) { - return ConnectedAccountsBetaApiFp(this.configuration).getConnectedAccountAllowlist(requestParameters.accountId, requestParameters.status, requestParameters.assetId, requestParameters.networkId, requestParameters.address, requestParameters.pageCursor, requestParameters.pageSize, requestParameters.order).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + public getConnectedAccountAllowlist(requestParameters: ConnectedAccountsApiGetConnectedAccountAllowlistRequest) { + return ConnectedAccountsApiFp(this.configuration).getConnectedAccountAllowlist(requestParameters.accountId, requestParameters.status, requestParameters.assetId, requestParameters.networkId, requestParameters.address, requestParameters.pageCursor, requestParameters.pageSize, requestParameters.order).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); } /** - * Retrieves a single allowlist entry by its Fireblocks identifier for a specified connected account. **Note:** This endpoint is currently in beta and might be subject to changes. Currently supports CoinbaseExchange/Binance accounts only. + * Retrieves a single allowlist entry by its Fireblocks identifier for a specified connected account. **Note:** Currently supports CoinbaseExchange/Binance accounts only. * @summary Get a single allowlist entry for a connected account - * @param {ConnectedAccountsBetaApiGetConnectedAccountAllowlistEntryRequest} requestParameters Request parameters. + * @param {ConnectedAccountsApiGetConnectedAccountAllowlistEntryRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} - * @memberof ConnectedAccountsBetaApi + * @memberof ConnectedAccountsApi */ - public getConnectedAccountAllowlistEntry(requestParameters: ConnectedAccountsBetaApiGetConnectedAccountAllowlistEntryRequest) { - return ConnectedAccountsBetaApiFp(this.configuration).getConnectedAccountAllowlistEntry(requestParameters.accountId, requestParameters.allowlistId).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + public getConnectedAccountAllowlistEntry(requestParameters: ConnectedAccountsApiGetConnectedAccountAllowlistEntryRequest) { + return ConnectedAccountsApiFp(this.configuration).getConnectedAccountAllowlistEntry(requestParameters.accountId, requestParameters.allowlistId).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); } /** - * Retrieve current asset balances for a specific connected account as a flat list (one row per `assetId`, `balanceType`). **Note:** This endpoint is currently in beta and might be subject to changes. + * Retrieve current asset balances for a specific connected account as a flat list (one row per `assetId`, `balanceType`). * @summary Get balances for an account - * @param {ConnectedAccountsBetaApiGetConnectedAccountBalancesRequest} requestParameters Request parameters. + * @param {ConnectedAccountsApiGetConnectedAccountBalancesRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} - * @memberof ConnectedAccountsBetaApi + * @memberof ConnectedAccountsApi */ - public getConnectedAccountBalances(requestParameters: ConnectedAccountsBetaApiGetConnectedAccountBalancesRequest) { - return ConnectedAccountsBetaApiFp(this.configuration).getConnectedAccountBalances(requestParameters.accountId, requestParameters.pageSize, requestParameters.pageCursor).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + public getConnectedAccountBalances(requestParameters: ConnectedAccountsApiGetConnectedAccountBalancesRequest) { + return ConnectedAccountsApiFp(this.configuration).getConnectedAccountBalances(requestParameters.accountId, requestParameters.pageSize, requestParameters.pageCursor).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); } /** - * Retrieve current exchange rates for converting between specific assets in a connected account. **Note:** This endpoint is currently in beta and might be subject to changes. + * Retrieve current exchange rates for converting between specific assets in a connected account. * @summary Get exchange rates for an account - * @param {ConnectedAccountsBetaApiGetConnectedAccountRatesRequest} requestParameters Request parameters. + * @param {ConnectedAccountsApiGetConnectedAccountRatesRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} - * @memberof ConnectedAccountsBetaApi + * @memberof ConnectedAccountsApi */ - public getConnectedAccountRates(requestParameters: ConnectedAccountsBetaApiGetConnectedAccountRatesRequest) { - return ConnectedAccountsBetaApiFp(this.configuration).getConnectedAccountRates(requestParameters.accountId, requestParameters.baseAssetId, requestParameters.quoteAssetId).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + public getConnectedAccountRates(requestParameters: ConnectedAccountsApiGetConnectedAccountRatesRequest) { + return ConnectedAccountsApiFp(this.configuration).getConnectedAccountRates(requestParameters.accountId, requestParameters.baseAssetId, requestParameters.quoteAssetId).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); } /** - * Retrieve all asset trading pairs supported by a specific connected account, including the pair type (`quote`, `market`, `onOffRamp`). **Note:** This endpoint is currently in beta and might be subject to changes. + * Retrieve all asset trading pairs supported by a specific connected account, including the pair type (`quote`, `market`, `onOffRamp`). * @summary Get supported trading pairs for an account - * @param {ConnectedAccountsBetaApiGetConnectedAccountTradingPairsRequest} requestParameters Request parameters. + * @param {ConnectedAccountsApiGetConnectedAccountTradingPairsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} - * @memberof ConnectedAccountsBetaApi + * @memberof ConnectedAccountsApi */ - public getConnectedAccountTradingPairs(requestParameters: ConnectedAccountsBetaApiGetConnectedAccountTradingPairsRequest) { - return ConnectedAccountsBetaApiFp(this.configuration).getConnectedAccountTradingPairs(requestParameters.accountId, requestParameters.pageSize, requestParameters.pageCursor).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + public getConnectedAccountTradingPairs(requestParameters: ConnectedAccountsApiGetConnectedAccountTradingPairsRequest) { + return ConnectedAccountsApiFp(this.configuration).getConnectedAccountTradingPairs(requestParameters.accountId, requestParameters.pageSize, requestParameters.pageCursor).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); } /** - * Returns all connected accounts. **Note:** This endpoint is currently in beta and might be subject to changes. + * Returns all connected accounts. * @summary Get connected accounts - * @param {ConnectedAccountsBetaApiGetConnectedAccountsRequest} requestParameters Request parameters. + * @param {ConnectedAccountsApiGetConnectedAccountsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} - * @memberof ConnectedAccountsBetaApi + * @memberof ConnectedAccountsApi */ - public getConnectedAccounts(requestParameters: ConnectedAccountsBetaApiGetConnectedAccountsRequest = {}) { - return ConnectedAccountsBetaApiFp(this.configuration).getConnectedAccounts(requestParameters.mainAccounts, requestParameters.pageSize, requestParameters.pageCursor).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + public getConnectedAccounts(requestParameters: ConnectedAccountsApiGetConnectedAccountsRequest = {}) { + return ConnectedAccountsApiFp(this.configuration).getConnectedAccounts(requestParameters.mainAccounts, requestParameters.pageSize, requestParameters.pageCursor).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); } /** - * Returns the RSA public key used to encrypt the `creds` field before calling `POST /connected_accounts`. The key is a singleton resource scoped to the connected-accounts credentials domain — there is one per tenant context. **Note:** This endpoint is currently in beta and might be subject to changes. + * Returns the RSA public key used to encrypt the `creds` field before calling `POST /connected_accounts`. The key is a singleton resource scoped to the connected-accounts credentials domain — there is one per tenant context. * @summary Get public key to encrypt connected account credentials * @param {*} [options] Override http request option. * @throws {RequiredError} - * @memberof ConnectedAccountsBetaApi + * @memberof ConnectedAccountsApi */ public getConnectedAccountsCredentialsPublicKey() { - return ConnectedAccountsBetaApiFp(this.configuration).getConnectedAccountsCredentialsPublicKey().then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + return ConnectedAccountsApiFp(this.configuration).getConnectedAccountsCredentialsPublicKey().then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); } /** - * Rename a connected account by account ID. **Note:** This endpoint is currently in beta and might be subject to changes. + * Rename a connected account by account ID. * @summary Rename Connected Account - * @param {ConnectedAccountsBetaApiRenameConnectedAccountRequest} requestParameters Request parameters. + * @param {ConnectedAccountsApiRenameConnectedAccountRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} - * @memberof ConnectedAccountsBetaApi + * @memberof ConnectedAccountsApi */ - public renameConnectedAccount(requestParameters: ConnectedAccountsBetaApiRenameConnectedAccountRequest) { - return ConnectedAccountsBetaApiFp(this.configuration).renameConnectedAccount(requestParameters.renameConnectedAccountRequest, requestParameters.accountId, requestParameters.idempotencyKey).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + public renameConnectedAccount(requestParameters: ConnectedAccountsApiRenameConnectedAccountRequest) { + return ConnectedAccountsApiFp(this.configuration).renameConnectedAccount(requestParameters.renameConnectedAccountRequest, requestParameters.accountId, requestParameters.idempotencyKey).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); } /** - * Triggers an on-demand sync from the exchange, bypassing the cache and fetching live data immediately. **Rate limit:** 1 request per minute per connected account. **Note:** This endpoint is currently in beta and might be subject to changes. Currently supports CoinbaseExchange/Binance accounts only. + * Triggers an on-demand sync from the exchange, bypassing the cache and fetching live data immediately. **Rate limit:** 1 request per minute per connected account. **Note:** Currently supports CoinbaseExchange/Binance accounts only. * @summary Sync allowlist for connected account - * @param {ConnectedAccountsBetaApiSyncConnectedAccountAllowlistRequest} requestParameters Request parameters. + * @param {ConnectedAccountsApiSyncConnectedAccountAllowlistRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} - * @memberof ConnectedAccountsBetaApi + * @memberof ConnectedAccountsApi */ - public syncConnectedAccountAllowlist(requestParameters: ConnectedAccountsBetaApiSyncConnectedAccountAllowlistRequest) { - return ConnectedAccountsBetaApiFp(this.configuration).syncConnectedAccountAllowlist(requestParameters.accountId, requestParameters.idempotencyKey).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + public syncConnectedAccountAllowlist(requestParameters: ConnectedAccountsApiSyncConnectedAccountAllowlistRequest) { + return ConnectedAccountsApiFp(this.configuration).syncConnectedAccountAllowlist(requestParameters.accountId, requestParameters.idempotencyKey).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); } /** - * Replace the API credentials (secret + API key) of a connected account. Credentials belong to an API key, which can back a single account or an entire hierarchy. Updating them affects all accounts sharing that key, so the endpoint returns an array of modified accounts. The `creds` field must be a Base64-encoded RSA-encrypted credential blob; use `GET /connected_accounts/credentials/public_key` to retrieve the public key for encryption. Both `creds` and `apiKey` are mandatory. Validation against the exchange is synchronous, but the update itself is **pending mobile approval** — the existing credentials stay live until the change is approved, so none of the affected accounts are disconnected in the meantime. Endpoint Permission: Admin, Non-Signing Admin. **Note:** This endpoint is currently in beta and might be subject to changes. + * Replace the API credentials (secret + API key) of a connected account. Credentials belong to an API key, which can back a single account or an entire hierarchy. Updating them affects all accounts sharing that key, so the endpoint returns an array of modified accounts. The `creds` field must be a Base64-encoded RSA-encrypted credential blob; use `GET /connected_accounts/credentials/public_key` to retrieve the public key for encryption. Both `creds` and `apiKey` are mandatory. Validation against the exchange is synchronous, but the update itself is **pending mobile approval** — the existing credentials stay live until the change is approved, so none of the affected accounts are disconnected in the meantime. Endpoint Permission: Admin, Non-Signing Admin. * @summary Update connected account credentials - * @param {ConnectedAccountsBetaApiUpdateConnectedAccountCredentialsRequest} requestParameters Request parameters. + * @param {ConnectedAccountsApiUpdateConnectedAccountCredentialsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} - * @memberof ConnectedAccountsBetaApi + * @memberof ConnectedAccountsApi */ - public updateConnectedAccountCredentials(requestParameters: ConnectedAccountsBetaApiUpdateConnectedAccountCredentialsRequest) { - return ConnectedAccountsBetaApiFp(this.configuration).updateConnectedAccountCredentials(requestParameters.updateConnectedAccountCredentialsRequest, requestParameters.accountId, requestParameters.idempotencyKey).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + public updateConnectedAccountCredentials(requestParameters: ConnectedAccountsApiUpdateConnectedAccountCredentialsRequest) { + return ConnectedAccountsApiFp(this.configuration).updateConnectedAccountCredentials(requestParameters.updateConnectedAccountCredentialsRequest, requestParameters.accountId, requestParameters.idempotencyKey).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); } } diff --git a/api/console-user-api.ts b/api/console-user-api.ts index a1dd1e8a..0254da94 100644 --- a/api/console-user-api.ts +++ b/api/console-user-api.ts @@ -27,6 +27,8 @@ import { assertParamExistsAndNotEmpty } from '../utils/validation_utils'; // @ts-ignore import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base'; // @ts-ignore +import { ConsoleUser } from '../models'; +// @ts-ignore import { CreateConsoleUser } from '../models'; // @ts-ignore import { ErrorResponse } from '../models'; @@ -79,6 +81,44 @@ export const ConsoleUserApiAxiosParamCreator = function (configuration?: Configu options: localVarRequestOptions, }; }, + /** + * Requests deletion of a console user. The request is asynchronous: it goes through the workspace\'s configured \"Delete users\" approval policy (Settings > Quorums), exactly as deleting a user from the console does, and the user is removed only once that approval completes. - Track progress by polling GET /management/users; deletion is complete when the user is disabled. - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions. Endpoint Permission: Admin, Non-Signing Admin. **Note:** This endpoint is currently in beta and might be subject to changes. + * @summary Request deletion of a console user + * @param {string} id The ID of the console user to delete + * @param {boolean} [force] Acknowledges the impact of removing this user and proceeds anyway. Overrides both USER_REFERENCED_IN_TAP and QUORUM_INTEGRITY, the same way the acknowledgement checkbox does in the console. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteConsoleUser: async (id: string, force?: boolean, options: RawAxiosRequestConfig = {}): Promise => { + assertParamExistsAndNotEmpty('deleteConsoleUser', 'id', id) + const localVarPath = `/management/users/{id}` + .replace(`{${"id"}}`, encodeURIComponent(String(id))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if (force !== undefined) { + localVarQueryParameter['force'] = force; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, /** * Get console users for your workspace. - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions. Endpoint Permission: Admin, Non-Signing Admin. * @summary Get console users @@ -133,6 +173,20 @@ export const ConsoleUserApiFp = function(configuration?: Configuration) { const operationBasePath = operationServerMap['ConsoleUserApi.createConsoleUser']?.[index]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, + /** + * Requests deletion of a console user. The request is asynchronous: it goes through the workspace\'s configured \"Delete users\" approval policy (Settings > Quorums), exactly as deleting a user from the console does, and the user is removed only once that approval completes. - Track progress by polling GET /management/users; deletion is complete when the user is disabled. - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions. Endpoint Permission: Admin, Non-Signing Admin. **Note:** This endpoint is currently in beta and might be subject to changes. + * @summary Request deletion of a console user + * @param {string} id The ID of the console user to delete + * @param {boolean} [force] Acknowledges the impact of removing this user and proceeds anyway. Overrides both USER_REFERENCED_IN_TAP and QUORUM_INTEGRITY, the same way the acknowledgement checkbox does in the console. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async deleteConsoleUser(id: string, force?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.deleteConsoleUser(id, force, options); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['ConsoleUserApi.deleteConsoleUser']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); + }, /** * Get console users for your workspace. - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions. Endpoint Permission: Admin, Non-Signing Admin. * @summary Get console users @@ -165,6 +219,16 @@ export const ConsoleUserApiFactory = function (configuration?: Configuration, ba createConsoleUser(requestParameters: ConsoleUserApiCreateConsoleUserRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.createConsoleUser(requestParameters.createConsoleUser, requestParameters.idempotencyKey, options).then((request) => request(axios, basePath)); }, + /** + * Requests deletion of a console user. The request is asynchronous: it goes through the workspace\'s configured \"Delete users\" approval policy (Settings > Quorums), exactly as deleting a user from the console does, and the user is removed only once that approval completes. - Track progress by polling GET /management/users; deletion is complete when the user is disabled. - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions. Endpoint Permission: Admin, Non-Signing Admin. **Note:** This endpoint is currently in beta and might be subject to changes. + * @summary Request deletion of a console user + * @param {ConsoleUserApiDeleteConsoleUserRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteConsoleUser(requestParameters: ConsoleUserApiDeleteConsoleUserRequest, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.deleteConsoleUser(requestParameters.id, requestParameters.force, options).then((request) => request(axios, basePath)); + }, /** * Get console users for your workspace. - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions. Endpoint Permission: Admin, Non-Signing Admin. * @summary Get console users @@ -198,6 +262,27 @@ export interface ConsoleUserApiCreateConsoleUserRequest { readonly idempotencyKey?: string } +/** + * Request parameters for deleteConsoleUser operation in ConsoleUserApi. + * @export + * @interface ConsoleUserApiDeleteConsoleUserRequest + */ +export interface ConsoleUserApiDeleteConsoleUserRequest { + /** + * The ID of the console user to delete + * @type {string} + * @memberof ConsoleUserApiDeleteConsoleUser + */ + readonly id: string + + /** + * Acknowledges the impact of removing this user and proceeds anyway. Overrides both USER_REFERENCED_IN_TAP and QUORUM_INTEGRITY, the same way the acknowledgement checkbox does in the console. + * @type {boolean} + * @memberof ConsoleUserApiDeleteConsoleUser + */ + readonly force?: boolean +} + /** * ConsoleUserApi - object-oriented interface * @export @@ -217,6 +302,18 @@ export class ConsoleUserApi extends BaseAPI { return ConsoleUserApiFp(this.configuration).createConsoleUser(requestParameters.createConsoleUser, requestParameters.idempotencyKey).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); } + /** + * Requests deletion of a console user. The request is asynchronous: it goes through the workspace\'s configured \"Delete users\" approval policy (Settings > Quorums), exactly as deleting a user from the console does, and the user is removed only once that approval completes. - Track progress by polling GET /management/users; deletion is complete when the user is disabled. - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions. Endpoint Permission: Admin, Non-Signing Admin. **Note:** This endpoint is currently in beta and might be subject to changes. + * @summary Request deletion of a console user + * @param {ConsoleUserApiDeleteConsoleUserRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ConsoleUserApi + */ + public deleteConsoleUser(requestParameters: ConsoleUserApiDeleteConsoleUserRequest) { + return ConsoleUserApiFp(this.configuration).deleteConsoleUser(requestParameters.id, requestParameters.force).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + } + /** * Get console users for your workspace. - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions. Endpoint Permission: Admin, Non-Signing Admin. * @summary Get console users diff --git a/api/utxomanagement-beta-api.ts b/api/utxomanagement-beta-api.ts index fb60b649..2eef99b0 100644 --- a/api/utxomanagement-beta-api.ts +++ b/api/utxomanagement-beta-api.ts @@ -34,12 +34,48 @@ import { AttachDetachUtxoLabelsResponse } from '../models'; import { ErrorSchema } from '../models'; // @ts-ignore import { ListUtxosResponse } from '../models'; +// @ts-ignore +import { UpsertUtxoSelectionConfigRequest } from '../models'; +// @ts-ignore +import { UtxoLabelsErrorResponse } from '../models'; +// @ts-ignore +import { UtxoSelectionConfigResponse } from '../models'; /** * UTXOManagementBetaApi - axios parameter creator * @export */ export const UTXOManagementBetaApiAxiosParamCreator = function (configuration?: Configuration) { return { + /** + * Returns the workspace-level configured selection strategy and the effective strategy after runtime resolution. `ADAPTIVE` is the recommended strategy. When no row is stored (source `DEFAULT`), `effective` is `ADAPTIVE` if adaptive selection is serving for this workspace, otherwise `ASC`. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. + * @summary Get UTXO selection config + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getUtxoSelectionConfig: async (options: RawAxiosRequestConfig = {}): Promise => { + const localVarPath = `/utxo_management/selection_config`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, /** * Returns a paginated list of unspent transaction outputs (UTXOs) for a UTXO-based asset in a vault account, with optional filters for labels, statuses, amounts, and more. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. * @summary List unspent outputs (UTXOs) @@ -142,7 +178,43 @@ export const UTXOManagementBetaApiAxiosParamCreator = function (configuration?: }; }, /** - * Attach or detach labels to/from UTXOs in a vault account. Labels can be used for organizing and filtering UTXOs. Labels are applied additively — `labelsToAttach` adds to the existing label set and `labelsToDetach` removes from it. Neither operation replaces the full set. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. + * Returns the config stored at this vault-and-asset scope, if any, and the effective strategy after workspace fallback and runtime resolution. `ADAPTIVE` is the recommended strategy. When no row is stored at this scope and none is inherited from the workspace (source `DEFAULT`), `effective` is `ADAPTIVE` if adaptive selection is serving for this scope, otherwise `ASC`. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. + * @summary Get vault and asset UTXO selection config + * @param {string} vaultAccountId The ID of the vault account. + * @param {string} assetId The ID of the asset + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getVaultAssetUtxoSelectionConfig: async (vaultAccountId: string, assetId: string, options: RawAxiosRequestConfig = {}): Promise => { + assertParamExistsAndNotEmpty('getVaultAssetUtxoSelectionConfig', 'vaultAccountId', vaultAccountId) + assertParamExistsAndNotEmpty('getVaultAssetUtxoSelectionConfig', 'assetId', assetId) + const localVarPath = `/utxo_management/{vaultAccountId}/{assetId}/selection_config` + .replace(`{${"vaultAccountId"}}`, encodeURIComponent(String(vaultAccountId))) + .replace(`{${"assetId"}}`, encodeURIComponent(String(assetId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Attach or detach labels to/from UTXOs in a vault account. Labels can be used for organizing and filtering UTXOs. Labels are applied additively — `labelsToAttach` adds to the existing label set and `labelsToDetach` removes from it. Neither operation replaces the full set. The request is all-or-nothing: if any identifier cannot be labelled, no UTXO is labelled and the request fails with `400`. The response lists every failed identifier in `failures`, each with its own `reason` — use it, not the status, to decide what to do: - `NOT_FOUND` — not found in this vault and asset. - `NOT_LABELLABLE` — spent, or removed, and can no longer be labelled. A UTXO removed within the last hour is reported as `NOT_FOUND` with `utxoStatus: REMOVED`; if it does not reappear, it becomes `NOT_LABELLABLE` after about an hour. A `400` without `failures` means the request itself is malformed. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. * @summary Attach or detach labels to/from UTXOs * @param {AttachDetachUtxoLabelsRequest} attachDetachUtxoLabelsRequest * @param {string} vaultAccountId The ID of the vault account @@ -182,6 +254,92 @@ export const UTXOManagementBetaApiAxiosParamCreator = function (configuration?: localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; localVarRequestOptions.data = serializeDataIfNeeded(attachDetachUtxoLabelsRequest, localVarRequestOptions, configuration) + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Creates or updates the workspace-level UTXO selection strategy. `ADAPTIVE` is recommended. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin. + * @summary Upsert UTXO selection config + * @param {UpsertUtxoSelectionConfigRequest} upsertUtxoSelectionConfigRequest + * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + upsertUtxoSelectionConfig: async (upsertUtxoSelectionConfigRequest: UpsertUtxoSelectionConfigRequest, idempotencyKey?: string, options: RawAxiosRequestConfig = {}): Promise => { + assertParamExists('upsertUtxoSelectionConfig', 'upsertUtxoSelectionConfigRequest', upsertUtxoSelectionConfigRequest) + const localVarPath = `/utxo_management/selection_config`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if (idempotencyKey != null) { + localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey); + } + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(upsertUtxoSelectionConfigRequest, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Creates or updates the UTXO selection strategy for this vault account and asset. `ADAPTIVE` is recommended. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin. + * @summary Upsert vault and asset UTXO selection config + * @param {UpsertUtxoSelectionConfigRequest} upsertUtxoSelectionConfigRequest + * @param {string} vaultAccountId The ID of the vault account. + * @param {string} assetId The ID of the asset + * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + upsertVaultAssetUtxoSelectionConfig: async (upsertUtxoSelectionConfigRequest: UpsertUtxoSelectionConfigRequest, vaultAccountId: string, assetId: string, idempotencyKey?: string, options: RawAxiosRequestConfig = {}): Promise => { + assertParamExists('upsertVaultAssetUtxoSelectionConfig', 'upsertUtxoSelectionConfigRequest', upsertUtxoSelectionConfigRequest) + assertParamExistsAndNotEmpty('upsertVaultAssetUtxoSelectionConfig', 'vaultAccountId', vaultAccountId) + assertParamExistsAndNotEmpty('upsertVaultAssetUtxoSelectionConfig', 'assetId', assetId) + const localVarPath = `/utxo_management/{vaultAccountId}/{assetId}/selection_config` + .replace(`{${"vaultAccountId"}}`, encodeURIComponent(String(vaultAccountId))) + .replace(`{${"assetId"}}`, encodeURIComponent(String(assetId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if (idempotencyKey != null) { + localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey); + } + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(upsertUtxoSelectionConfigRequest, localVarRequestOptions, configuration) + return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, @@ -197,6 +355,18 @@ export const UTXOManagementBetaApiAxiosParamCreator = function (configuration?: export const UTXOManagementBetaApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = UTXOManagementBetaApiAxiosParamCreator(configuration) return { + /** + * Returns the workspace-level configured selection strategy and the effective strategy after runtime resolution. `ADAPTIVE` is the recommended strategy. When no row is stored (source `DEFAULT`), `effective` is `ADAPTIVE` if adaptive selection is serving for this workspace, otherwise `ASC`. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. + * @summary Get UTXO selection config + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getUtxoSelectionConfig(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getUtxoSelectionConfig(options); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['UTXOManagementBetaApi.getUtxoSelectionConfig']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); + }, /** * Returns a paginated list of unspent transaction outputs (UTXOs) for a UTXO-based asset in a vault account, with optional filters for labels, statuses, amounts, and more. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. * @summary List unspent outputs (UTXOs) @@ -225,7 +395,21 @@ export const UTXOManagementBetaApiFp = function(configuration?: Configuration) { return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** - * Attach or detach labels to/from UTXOs in a vault account. Labels can be used for organizing and filtering UTXOs. Labels are applied additively — `labelsToAttach` adds to the existing label set and `labelsToDetach` removes from it. Neither operation replaces the full set. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. + * Returns the config stored at this vault-and-asset scope, if any, and the effective strategy after workspace fallback and runtime resolution. `ADAPTIVE` is the recommended strategy. When no row is stored at this scope and none is inherited from the workspace (source `DEFAULT`), `effective` is `ADAPTIVE` if adaptive selection is serving for this scope, otherwise `ASC`. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. + * @summary Get vault and asset UTXO selection config + * @param {string} vaultAccountId The ID of the vault account. + * @param {string} assetId The ID of the asset + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getVaultAssetUtxoSelectionConfig(vaultAccountId: string, assetId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getVaultAssetUtxoSelectionConfig(vaultAccountId, assetId, options); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['UTXOManagementBetaApi.getVaultAssetUtxoSelectionConfig']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); + }, + /** + * Attach or detach labels to/from UTXOs in a vault account. Labels can be used for organizing and filtering UTXOs. Labels are applied additively — `labelsToAttach` adds to the existing label set and `labelsToDetach` removes from it. Neither operation replaces the full set. The request is all-or-nothing: if any identifier cannot be labelled, no UTXO is labelled and the request fails with `400`. The response lists every failed identifier in `failures`, each with its own `reason` — use it, not the status, to decide what to do: - `NOT_FOUND` — not found in this vault and asset. - `NOT_LABELLABLE` — spent, or removed, and can no longer be labelled. A UTXO removed within the last hour is reported as `NOT_FOUND` with `utxoStatus: REMOVED`; if it does not reappear, it becomes `NOT_LABELLABLE` after about an hour. A `400` without `failures` means the request itself is malformed. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. * @summary Attach or detach labels to/from UTXOs * @param {AttachDetachUtxoLabelsRequest} attachDetachUtxoLabelsRequest * @param {string} vaultAccountId The ID of the vault account @@ -240,6 +424,36 @@ export const UTXOManagementBetaApiFp = function(configuration?: Configuration) { const operationBasePath = operationServerMap['UTXOManagementBetaApi.updateUtxoLabels']?.[index]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, + /** + * Creates or updates the workspace-level UTXO selection strategy. `ADAPTIVE` is recommended. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin. + * @summary Upsert UTXO selection config + * @param {UpsertUtxoSelectionConfigRequest} upsertUtxoSelectionConfigRequest + * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async upsertUtxoSelectionConfig(upsertUtxoSelectionConfigRequest: UpsertUtxoSelectionConfigRequest, idempotencyKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.upsertUtxoSelectionConfig(upsertUtxoSelectionConfigRequest, idempotencyKey, options); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['UTXOManagementBetaApi.upsertUtxoSelectionConfig']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); + }, + /** + * Creates or updates the UTXO selection strategy for this vault account and asset. `ADAPTIVE` is recommended. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin. + * @summary Upsert vault and asset UTXO selection config + * @param {UpsertUtxoSelectionConfigRequest} upsertUtxoSelectionConfigRequest + * @param {string} vaultAccountId The ID of the vault account. + * @param {string} assetId The ID of the asset + * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async upsertVaultAssetUtxoSelectionConfig(upsertUtxoSelectionConfigRequest: UpsertUtxoSelectionConfigRequest, vaultAccountId: string, assetId: string, idempotencyKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.upsertVaultAssetUtxoSelectionConfig(upsertUtxoSelectionConfigRequest, vaultAccountId, assetId, idempotencyKey, options); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['UTXOManagementBetaApi.upsertVaultAssetUtxoSelectionConfig']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); + }, } }; @@ -250,6 +464,15 @@ export const UTXOManagementBetaApiFp = function(configuration?: Configuration) { export const UTXOManagementBetaApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { const localVarFp = UTXOManagementBetaApiFp(configuration) return { + /** + * Returns the workspace-level configured selection strategy and the effective strategy after runtime resolution. `ADAPTIVE` is the recommended strategy. When no row is stored (source `DEFAULT`), `effective` is `ADAPTIVE` if adaptive selection is serving for this workspace, otherwise `ASC`. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. + * @summary Get UTXO selection config + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getUtxoSelectionConfig(options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.getUtxoSelectionConfig(options).then((request) => request(axios, basePath)); + }, /** * Returns a paginated list of unspent transaction outputs (UTXOs) for a UTXO-based asset in a vault account, with optional filters for labels, statuses, amounts, and more. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. * @summary List unspent outputs (UTXOs) @@ -261,7 +484,17 @@ export const UTXOManagementBetaApiFactory = function (configuration?: Configurat return localVarFp.getUtxos(requestParameters.vaultAccountId, requestParameters.assetId, requestParameters.pageCursor, requestParameters.pageSize, requestParameters.sort, requestParameters.order, requestParameters.includeAllLabels, requestParameters.includeAnyLabels, requestParameters.excludeAnyLabels, requestParameters.includeStatuses, requestParameters.address, requestParameters.txHash, requestParameters.txId, requestParameters.minAmount, requestParameters.maxAmount, options).then((request) => request(axios, basePath)); }, /** - * Attach or detach labels to/from UTXOs in a vault account. Labels can be used for organizing and filtering UTXOs. Labels are applied additively — `labelsToAttach` adds to the existing label set and `labelsToDetach` removes from it. Neither operation replaces the full set. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. + * Returns the config stored at this vault-and-asset scope, if any, and the effective strategy after workspace fallback and runtime resolution. `ADAPTIVE` is the recommended strategy. When no row is stored at this scope and none is inherited from the workspace (source `DEFAULT`), `effective` is `ADAPTIVE` if adaptive selection is serving for this scope, otherwise `ASC`. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. + * @summary Get vault and asset UTXO selection config + * @param {UTXOManagementBetaApiGetVaultAssetUtxoSelectionConfigRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getVaultAssetUtxoSelectionConfig(requestParameters: UTXOManagementBetaApiGetVaultAssetUtxoSelectionConfigRequest, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.getVaultAssetUtxoSelectionConfig(requestParameters.vaultAccountId, requestParameters.assetId, options).then((request) => request(axios, basePath)); + }, + /** + * Attach or detach labels to/from UTXOs in a vault account. Labels can be used for organizing and filtering UTXOs. Labels are applied additively — `labelsToAttach` adds to the existing label set and `labelsToDetach` removes from it. Neither operation replaces the full set. The request is all-or-nothing: if any identifier cannot be labelled, no UTXO is labelled and the request fails with `400`. The response lists every failed identifier in `failures`, each with its own `reason` — use it, not the status, to decide what to do: - `NOT_FOUND` — not found in this vault and asset. - `NOT_LABELLABLE` — spent, or removed, and can no longer be labelled. A UTXO removed within the last hour is reported as `NOT_FOUND` with `utxoStatus: REMOVED`; if it does not reappear, it becomes `NOT_LABELLABLE` after about an hour. A `400` without `failures` means the request itself is malformed. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. * @summary Attach or detach labels to/from UTXOs * @param {UTXOManagementBetaApiUpdateUtxoLabelsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. @@ -270,6 +503,26 @@ export const UTXOManagementBetaApiFactory = function (configuration?: Configurat updateUtxoLabels(requestParameters: UTXOManagementBetaApiUpdateUtxoLabelsRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.updateUtxoLabels(requestParameters.attachDetachUtxoLabelsRequest, requestParameters.vaultAccountId, requestParameters.assetId, requestParameters.idempotencyKey, options).then((request) => request(axios, basePath)); }, + /** + * Creates or updates the workspace-level UTXO selection strategy. `ADAPTIVE` is recommended. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin. + * @summary Upsert UTXO selection config + * @param {UTXOManagementBetaApiUpsertUtxoSelectionConfigRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + upsertUtxoSelectionConfig(requestParameters: UTXOManagementBetaApiUpsertUtxoSelectionConfigRequest, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.upsertUtxoSelectionConfig(requestParameters.upsertUtxoSelectionConfigRequest, requestParameters.idempotencyKey, options).then((request) => request(axios, basePath)); + }, + /** + * Creates or updates the UTXO selection strategy for this vault account and asset. `ADAPTIVE` is recommended. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin. + * @summary Upsert vault and asset UTXO selection config + * @param {UTXOManagementBetaApiUpsertVaultAssetUtxoSelectionConfigRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + upsertVaultAssetUtxoSelectionConfig(requestParameters: UTXOManagementBetaApiUpsertVaultAssetUtxoSelectionConfigRequest, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.upsertVaultAssetUtxoSelectionConfig(requestParameters.upsertUtxoSelectionConfigRequest, requestParameters.vaultAccountId, requestParameters.assetId, requestParameters.idempotencyKey, options).then((request) => request(axios, basePath)); + }, }; }; @@ -385,6 +638,27 @@ export interface UTXOManagementBetaApiGetUtxosRequest { readonly maxAmount?: string } +/** + * Request parameters for getVaultAssetUtxoSelectionConfig operation in UTXOManagementBetaApi. + * @export + * @interface UTXOManagementBetaApiGetVaultAssetUtxoSelectionConfigRequest + */ +export interface UTXOManagementBetaApiGetVaultAssetUtxoSelectionConfigRequest { + /** + * The ID of the vault account. + * @type {string} + * @memberof UTXOManagementBetaApiGetVaultAssetUtxoSelectionConfig + */ + readonly vaultAccountId: string + + /** + * The ID of the asset + * @type {string} + * @memberof UTXOManagementBetaApiGetVaultAssetUtxoSelectionConfig + */ + readonly assetId: string +} + /** * Request parameters for updateUtxoLabels operation in UTXOManagementBetaApi. * @export @@ -420,6 +694,62 @@ export interface UTXOManagementBetaApiUpdateUtxoLabelsRequest { readonly idempotencyKey?: string } +/** + * Request parameters for upsertUtxoSelectionConfig operation in UTXOManagementBetaApi. + * @export + * @interface UTXOManagementBetaApiUpsertUtxoSelectionConfigRequest + */ +export interface UTXOManagementBetaApiUpsertUtxoSelectionConfigRequest { + /** + * + * @type {UpsertUtxoSelectionConfigRequest} + * @memberof UTXOManagementBetaApiUpsertUtxoSelectionConfig + */ + readonly upsertUtxoSelectionConfigRequest: UpsertUtxoSelectionConfigRequest + + /** + * A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. + * @type {string} + * @memberof UTXOManagementBetaApiUpsertUtxoSelectionConfig + */ + readonly idempotencyKey?: string +} + +/** + * Request parameters for upsertVaultAssetUtxoSelectionConfig operation in UTXOManagementBetaApi. + * @export + * @interface UTXOManagementBetaApiUpsertVaultAssetUtxoSelectionConfigRequest + */ +export interface UTXOManagementBetaApiUpsertVaultAssetUtxoSelectionConfigRequest { + /** + * + * @type {UpsertUtxoSelectionConfigRequest} + * @memberof UTXOManagementBetaApiUpsertVaultAssetUtxoSelectionConfig + */ + readonly upsertUtxoSelectionConfigRequest: UpsertUtxoSelectionConfigRequest + + /** + * The ID of the vault account. + * @type {string} + * @memberof UTXOManagementBetaApiUpsertVaultAssetUtxoSelectionConfig + */ + readonly vaultAccountId: string + + /** + * The ID of the asset + * @type {string} + * @memberof UTXOManagementBetaApiUpsertVaultAssetUtxoSelectionConfig + */ + readonly assetId: string + + /** + * A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. + * @type {string} + * @memberof UTXOManagementBetaApiUpsertVaultAssetUtxoSelectionConfig + */ + readonly idempotencyKey?: string +} + /** * UTXOManagementBetaApi - object-oriented interface * @export @@ -427,6 +757,17 @@ export interface UTXOManagementBetaApiUpdateUtxoLabelsRequest { * @extends {BaseAPI} */ export class UTXOManagementBetaApi extends BaseAPI { + /** + * Returns the workspace-level configured selection strategy and the effective strategy after runtime resolution. `ADAPTIVE` is the recommended strategy. When no row is stored (source `DEFAULT`), `effective` is `ADAPTIVE` if adaptive selection is serving for this workspace, otherwise `ASC`. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. + * @summary Get UTXO selection config + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UTXOManagementBetaApi + */ + public getUtxoSelectionConfig() { + return UTXOManagementBetaApiFp(this.configuration).getUtxoSelectionConfig().then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + } + /** * Returns a paginated list of unspent transaction outputs (UTXOs) for a UTXO-based asset in a vault account, with optional filters for labels, statuses, amounts, and more. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. * @summary List unspent outputs (UTXOs) @@ -440,7 +781,19 @@ export class UTXOManagementBetaApi extends BaseAPI { } /** - * Attach or detach labels to/from UTXOs in a vault account. Labels can be used for organizing and filtering UTXOs. Labels are applied additively — `labelsToAttach` adds to the existing label set and `labelsToDetach` removes from it. Neither operation replaces the full set. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. + * Returns the config stored at this vault-and-asset scope, if any, and the effective strategy after workspace fallback and runtime resolution. `ADAPTIVE` is the recommended strategy. When no row is stored at this scope and none is inherited from the workspace (source `DEFAULT`), `effective` is `ADAPTIVE` if adaptive selection is serving for this scope, otherwise `ASC`. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. + * @summary Get vault and asset UTXO selection config + * @param {UTXOManagementBetaApiGetVaultAssetUtxoSelectionConfigRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UTXOManagementBetaApi + */ + public getVaultAssetUtxoSelectionConfig(requestParameters: UTXOManagementBetaApiGetVaultAssetUtxoSelectionConfigRequest) { + return UTXOManagementBetaApiFp(this.configuration).getVaultAssetUtxoSelectionConfig(requestParameters.vaultAccountId, requestParameters.assetId).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + } + + /** + * Attach or detach labels to/from UTXOs in a vault account. Labels can be used for organizing and filtering UTXOs. Labels are applied additively — `labelsToAttach` adds to the existing label set and `labelsToDetach` removes from it. Neither operation replaces the full set. The request is all-or-nothing: if any identifier cannot be labelled, no UTXO is labelled and the request fails with `400`. The response lists every failed identifier in `failures`, each with its own `reason` — use it, not the status, to decide what to do: - `NOT_FOUND` — not found in this vault and asset. - `NOT_LABELLABLE` — spent, or removed, and can no longer be labelled. A UTXO removed within the last hour is reported as `NOT_FOUND` with `utxoStatus: REMOVED`; if it does not reappear, it becomes `NOT_LABELLABLE` after about an hour. A `400` without `failures` means the request itself is malformed. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. * @summary Attach or detach labels to/from UTXOs * @param {UTXOManagementBetaApiUpdateUtxoLabelsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. @@ -450,6 +803,30 @@ export class UTXOManagementBetaApi extends BaseAPI { public updateUtxoLabels(requestParameters: UTXOManagementBetaApiUpdateUtxoLabelsRequest) { return UTXOManagementBetaApiFp(this.configuration).updateUtxoLabels(requestParameters.attachDetachUtxoLabelsRequest, requestParameters.vaultAccountId, requestParameters.assetId, requestParameters.idempotencyKey).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); } + + /** + * Creates or updates the workspace-level UTXO selection strategy. `ADAPTIVE` is recommended. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin. + * @summary Upsert UTXO selection config + * @param {UTXOManagementBetaApiUpsertUtxoSelectionConfigRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UTXOManagementBetaApi + */ + public upsertUtxoSelectionConfig(requestParameters: UTXOManagementBetaApiUpsertUtxoSelectionConfigRequest) { + return UTXOManagementBetaApiFp(this.configuration).upsertUtxoSelectionConfig(requestParameters.upsertUtxoSelectionConfigRequest, requestParameters.idempotencyKey).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + } + + /** + * Creates or updates the UTXO selection strategy for this vault account and asset. `ADAPTIVE` is recommended. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin. + * @summary Upsert vault and asset UTXO selection config + * @param {UTXOManagementBetaApiUpsertVaultAssetUtxoSelectionConfigRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UTXOManagementBetaApi + */ + public upsertVaultAssetUtxoSelectionConfig(requestParameters: UTXOManagementBetaApiUpsertVaultAssetUtxoSelectionConfigRequest) { + return UTXOManagementBetaApiFp(this.configuration).upsertVaultAssetUtxoSelectionConfig(requestParameters.upsertUtxoSelectionConfigRequest, requestParameters.vaultAccountId, requestParameters.assetId, requestParameters.idempotencyKey).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + } } /** diff --git a/api/webhooks-v2-api.ts b/api/webhooks-v2-api.ts index 4ebc3406..304b0961 100644 --- a/api/webhooks-v2-api.ts +++ b/api/webhooks-v2-api.ts @@ -27,10 +27,14 @@ import { assertParamExistsAndNotEmpty } from '../utils/validation_utils'; // @ts-ignore import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base'; // @ts-ignore +import { CreateWebhookMtlsConfigRequest } from '../models'; +// @ts-ignore import { CreateWebhookOauthRequest } from '../models'; // @ts-ignore import { CreateWebhookRequest } from '../models'; // @ts-ignore +import { DeleteWebhookMtlsConfigResponse } from '../models'; +// @ts-ignore import { DeleteWebhookOauthResponse } from '../models'; // @ts-ignore import { ErrorSchema } from '../models'; @@ -55,6 +59,8 @@ import { ResendFailedNotificationsResponse } from '../models'; // @ts-ignore import { ResendNotificationsByResourceIdRequest } from '../models'; // @ts-ignore +import { UpdateWebhookMtlsConfigRequest } from '../models'; +// @ts-ignore import { UpdateWebhookOauthRequest } from '../models'; // @ts-ignore import { UpdateWebhookRequest } from '../models'; @@ -65,6 +71,10 @@ import { WebhookEvent } from '../models'; // @ts-ignore import { WebhookMetric } from '../models'; // @ts-ignore +import { WebhookMtlsConfig } from '../models'; +// @ts-ignore +import { WebhookMtlsConfigsList } from '../models'; +// @ts-ignore import { WebhookMtlsCsrResponse } from '../models'; // @ts-ignore import { WebhookOauthCredentials } from '../models'; @@ -118,6 +128,46 @@ export const WebhooksV2ApiAxiosParamCreator = function (configuration?: Configur options: localVarRequestOptions, }; }, + /** + * Stores a certificate signed against the CSR from `GET /v1/webhooks_settings/mtls_csr` and returns its id, which is then set as `webhookMtlsId` on a webhook or on OAuth credentials. The private key the certificate was issued for is derived from the certificate, so it is never named by the caller. Re-uploading a certificate already stored returns the existing id rather than creating a second configuration, so several webhooks and OAuth credentials can share one certificate. A certificate that was not issued for a private key this workspace holds is rejected with a `400`. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. + * @summary Create an mTLS configuration + * @param {CreateWebhookMtlsConfigRequest} createWebhookMtlsConfigRequest + * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createWebhookMtlsConfig: async (createWebhookMtlsConfigRequest: CreateWebhookMtlsConfigRequest, idempotencyKey?: string, options: RawAxiosRequestConfig = {}): Promise => { + assertParamExists('createWebhookMtlsConfig', 'createWebhookMtlsConfigRequest', createWebhookMtlsConfigRequest) + const localVarPath = `/webhooks_settings/mtls`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if (idempotencyKey != null) { + localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey); + } + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(createWebhookMtlsConfigRequest, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, /** * Creates a reusable OAuth client credential set. Attach it to a webhook by passing the returned id as that webhook\'s `webhookOauthId`. Several webhooks may share one credential set, so rotating its client secret covers all of them at once. The client secret is write-only and is never returned. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. * @summary Create OAuth credentials @@ -182,6 +232,44 @@ export const WebhooksV2ApiAxiosParamCreator = function (configuration?: Configur + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Deletes an mTLS configuration. By default the delete is refused while the configuration is still in use: if any webhook or OAuth credentials reference it, nothing is deleted and the request fails with `409 Conflict`, naming the reason and listing the ids of what references it. This protects a shared configuration from being removed out from under the webhooks and token requests that depend on it. Pass `forceDelete=true` to delete anyway. That detaches everything referencing it — it clears `webhookMtlsId` on each webhook and OAuth credentials, it does **not** delete them — then deletes the configuration and returns the deleted resource together with `detachedWebhookIds` and `detachedWebhookOauthIds`. Detached webhooks keep delivering notifications, and detached OAuth credentials keep requesting tokens, but without a client certificate, so an endpoint that requires mTLS will reject them from that point on. When nothing references the configuration the delete succeeds either way, and both lists come back empty. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. + * @summary Delete an mTLS configuration + * @param {string} webhookMtlsId The unique identifier of the mTLS configuration + * @param {boolean} [forceDelete] Delete the configuration even while webhooks or OAuth credentials still reference it, detaching them instead of refusing; their ids are returned in `detachedWebhookIds` and `detachedWebhookOauthIds`. Leave it unset, or `false`, to get a `409 Conflict` whenever anything still references the configuration. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteWebhookMtlsConfig: async (webhookMtlsId: string, forceDelete?: boolean, options: RawAxiosRequestConfig = {}): Promise => { + assertParamExistsAndNotEmpty('deleteWebhookMtlsConfig', 'webhookMtlsId', webhookMtlsId) + const localVarPath = `/webhooks_settings/mtls/{webhookMtlsId}` + .replace(`{${"webhookMtlsId"}}`, encodeURIComponent(String(webhookMtlsId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if (forceDelete !== undefined) { + localVarQueryParameter['forceDelete'] = forceDelete; + } + + + setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; @@ -561,6 +649,74 @@ export const WebhooksV2ApiAxiosParamCreator = function (configuration?: Configur + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Retrieve one stored mTLS configuration by its id. + * @summary Get an mTLS configuration by id + * @param {string} webhookMtlsId The unique identifier of the mTLS configuration + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getWebhookMtlsConfig: async (webhookMtlsId: string, options: RawAxiosRequestConfig = {}): Promise => { + assertParamExistsAndNotEmpty('getWebhookMtlsConfig', 'webhookMtlsId', webhookMtlsId) + const localVarPath = `/webhooks_settings/mtls/{webhookMtlsId}` + .replace(`{${"webhookMtlsId"}}`, encodeURIComponent(String(webhookMtlsId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Lists the workspace\'s mTLS configurations, newest first. Pass `ids` to ask about particular ones instead — useful for resolving the `webhookMtlsId` values on a set of webhooks in one call. + * @summary List the uploaded mTLS configurations + * @param {Array} [ids] Return only the configurations with these ids, instead of all of them. Repeat the parameter for each id. An id belonging to another workspace, or to nothing, is left out of the response rather than failing the request. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getWebhookMtlsConfigs: async (ids?: Array, options: RawAxiosRequestConfig = {}): Promise => { + const localVarPath = `/webhooks_settings/mtls`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if (ids) { + localVarQueryParameter['ids'] = ids; + } + + + setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; @@ -887,7 +1043,45 @@ export const WebhooksV2ApiAxiosParamCreator = function (configuration?: Configur }; }, /** - * Updates only the fields present in the request; anything omitted is left as it is. Sending `clientSecret` on its own rotates the secret for every webhook using these credentials. `customJwtClaims`, `customBodyParams` and `customHeaders` are all merged key by key rather than replaced, the same way a webhook\'s own `customHeaders` behaves: a key sent with a value is added or overwritten, a key sent with a `null` value is deleted, and a key you omit is left alone. Setting one of the three to `null` as a whole clears that map, which is the quick way to empty it without naming every key. There is no ambiguity between the two uses of `null` — one names an entry to delete, the other names the field. A claim cannot be set to JSON `null`, though, on this endpoint or on create, because `null` is spent on deletion. `mtlsClientSignedCert` is a scalar rather than a map, so `null` there does remove it. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. + * Renames a configuration, replaces its certificate, or both. Only the fields present in the request are changed; anything omitted is left as it is, and a request with neither field is rejected with a `400`. Replacing `signedCert` switches every webhook and OAuth credentials set using this configuration over to the new certificate in one write, and the private key it was issued for is re-derived from the certificate. A replacement that was not issued for a private key this workspace holds is rejected with a `400`. Sending `name: null` removes the label. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. + * @summary Update an mTLS configuration + * @param {UpdateWebhookMtlsConfigRequest} updateWebhookMtlsConfigRequest + * @param {string} webhookMtlsId The unique identifier of the mTLS configuration + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + updateWebhookMtlsConfig: async (updateWebhookMtlsConfigRequest: UpdateWebhookMtlsConfigRequest, webhookMtlsId: string, options: RawAxiosRequestConfig = {}): Promise => { + assertParamExists('updateWebhookMtlsConfig', 'updateWebhookMtlsConfigRequest', updateWebhookMtlsConfigRequest) + assertParamExistsAndNotEmpty('updateWebhookMtlsConfig', 'webhookMtlsId', webhookMtlsId) + const localVarPath = `/webhooks_settings/mtls/{webhookMtlsId}` + .replace(`{${"webhookMtlsId"}}`, encodeURIComponent(String(webhookMtlsId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(updateWebhookMtlsConfigRequest, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Updates only the fields present in the request; anything omitted is left as it is. Sending `clientSecret` on its own rotates the secret for every webhook using these credentials. `customJwtClaims`, `customBodyParams` and `customHeaders` are all merged key by key rather than replaced, the same way a webhook\'s own `customHeaders` behaves: a key sent with a value is added or overwritten, a key sent with a `null` value is deleted, and a key you omit is left alone. Setting one of the three to `null` as a whole clears that map, which is the quick way to empty it without naming every key. There is no ambiguity between the two uses of `null` — one names an entry to delete, the other names the field. A claim cannot be set to JSON `null`, though, on this endpoint or on create, because `null` is spent on deletion. `webhookMtlsId` is a scalar rather than a map, so `null` there does remove it. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. * @summary Update OAuth credentials * @param {UpdateWebhookOauthRequest} updateWebhookOauthRequest * @param {string} webhookOauthId The unique identifier of the OAuth credentials @@ -948,6 +1142,20 @@ export const WebhooksV2ApiFp = function(configuration?: Configuration) { const operationBasePath = operationServerMap['WebhooksV2Api.createWebhook']?.[index]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, + /** + * Stores a certificate signed against the CSR from `GET /v1/webhooks_settings/mtls_csr` and returns its id, which is then set as `webhookMtlsId` on a webhook or on OAuth credentials. The private key the certificate was issued for is derived from the certificate, so it is never named by the caller. Re-uploading a certificate already stored returns the existing id rather than creating a second configuration, so several webhooks and OAuth credentials can share one certificate. A certificate that was not issued for a private key this workspace holds is rejected with a `400`. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. + * @summary Create an mTLS configuration + * @param {CreateWebhookMtlsConfigRequest} createWebhookMtlsConfigRequest + * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async createWebhookMtlsConfig(createWebhookMtlsConfigRequest: CreateWebhookMtlsConfigRequest, idempotencyKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createWebhookMtlsConfig(createWebhookMtlsConfigRequest, idempotencyKey, options); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['WebhooksV2Api.createWebhookMtlsConfig']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); + }, /** * Creates a reusable OAuth client credential set. Attach it to a webhook by passing the returned id as that webhook\'s `webhookOauthId`. Several webhooks may share one credential set, so rotating its client secret covers all of them at once. The client secret is write-only and is never returned. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. * @summary Create OAuth credentials @@ -975,6 +1183,20 @@ export const WebhooksV2ApiFp = function(configuration?: Configuration) { const operationBasePath = operationServerMap['WebhooksV2Api.deleteWebhook']?.[index]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, + /** + * Deletes an mTLS configuration. By default the delete is refused while the configuration is still in use: if any webhook or OAuth credentials reference it, nothing is deleted and the request fails with `409 Conflict`, naming the reason and listing the ids of what references it. This protects a shared configuration from being removed out from under the webhooks and token requests that depend on it. Pass `forceDelete=true` to delete anyway. That detaches everything referencing it — it clears `webhookMtlsId` on each webhook and OAuth credentials, it does **not** delete them — then deletes the configuration and returns the deleted resource together with `detachedWebhookIds` and `detachedWebhookOauthIds`. Detached webhooks keep delivering notifications, and detached OAuth credentials keep requesting tokens, but without a client certificate, so an endpoint that requires mTLS will reject them from that point on. When nothing references the configuration the delete succeeds either way, and both lists come back empty. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. + * @summary Delete an mTLS configuration + * @param {string} webhookMtlsId The unique identifier of the mTLS configuration + * @param {boolean} [forceDelete] Delete the configuration even while webhooks or OAuth credentials still reference it, detaching them instead of refusing; their ids are returned in `detachedWebhookIds` and `detachedWebhookOauthIds`. Leave it unset, or `false`, to get a `409 Conflict` whenever anything still references the configuration. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async deleteWebhookMtlsConfig(webhookMtlsId: string, forceDelete?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.deleteWebhookMtlsConfig(webhookMtlsId, forceDelete, options); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['WebhooksV2Api.deleteWebhookMtlsConfig']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); + }, /** * Deletes an OAuth credential set. By default the delete is refused while the credentials are still in use: if any webhook references them, nothing is deleted and the request fails with `409 Conflict`, naming the reason and listing the ids of the referencing webhooks. This protects a shared credential set from being removed out from under the webhooks that depend on it, since several webhooks may reference the same one. Pass `forceDelete=true` to delete anyway. That detaches every referencing webhook — it clears each webhook\'s `webhookOauthId`, it does **not** delete the webhook — then deletes the credential set and returns the deleted resource together with `detachedWebhookIds`. The detached webhooks keep delivering notifications, but without an `Authorization` header, so their endpoints will see unauthenticated deliveries from that point on. When nothing references the credentials the delete succeeds either way, and `detachedWebhookIds` comes back empty. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. * @summary Delete OAuth credentials @@ -1110,6 +1332,32 @@ export const WebhooksV2ApiFp = function(configuration?: Configuration) { const operationBasePath = operationServerMap['WebhooksV2Api.getWebhook']?.[index]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, + /** + * Retrieve one stored mTLS configuration by its id. + * @summary Get an mTLS configuration by id + * @param {string} webhookMtlsId The unique identifier of the mTLS configuration + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getWebhookMtlsConfig(webhookMtlsId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getWebhookMtlsConfig(webhookMtlsId, options); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['WebhooksV2Api.getWebhookMtlsConfig']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); + }, + /** + * Lists the workspace\'s mTLS configurations, newest first. Pass `ids` to ask about particular ones instead — useful for resolving the `webhookMtlsId` values on a set of webhooks in one call. + * @summary List the uploaded mTLS configurations + * @param {Array} [ids] Return only the configurations with these ids, instead of all of them. Repeat the parameter for each id. An id belonging to another workspace, or to nothing, is left out of the response rather than failing the request. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getWebhookMtlsConfigs(ids?: Array, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getWebhookMtlsConfigs(ids, options); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['WebhooksV2Api.getWebhookMtlsConfigs']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); + }, /** * Retrieve an OAuth credential set by its id. The client secret is never returned. * @summary Get OAuth credentials by id @@ -1225,7 +1473,21 @@ export const WebhooksV2ApiFp = function(configuration?: Configuration) { return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** - * Updates only the fields present in the request; anything omitted is left as it is. Sending `clientSecret` on its own rotates the secret for every webhook using these credentials. `customJwtClaims`, `customBodyParams` and `customHeaders` are all merged key by key rather than replaced, the same way a webhook\'s own `customHeaders` behaves: a key sent with a value is added or overwritten, a key sent with a `null` value is deleted, and a key you omit is left alone. Setting one of the three to `null` as a whole clears that map, which is the quick way to empty it without naming every key. There is no ambiguity between the two uses of `null` — one names an entry to delete, the other names the field. A claim cannot be set to JSON `null`, though, on this endpoint or on create, because `null` is spent on deletion. `mtlsClientSignedCert` is a scalar rather than a map, so `null` there does remove it. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. + * Renames a configuration, replaces its certificate, or both. Only the fields present in the request are changed; anything omitted is left as it is, and a request with neither field is rejected with a `400`. Replacing `signedCert` switches every webhook and OAuth credentials set using this configuration over to the new certificate in one write, and the private key it was issued for is re-derived from the certificate. A replacement that was not issued for a private key this workspace holds is rejected with a `400`. Sending `name: null` removes the label. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. + * @summary Update an mTLS configuration + * @param {UpdateWebhookMtlsConfigRequest} updateWebhookMtlsConfigRequest + * @param {string} webhookMtlsId The unique identifier of the mTLS configuration + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async updateWebhookMtlsConfig(updateWebhookMtlsConfigRequest: UpdateWebhookMtlsConfigRequest, webhookMtlsId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.updateWebhookMtlsConfig(updateWebhookMtlsConfigRequest, webhookMtlsId, options); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['WebhooksV2Api.updateWebhookMtlsConfig']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); + }, + /** + * Updates only the fields present in the request; anything omitted is left as it is. Sending `clientSecret` on its own rotates the secret for every webhook using these credentials. `customJwtClaims`, `customBodyParams` and `customHeaders` are all merged key by key rather than replaced, the same way a webhook\'s own `customHeaders` behaves: a key sent with a value is added or overwritten, a key sent with a `null` value is deleted, and a key you omit is left alone. Setting one of the three to `null` as a whole clears that map, which is the quick way to empty it without naming every key. There is no ambiguity between the two uses of `null` — one names an entry to delete, the other names the field. A claim cannot be set to JSON `null`, though, on this endpoint or on create, because `null` is spent on deletion. `webhookMtlsId` is a scalar rather than a map, so `null` there does remove it. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. * @summary Update OAuth credentials * @param {UpdateWebhookOauthRequest} updateWebhookOauthRequest * @param {string} webhookOauthId The unique identifier of the OAuth credentials @@ -1258,6 +1520,16 @@ export const WebhooksV2ApiFactory = function (configuration?: Configuration, bas createWebhook(requestParameters: WebhooksV2ApiCreateWebhookRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.createWebhook(requestParameters.createWebhookRequest, requestParameters.idempotencyKey, options).then((request) => request(axios, basePath)); }, + /** + * Stores a certificate signed against the CSR from `GET /v1/webhooks_settings/mtls_csr` and returns its id, which is then set as `webhookMtlsId` on a webhook or on OAuth credentials. The private key the certificate was issued for is derived from the certificate, so it is never named by the caller. Re-uploading a certificate already stored returns the existing id rather than creating a second configuration, so several webhooks and OAuth credentials can share one certificate. A certificate that was not issued for a private key this workspace holds is rejected with a `400`. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. + * @summary Create an mTLS configuration + * @param {WebhooksV2ApiCreateWebhookMtlsConfigRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createWebhookMtlsConfig(requestParameters: WebhooksV2ApiCreateWebhookMtlsConfigRequest, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.createWebhookMtlsConfig(requestParameters.createWebhookMtlsConfigRequest, requestParameters.idempotencyKey, options).then((request) => request(axios, basePath)); + }, /** * Creates a reusable OAuth client credential set. Attach it to a webhook by passing the returned id as that webhook\'s `webhookOauthId`. Several webhooks may share one credential set, so rotating its client secret covers all of them at once. The client secret is write-only and is never returned. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. * @summary Create OAuth credentials @@ -1278,6 +1550,16 @@ export const WebhooksV2ApiFactory = function (configuration?: Configuration, bas deleteWebhook(requestParameters: WebhooksV2ApiDeleteWebhookRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.deleteWebhook(requestParameters.webhookId, options).then((request) => request(axios, basePath)); }, + /** + * Deletes an mTLS configuration. By default the delete is refused while the configuration is still in use: if any webhook or OAuth credentials reference it, nothing is deleted and the request fails with `409 Conflict`, naming the reason and listing the ids of what references it. This protects a shared configuration from being removed out from under the webhooks and token requests that depend on it. Pass `forceDelete=true` to delete anyway. That detaches everything referencing it — it clears `webhookMtlsId` on each webhook and OAuth credentials, it does **not** delete them — then deletes the configuration and returns the deleted resource together with `detachedWebhookIds` and `detachedWebhookOauthIds`. Detached webhooks keep delivering notifications, and detached OAuth credentials keep requesting tokens, but without a client certificate, so an endpoint that requires mTLS will reject them from that point on. When nothing references the configuration the delete succeeds either way, and both lists come back empty. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. + * @summary Delete an mTLS configuration + * @param {WebhooksV2ApiDeleteWebhookMtlsConfigRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + deleteWebhookMtlsConfig(requestParameters: WebhooksV2ApiDeleteWebhookMtlsConfigRequest, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.deleteWebhookMtlsConfig(requestParameters.webhookMtlsId, requestParameters.forceDelete, options).then((request) => request(axios, basePath)); + }, /** * Deletes an OAuth credential set. By default the delete is refused while the credentials are still in use: if any webhook references them, nothing is deleted and the request fails with `409 Conflict`, naming the reason and listing the ids of the referencing webhooks. This protects a shared credential set from being removed out from under the webhooks that depend on it, since several webhooks may reference the same one. Pass `forceDelete=true` to delete anyway. That detaches every referencing webhook — it clears each webhook\'s `webhookOauthId`, it does **not** delete the webhook — then deletes the credential set and returns the deleted resource together with `detachedWebhookIds`. The detached webhooks keep delivering notifications, but without an `Authorization` header, so their endpoints will see unauthenticated deliveries from that point on. When nothing references the credentials the delete succeeds either way, and `detachedWebhookIds` comes back empty. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. * @summary Delete OAuth credentials @@ -1368,6 +1650,26 @@ export const WebhooksV2ApiFactory = function (configuration?: Configuration, bas getWebhook(requestParameters: WebhooksV2ApiGetWebhookRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getWebhook(requestParameters.webhookId, options).then((request) => request(axios, basePath)); }, + /** + * Retrieve one stored mTLS configuration by its id. + * @summary Get an mTLS configuration by id + * @param {WebhooksV2ApiGetWebhookMtlsConfigRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getWebhookMtlsConfig(requestParameters: WebhooksV2ApiGetWebhookMtlsConfigRequest, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.getWebhookMtlsConfig(requestParameters.webhookMtlsId, options).then((request) => request(axios, basePath)); + }, + /** + * Lists the workspace\'s mTLS configurations, newest first. Pass `ids` to ask about particular ones instead — useful for resolving the `webhookMtlsId` values on a set of webhooks in one call. + * @summary List the uploaded mTLS configurations + * @param {WebhooksV2ApiGetWebhookMtlsConfigsRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getWebhookMtlsConfigs(requestParameters: WebhooksV2ApiGetWebhookMtlsConfigsRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.getWebhookMtlsConfigs(requestParameters.ids, options).then((request) => request(axios, basePath)); + }, /** * Retrieve an OAuth credential set by its id. The client secret is never returned. * @summary Get OAuth credentials by id @@ -1448,7 +1750,17 @@ export const WebhooksV2ApiFactory = function (configuration?: Configuration, bas return localVarFp.updateWebhook(requestParameters.updateWebhookRequest, requestParameters.webhookId, options).then((request) => request(axios, basePath)); }, /** - * Updates only the fields present in the request; anything omitted is left as it is. Sending `clientSecret` on its own rotates the secret for every webhook using these credentials. `customJwtClaims`, `customBodyParams` and `customHeaders` are all merged key by key rather than replaced, the same way a webhook\'s own `customHeaders` behaves: a key sent with a value is added or overwritten, a key sent with a `null` value is deleted, and a key you omit is left alone. Setting one of the three to `null` as a whole clears that map, which is the quick way to empty it without naming every key. There is no ambiguity between the two uses of `null` — one names an entry to delete, the other names the field. A claim cannot be set to JSON `null`, though, on this endpoint or on create, because `null` is spent on deletion. `mtlsClientSignedCert` is a scalar rather than a map, so `null` there does remove it. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. + * Renames a configuration, replaces its certificate, or both. Only the fields present in the request are changed; anything omitted is left as it is, and a request with neither field is rejected with a `400`. Replacing `signedCert` switches every webhook and OAuth credentials set using this configuration over to the new certificate in one write, and the private key it was issued for is re-derived from the certificate. A replacement that was not issued for a private key this workspace holds is rejected with a `400`. Sending `name: null` removes the label. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. + * @summary Update an mTLS configuration + * @param {WebhooksV2ApiUpdateWebhookMtlsConfigRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + updateWebhookMtlsConfig(requestParameters: WebhooksV2ApiUpdateWebhookMtlsConfigRequest, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.updateWebhookMtlsConfig(requestParameters.updateWebhookMtlsConfigRequest, requestParameters.webhookMtlsId, options).then((request) => request(axios, basePath)); + }, + /** + * Updates only the fields present in the request; anything omitted is left as it is. Sending `clientSecret` on its own rotates the secret for every webhook using these credentials. `customJwtClaims`, `customBodyParams` and `customHeaders` are all merged key by key rather than replaced, the same way a webhook\'s own `customHeaders` behaves: a key sent with a value is added or overwritten, a key sent with a `null` value is deleted, and a key you omit is left alone. Setting one of the three to `null` as a whole clears that map, which is the quick way to empty it without naming every key. There is no ambiguity between the two uses of `null` — one names an entry to delete, the other names the field. A claim cannot be set to JSON `null`, though, on this endpoint or on create, because `null` is spent on deletion. `webhookMtlsId` is a scalar rather than a map, so `null` there does remove it. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. * @summary Update OAuth credentials * @param {WebhooksV2ApiUpdateWebhookOauthRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. @@ -1481,6 +1793,27 @@ export interface WebhooksV2ApiCreateWebhookRequest { readonly idempotencyKey?: string } +/** + * Request parameters for createWebhookMtlsConfig operation in WebhooksV2Api. + * @export + * @interface WebhooksV2ApiCreateWebhookMtlsConfigRequest + */ +export interface WebhooksV2ApiCreateWebhookMtlsConfigRequest { + /** + * + * @type {CreateWebhookMtlsConfigRequest} + * @memberof WebhooksV2ApiCreateWebhookMtlsConfig + */ + readonly createWebhookMtlsConfigRequest: CreateWebhookMtlsConfigRequest + + /** + * A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. + * @type {string} + * @memberof WebhooksV2ApiCreateWebhookMtlsConfig + */ + readonly idempotencyKey?: string +} + /** * Request parameters for createWebhookOauth operation in WebhooksV2Api. * @export @@ -1516,6 +1849,27 @@ export interface WebhooksV2ApiDeleteWebhookRequest { readonly webhookId: string } +/** + * Request parameters for deleteWebhookMtlsConfig operation in WebhooksV2Api. + * @export + * @interface WebhooksV2ApiDeleteWebhookMtlsConfigRequest + */ +export interface WebhooksV2ApiDeleteWebhookMtlsConfigRequest { + /** + * The unique identifier of the mTLS configuration + * @type {string} + * @memberof WebhooksV2ApiDeleteWebhookMtlsConfig + */ + readonly webhookMtlsId: string + + /** + * Delete the configuration even while webhooks or OAuth credentials still reference it, detaching them instead of refusing; their ids are returned in `detachedWebhookIds` and `detachedWebhookOauthIds`. Leave it unset, or `false`, to get a `409 Conflict` whenever anything still references the configuration. + * @type {boolean} + * @memberof WebhooksV2ApiDeleteWebhookMtlsConfig + */ + readonly forceDelete?: boolean +} + /** * Request parameters for deleteWebhookOauth operation in WebhooksV2Api. * @export @@ -1768,6 +2122,34 @@ export interface WebhooksV2ApiGetWebhookRequest { readonly webhookId: string } +/** + * Request parameters for getWebhookMtlsConfig operation in WebhooksV2Api. + * @export + * @interface WebhooksV2ApiGetWebhookMtlsConfigRequest + */ +export interface WebhooksV2ApiGetWebhookMtlsConfigRequest { + /** + * The unique identifier of the mTLS configuration + * @type {string} + * @memberof WebhooksV2ApiGetWebhookMtlsConfig + */ + readonly webhookMtlsId: string +} + +/** + * Request parameters for getWebhookMtlsConfigs operation in WebhooksV2Api. + * @export + * @interface WebhooksV2ApiGetWebhookMtlsConfigsRequest + */ +export interface WebhooksV2ApiGetWebhookMtlsConfigsRequest { + /** + * Return only the configurations with these ids, instead of all of them. Repeat the parameter for each id. An id belonging to another workspace, or to nothing, is left out of the response rather than failing the request. + * @type {Array} + * @memberof WebhooksV2ApiGetWebhookMtlsConfigs + */ + readonly ids?: Array +} + /** * Request parameters for getWebhookOauth operation in WebhooksV2Api. * @export @@ -1943,6 +2325,27 @@ export interface WebhooksV2ApiUpdateWebhookRequest { readonly webhookId: string } +/** + * Request parameters for updateWebhookMtlsConfig operation in WebhooksV2Api. + * @export + * @interface WebhooksV2ApiUpdateWebhookMtlsConfigRequest + */ +export interface WebhooksV2ApiUpdateWebhookMtlsConfigRequest { + /** + * + * @type {UpdateWebhookMtlsConfigRequest} + * @memberof WebhooksV2ApiUpdateWebhookMtlsConfig + */ + readonly updateWebhookMtlsConfigRequest: UpdateWebhookMtlsConfigRequest + + /** + * The unique identifier of the mTLS configuration + * @type {string} + * @memberof WebhooksV2ApiUpdateWebhookMtlsConfig + */ + readonly webhookMtlsId: string +} + /** * Request parameters for updateWebhookOauth operation in WebhooksV2Api. * @export @@ -1983,6 +2386,18 @@ export class WebhooksV2Api extends BaseAPI { return WebhooksV2ApiFp(this.configuration).createWebhook(requestParameters.createWebhookRequest, requestParameters.idempotencyKey).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); } + /** + * Stores a certificate signed against the CSR from `GET /v1/webhooks_settings/mtls_csr` and returns its id, which is then set as `webhookMtlsId` on a webhook or on OAuth credentials. The private key the certificate was issued for is derived from the certificate, so it is never named by the caller. Re-uploading a certificate already stored returns the existing id rather than creating a second configuration, so several webhooks and OAuth credentials can share one certificate. A certificate that was not issued for a private key this workspace holds is rejected with a `400`. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. + * @summary Create an mTLS configuration + * @param {WebhooksV2ApiCreateWebhookMtlsConfigRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof WebhooksV2Api + */ + public createWebhookMtlsConfig(requestParameters: WebhooksV2ApiCreateWebhookMtlsConfigRequest) { + return WebhooksV2ApiFp(this.configuration).createWebhookMtlsConfig(requestParameters.createWebhookMtlsConfigRequest, requestParameters.idempotencyKey).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + } + /** * Creates a reusable OAuth client credential set. Attach it to a webhook by passing the returned id as that webhook\'s `webhookOauthId`. Several webhooks may share one credential set, so rotating its client secret covers all of them at once. The client secret is write-only and is never returned. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. * @summary Create OAuth credentials @@ -2007,6 +2422,18 @@ export class WebhooksV2Api extends BaseAPI { return WebhooksV2ApiFp(this.configuration).deleteWebhook(requestParameters.webhookId).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); } + /** + * Deletes an mTLS configuration. By default the delete is refused while the configuration is still in use: if any webhook or OAuth credentials reference it, nothing is deleted and the request fails with `409 Conflict`, naming the reason and listing the ids of what references it. This protects a shared configuration from being removed out from under the webhooks and token requests that depend on it. Pass `forceDelete=true` to delete anyway. That detaches everything referencing it — it clears `webhookMtlsId` on each webhook and OAuth credentials, it does **not** delete them — then deletes the configuration and returns the deleted resource together with `detachedWebhookIds` and `detachedWebhookOauthIds`. Detached webhooks keep delivering notifications, and detached OAuth credentials keep requesting tokens, but without a client certificate, so an endpoint that requires mTLS will reject them from that point on. When nothing references the configuration the delete succeeds either way, and both lists come back empty. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. + * @summary Delete an mTLS configuration + * @param {WebhooksV2ApiDeleteWebhookMtlsConfigRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof WebhooksV2Api + */ + public deleteWebhookMtlsConfig(requestParameters: WebhooksV2ApiDeleteWebhookMtlsConfigRequest) { + return WebhooksV2ApiFp(this.configuration).deleteWebhookMtlsConfig(requestParameters.webhookMtlsId, requestParameters.forceDelete).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + } + /** * Deletes an OAuth credential set. By default the delete is refused while the credentials are still in use: if any webhook references them, nothing is deleted and the request fails with `409 Conflict`, naming the reason and listing the ids of the referencing webhooks. This protects a shared credential set from being removed out from under the webhooks that depend on it, since several webhooks may reference the same one. Pass `forceDelete=true` to delete anyway. That detaches every referencing webhook — it clears each webhook\'s `webhookOauthId`, it does **not** delete the webhook — then deletes the credential set and returns the deleted resource together with `detachedWebhookIds`. The detached webhooks keep delivering notifications, but without an `Authorization` header, so their endpoints will see unauthenticated deliveries from that point on. When nothing references the credentials the delete succeeds either way, and `detachedWebhookIds` comes back empty. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. * @summary Delete OAuth credentials @@ -2115,6 +2542,30 @@ export class WebhooksV2Api extends BaseAPI { return WebhooksV2ApiFp(this.configuration).getWebhook(requestParameters.webhookId).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); } + /** + * Retrieve one stored mTLS configuration by its id. + * @summary Get an mTLS configuration by id + * @param {WebhooksV2ApiGetWebhookMtlsConfigRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof WebhooksV2Api + */ + public getWebhookMtlsConfig(requestParameters: WebhooksV2ApiGetWebhookMtlsConfigRequest) { + return WebhooksV2ApiFp(this.configuration).getWebhookMtlsConfig(requestParameters.webhookMtlsId).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + } + + /** + * Lists the workspace\'s mTLS configurations, newest first. Pass `ids` to ask about particular ones instead — useful for resolving the `webhookMtlsId` values on a set of webhooks in one call. + * @summary List the uploaded mTLS configurations + * @param {WebhooksV2ApiGetWebhookMtlsConfigsRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof WebhooksV2Api + */ + public getWebhookMtlsConfigs(requestParameters: WebhooksV2ApiGetWebhookMtlsConfigsRequest = {}) { + return WebhooksV2ApiFp(this.configuration).getWebhookMtlsConfigs(requestParameters.ids).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + } + /** * Retrieve an OAuth credential set by its id. The client secret is never returned. * @summary Get OAuth credentials by id @@ -2211,7 +2662,19 @@ export class WebhooksV2Api extends BaseAPI { } /** - * Updates only the fields present in the request; anything omitted is left as it is. Sending `clientSecret` on its own rotates the secret for every webhook using these credentials. `customJwtClaims`, `customBodyParams` and `customHeaders` are all merged key by key rather than replaced, the same way a webhook\'s own `customHeaders` behaves: a key sent with a value is added or overwritten, a key sent with a `null` value is deleted, and a key you omit is left alone. Setting one of the three to `null` as a whole clears that map, which is the quick way to empty it without naming every key. There is no ambiguity between the two uses of `null` — one names an entry to delete, the other names the field. A claim cannot be set to JSON `null`, though, on this endpoint or on create, because `null` is spent on deletion. `mtlsClientSignedCert` is a scalar rather than a map, so `null` there does remove it. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. + * Renames a configuration, replaces its certificate, or both. Only the fields present in the request are changed; anything omitted is left as it is, and a request with neither field is rejected with a `400`. Replacing `signedCert` switches every webhook and OAuth credentials set using this configuration over to the new certificate in one write, and the private key it was issued for is re-derived from the certificate. A replacement that was not issued for a private key this workspace holds is rejected with a `400`. Sending `name: null` removes the label. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. + * @summary Update an mTLS configuration + * @param {WebhooksV2ApiUpdateWebhookMtlsConfigRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof WebhooksV2Api + */ + public updateWebhookMtlsConfig(requestParameters: WebhooksV2ApiUpdateWebhookMtlsConfigRequest) { + return WebhooksV2ApiFp(this.configuration).updateWebhookMtlsConfig(requestParameters.updateWebhookMtlsConfigRequest, requestParameters.webhookMtlsId).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + } + + /** + * Updates only the fields present in the request; anything omitted is left as it is. Sending `clientSecret` on its own rotates the secret for every webhook using these credentials. `customJwtClaims`, `customBodyParams` and `customHeaders` are all merged key by key rather than replaced, the same way a webhook\'s own `customHeaders` behaves: a key sent with a value is added or overwritten, a key sent with a `null` value is deleted, and a key you omit is left alone. Setting one of the three to `null` as a whole clears that map, which is the quick way to empty it without naming every key. There is no ambiguity between the two uses of `null` — one names an entry to delete, the other names the field. A claim cannot be set to JSON `null`, though, on this endpoint or on create, because `null` is spent on deletion. `webhookMtlsId` is a scalar rather than a map, so `null` there does remove it. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. * @summary Update OAuth credentials * @param {WebhooksV2ApiUpdateWebhookOauthRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. diff --git a/client/client.ts b/client/client.ts index 4067c8f5..7525527e 100644 --- a/client/client.ts +++ b/client/client.ts @@ -20,7 +20,7 @@ import { ApiUserApi, ComplianceApi, ComplianceOrchestratorBetaApi, ComplianceScreeningConfigurationApi, - ConnectedAccountsBetaApi, + ConnectedAccountsApi, ConsoleUserApi, ContactsApi, ContractInteractionsApi, @@ -83,7 +83,7 @@ export class Fireblocks { private _compliance?: ComplianceApi; private _complianceOrchestratorBeta?: ComplianceOrchestratorBetaApi; private _complianceScreeningConfiguration?: ComplianceScreeningConfigurationApi; - private _connectedAccountsBeta?: ConnectedAccountsBetaApi; + private _connectedAccounts?: ConnectedAccountsApi; private _consoleUser?: ConsoleUserApi; private _contacts?: ContactsApi; private _contractInteractions?: ContractInteractionsApi; @@ -176,8 +176,8 @@ export class Fireblocks { get complianceScreeningConfiguration(): ComplianceScreeningConfigurationApi { return this._complianceScreeningConfiguration ?? new ComplianceScreeningConfigurationApi(this.config, undefined, this.axiosManager.axios); } - get connectedAccountsBeta(): ConnectedAccountsBetaApi { - return this._connectedAccountsBeta ?? new ConnectedAccountsBetaApi(this.config, undefined, this.axiosManager.axios); + get connectedAccounts(): ConnectedAccountsApi { + return this._connectedAccounts ?? new ConnectedAccountsApi(this.config, undefined, this.axiosManager.axios); } get consoleUser(): ConsoleUserApi { return this._consoleUser ?? new ConsoleUserApi(this.config, undefined, this.axiosManager.axios); diff --git a/docs/apis/ComplianceApi.md b/docs/apis/ComplianceApi.md index 8358374d..e792941c 100644 --- a/docs/apis/ComplianceApi.md +++ b/docs/apis/ComplianceApi.md @@ -8,6 +8,7 @@ Method | HTTP request | Description [**activateByorkConfig**](#activateByorkConfig) | **POST** /screening/byork/config/activate | Activate BYORK Light [**addAddressRegistryVaultOptOuts**](#addAddressRegistryVaultOptOuts) | **POST** /address_registry/vaults | Add vault accounts to the address registry opt-out list [**assignVaultsToLegalEntity**](#assignVaultsToLegalEntity) | **POST** /legal_entities/{legalEntityId}/vaults | Assign vault accounts to a legal entity +[**createAddressRegistryProofOfOwnership**](#createAddressRegistryProofOfOwnership) | **POST** /address_registry/proof_of_ownership_exports | Create a Proof of Ownership PDF for an address [**createCounterpartyGroup**](#createCounterpartyGroup) | **POST** /counterparty_groups | Create a counterparty group [**deactivateArsConfig**](#deactivateArsConfig) | **POST** /screening/ars/config/deactivate | Deactivate ARS (Address Registry Screening) [**deactivateByorkConfig**](#deactivateByorkConfig) | **POST** /screening/byork/config/deactivate | Deactivate BYORK Light @@ -44,6 +45,7 @@ Method | HTTP request | Description [**updateLegalEntity**](#updateLegalEntity) | **PUT** /legal_entities/{legalEntityId} | Update legal entity [**updateScreeningConfiguration**](#updateScreeningConfiguration) | **PUT** /screening/configurations | Tenant - Screening Configuration [**updateTravelRuleConfig**](#updateTravelRuleConfig) | **PUT** /screening/travel_rule/policy_configuration | Update Travel Rule Configuration +[**verifyAddressRegistryProofOfOwnership**](#verifyAddressRegistryProofOfOwnership) | **POST** /address_registry/proof_of_ownership_exports/verify | Verify a Proof of Ownership export # **activateArsConfig** @@ -299,6 +301,75 @@ No authorization required [[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) +# **createAddressRegistryProofOfOwnership** +> AddressRegistryCreateProofOfOwnershipResponse createAddressRegistryProofOfOwnership(addressRegistryCreateProofOfOwnershipRequest) + +Creates a Proof of Ownership PDF for a blockchain address owned by the authenticated workspace — for example, to share with a counterparty or bank as compliance evidence. Recipients can confirm it with `POST /v1/address_registry/proof_of_ownership_exports/verify`. Check `proofOfOwnershipAvailable` on `GET /v1/address_registry/legal_entities/{address}` first if you want to know whether create is likely to succeed. + +### Example + + +```typescript +import { readFileSync } from 'fs'; +import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, ComplianceApiCreateAddressRegistryProofOfOwnershipRequest, AddressRegistryCreateProofOfOwnershipResponse } from '@fireblocks/ts-sdk'; + +// Set the environment variables for authentication +process.env.FIREBLOCKS_BASE_PATH = BasePath.Sandbox; // or assign directly to "https://sandbox-api.fireblocks.io/v1" +process.env.FIREBLOCKS_API_KEY = "my-api-key"; +process.env.FIREBLOCKS_SECRET_KEY = readFileSync("./fireblocks_secret.key", "utf8"); + +const fireblocks = new Fireblocks(); + +let body: ComplianceApiCreateAddressRegistryProofOfOwnershipRequest = { + // AddressRegistryCreateProofOfOwnershipRequest + addressRegistryCreateProofOfOwnershipRequest: param_value, + // string | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. (optional) + idempotencyKey: idempotencyKey_example, +}; + +fireblocks.compliance.createAddressRegistryProofOfOwnership(body).then((res: FireblocksResponse) => { + console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); +}).catch((error:any) => console.error(error)); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **addressRegistryCreateProofOfOwnershipRequest** | **[AddressRegistryCreateProofOfOwnershipRequest](../models/AddressRegistryCreateProofOfOwnershipRequest.md)**| | + **idempotencyKey** | [**string**] | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. | (optional) defaults to undefined + + +### Return type + +**[AddressRegistryCreateProofOfOwnershipResponse](../models/AddressRegistryCreateProofOfOwnershipResponse.md)** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | PDF export created | * X-Request-ID -
| +**400** | - Missing, empty, or whitespace-only `address`. Error code 4100. - Workspace not opted in to the address registry. Error code 2140. | * X-Request-ID -
| +**403** | This workspace is blocked from creating Proof of Ownership exports. Error code 2146. | * X-Request-ID -
| +**404** | Address not found, not owned by this workspace, or not usable for export. Error code 2142. | * X-Request-ID -
| +**429** | Rate limited. Error code 2145. Retry-safe after backing off. | * X-Request-ID -
| +**500** | Internal error. No PDF is returned. Not retry-safe. Error code 2143. | * X-Request-ID -
| +**503** | Rate-limit infrastructure temporarily unavailable. Safe to retry with backoff. Error code 2143 — same as the 500 case; use the HTTP status to tell them apart. | * X-Request-ID -
| +**0** | Error Response | * X-Request-ID -
| + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) + # **createCounterpartyGroup** > CounterpartyGroup createCounterpartyGroup(createCounterpartyGroupRequest) @@ -1124,8 +1195,10 @@ No authorization required | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | Legal entity found | * X-Request-ID -
| -**400** | Bad request — either request validation (path `{address}` empty or whitespace-only after trim, e.g. encoded spaces only; numeric code 4100), or the authenticated workspace is not opted in to the address registry (numeric code 2140). The `message` field describes the failure; use `code` to distinguish. | * X-Request-ID -
| -**404** | Not found (error code 2142) — unresolved address, no legal entity for a resolved address, or the same not-found outcome in other cases. | * X-Request-ID -
| +**400** | - `{address}` empty or whitespace-only after trim. Error code 4100. - Workspace not opted in to the address registry. Error code 2140. | * X-Request-ID -
| +**403** | This workspace is blocked from Address Registry public lookup. Error code 2146. | * X-Request-ID -
| +**404** | Address not found, owner not opted in, or legal entity not usable for lookup. Error code 2142. | * X-Request-ID -
| +**429** | Rate limited. Error code 2145. Retry-safe after backing off. | * X-Request-ID -
| **0** | Error Response | * X-Request-ID -
| [[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) @@ -2496,4 +2569,68 @@ No authorization required [[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) +# **verifyAddressRegistryProofOfOwnership** +> AddressRegistryVerifyProofOfOwnershipResponse verifyAddressRegistryProofOfOwnership(addressRegistryVerifyProofOfOwnershipRequest) + +Verifies a Proof of Ownership export against the record Fireblocks stored at creation. Returns `valid: false` (not 404) for an unknown, expired, or mismatched export. Available to any authenticated Fireblocks workspace, not just the export\'s original owner. + +### Example + + +```typescript +import { readFileSync } from 'fs'; +import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, ComplianceApiVerifyAddressRegistryProofOfOwnershipRequest, AddressRegistryVerifyProofOfOwnershipResponse } from '@fireblocks/ts-sdk'; + +// Set the environment variables for authentication +process.env.FIREBLOCKS_BASE_PATH = BasePath.Sandbox; // or assign directly to "https://sandbox-api.fireblocks.io/v1" +process.env.FIREBLOCKS_API_KEY = "my-api-key"; +process.env.FIREBLOCKS_SECRET_KEY = readFileSync("./fireblocks_secret.key", "utf8"); + +const fireblocks = new Fireblocks(); + +let body: ComplianceApiVerifyAddressRegistryProofOfOwnershipRequest = { + // AddressRegistryVerifyProofOfOwnershipRequest + addressRegistryVerifyProofOfOwnershipRequest: param_value, + // string | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. (optional) + idempotencyKey: idempotencyKey_example, +}; + +fireblocks.compliance.verifyAddressRegistryProofOfOwnership(body).then((res: FireblocksResponse) => { + console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); +}).catch((error:any) => console.error(error)); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **addressRegistryVerifyProofOfOwnershipRequest** | **[AddressRegistryVerifyProofOfOwnershipRequest](../models/AddressRegistryVerifyProofOfOwnershipRequest.md)**| | + **idempotencyKey** | [**string**] | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. | (optional) defaults to undefined + + +### Return type + +**[AddressRegistryVerifyProofOfOwnershipResponse](../models/AddressRegistryVerifyProofOfOwnershipResponse.md)** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Verification result | * X-Request-ID -
| +**400** | Missing, empty, or whitespace-only `exportId`, `verificationHash`, or `address`, or `expiresAt` not empty and not a valid `YYYY-MM-DD` date. Error code 4100. | * X-Request-ID -
| +**0** | Error Response | * X-Request-ID -
| + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) + diff --git a/docs/apis/ConnectedAccountsBetaApi.md b/docs/apis/ConnectedAccountsApi.md similarity index 85% rename from docs/apis/ConnectedAccountsBetaApi.md rename to docs/apis/ConnectedAccountsApi.md index c4bee22e..eaac87d7 100644 --- a/docs/apis/ConnectedAccountsBetaApi.md +++ b/docs/apis/ConnectedAccountsApi.md @@ -1,4 +1,4 @@ -# ConnectedAccountsBetaApi +# ConnectedAccountsApi All URIs are relative to https://developers.fireblocks.com/reference/ @@ -22,7 +22,7 @@ Method | HTTP request | Description # **addConnectedAccount** > AddConnectedAccountResponse addConnectedAccount(addConnectedAccountRequest) -Creates a new connected account for the authenticated tenant. The `creds` field must be a Base64-encoded RSA-encrypted credential blob. Use `GET /connected_accounts/credentials/public_key` to retrieve the public key for encryption. The `providerType` is derived server-side from the `providerId` — callers do not supply it. Endpoint Permission: Editor, Admin, Non-Signing Admin. **Note:** This endpoint is currently in beta and might be subject to changes. +Creates a new connected account for the authenticated tenant. The `creds` field must be a Base64-encoded RSA-encrypted credential blob. Use `GET /connected_accounts/credentials/public_key` to retrieve the public key for encryption. The `providerType` is derived server-side from the `providerId` — callers do not supply it. Endpoint Permission: Editor, Admin, Non-Signing Admin. ### Example @@ -30,7 +30,7 @@ Creates a new connected account for the authenticated tenant. The `creds` field ```typescript import { readFileSync } from 'fs'; import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; -import type { FireblocksResponse, ConnectedAccountsBetaApiAddConnectedAccountRequest, AddConnectedAccountResponse } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, ConnectedAccountsApiAddConnectedAccountRequest, AddConnectedAccountResponse } from '@fireblocks/ts-sdk'; // Set the environment variables for authentication process.env.FIREBLOCKS_BASE_PATH = BasePath.Sandbox; // or assign directly to "https://sandbox-api.fireblocks.io/v1" @@ -39,14 +39,14 @@ process.env.FIREBLOCKS_SECRET_KEY = readFileSync("./fireblocks_secret.key", "utf const fireblocks = new Fireblocks(); -let body: ConnectedAccountsBetaApiAddConnectedAccountRequest = { +let body: ConnectedAccountsApiAddConnectedAccountRequest = { // AddConnectedAccountRequest addConnectedAccountRequest: param_value, // string | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. (optional) idempotencyKey: idempotencyKey_example, }; -fireblocks.connectedAccountsBeta.addConnectedAccount(body).then((res: FireblocksResponse) => { +fireblocks.connectedAccounts.addConnectedAccount(body).then((res: FireblocksResponse) => { console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); }).catch((error:any) => console.error(error)); ``` @@ -90,7 +90,7 @@ No authorization required # **disconnectConnectedAccount** > disconnectConnectedAccount() -Disconnect a connected account by ID. **Note**: - This endpoint is currently in beta and might be subject to changes. +Disconnect a connected account by ID. ### Example @@ -98,7 +98,7 @@ Disconnect a connected account by ID. **Note**: - This endpoint is currently in ```typescript import { readFileSync } from 'fs'; import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; -import type { FireblocksResponse, ConnectedAccountsBetaApiDisconnectConnectedAccountRequest } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, ConnectedAccountsApiDisconnectConnectedAccountRequest } from '@fireblocks/ts-sdk'; // Set the environment variables for authentication process.env.FIREBLOCKS_BASE_PATH = BasePath.Sandbox; // or assign directly to "https://sandbox-api.fireblocks.io/v1" @@ -107,12 +107,12 @@ process.env.FIREBLOCKS_SECRET_KEY = readFileSync("./fireblocks_secret.key", "utf const fireblocks = new Fireblocks(); -let body: ConnectedAccountsBetaApiDisconnectConnectedAccountRequest = { +let body: ConnectedAccountsApiDisconnectConnectedAccountRequest = { // string | The ID of the account to disconnect. accountId: accountId_example, }; -fireblocks.connectedAccountsBeta.disconnectConnectedAccount(body).then((res: FireblocksResponse) => { +fireblocks.connectedAccounts.disconnectConnectedAccount(body).then((res: FireblocksResponse) => { console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); }).catch((error:any) => console.error(error)); ``` @@ -150,7 +150,7 @@ No authorization required # **getConnectedAccount** > ConnectedSingleAccountResponse getConnectedAccount() -Retrieve detailed information about a specific connected account by ID. **Note:** This endpoint is currently in beta and might be subject to changes. +Retrieve detailed information about a specific connected account by ID. ### Example @@ -158,7 +158,7 @@ Retrieve detailed information about a specific connected account by ID. **Note: ```typescript import { readFileSync } from 'fs'; import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; -import type { FireblocksResponse, ConnectedAccountsBetaApiGetConnectedAccountRequest, ConnectedSingleAccountResponse } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, ConnectedAccountsApiGetConnectedAccountRequest, ConnectedSingleAccountResponse } from '@fireblocks/ts-sdk'; // Set the environment variables for authentication process.env.FIREBLOCKS_BASE_PATH = BasePath.Sandbox; // or assign directly to "https://sandbox-api.fireblocks.io/v1" @@ -167,12 +167,12 @@ process.env.FIREBLOCKS_SECRET_KEY = readFileSync("./fireblocks_secret.key", "utf const fireblocks = new Fireblocks(); -let body: ConnectedAccountsBetaApiGetConnectedAccountRequest = { +let body: ConnectedAccountsApiGetConnectedAccountRequest = { // string | The ID of the account to fetch. accountId: accountId_example, }; -fireblocks.connectedAccountsBeta.getConnectedAccount(body).then((res: FireblocksResponse) => { +fireblocks.connectedAccounts.getConnectedAccount(body).then((res: FireblocksResponse) => { console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); }).catch((error:any) => console.error(error)); ``` @@ -210,7 +210,7 @@ No authorization required # **getConnectedAccountAllowlist** > AllowlistResponse getConnectedAccountAllowlist() -Retrieves the address allowlist for a specified connected account. **Note:** This endpoint is currently in beta and might be subject to changes. Currently supports CoinbaseExchange/Binance accounts only. +Retrieves the address allowlist for a specified connected account. **Note:** Currently supports CoinbaseExchange/Binance accounts only. ### Example @@ -218,7 +218,7 @@ Retrieves the address allowlist for a specified connected account. **Note:** Th ```typescript import { readFileSync } from 'fs'; import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; -import type { FireblocksResponse, ConnectedAccountsBetaApiGetConnectedAccountAllowlistRequest, AllowlistResponse } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, ConnectedAccountsApiGetConnectedAccountAllowlistRequest, AllowlistResponse } from '@fireblocks/ts-sdk'; // Set the environment variables for authentication process.env.FIREBLOCKS_BASE_PATH = BasePath.Sandbox; // or assign directly to "https://sandbox-api.fireblocks.io/v1" @@ -227,7 +227,7 @@ process.env.FIREBLOCKS_SECRET_KEY = readFileSync("./fireblocks_secret.key", "utf const fireblocks = new Fireblocks(); -let body: ConnectedAccountsBetaApiGetConnectedAccountAllowlistRequest = { +let body: ConnectedAccountsApiGetConnectedAccountAllowlistRequest = { // string | The connected account identifier accountId: accountId_example, // AllowlistEntryStatus | Filter by allowlist entry status (optional) @@ -246,7 +246,7 @@ let body: ConnectedAccountsBetaApiGetConnectedAccountAllowlistRequest = { order: ASC, }; -fireblocks.connectedAccountsBeta.getConnectedAccountAllowlist(body).then((res: FireblocksResponse) => { +fireblocks.connectedAccounts.getConnectedAccountAllowlist(body).then((res: FireblocksResponse) => { console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); }).catch((error:any) => console.error(error)); ``` @@ -292,7 +292,7 @@ No authorization required # **getConnectedAccountAllowlistEntry** > AllowlistEntryResponse getConnectedAccountAllowlistEntry() -Retrieves a single allowlist entry by its Fireblocks identifier for a specified connected account. **Note:** This endpoint is currently in beta and might be subject to changes. Currently supports CoinbaseExchange/Binance accounts only. +Retrieves a single allowlist entry by its Fireblocks identifier for a specified connected account. **Note:** Currently supports CoinbaseExchange/Binance accounts only. ### Example @@ -300,7 +300,7 @@ Retrieves a single allowlist entry by its Fireblocks identifier for a specified ```typescript import { readFileSync } from 'fs'; import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; -import type { FireblocksResponse, ConnectedAccountsBetaApiGetConnectedAccountAllowlistEntryRequest, AllowlistEntryResponse } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, ConnectedAccountsApiGetConnectedAccountAllowlistEntryRequest, AllowlistEntryResponse } from '@fireblocks/ts-sdk'; // Set the environment variables for authentication process.env.FIREBLOCKS_BASE_PATH = BasePath.Sandbox; // or assign directly to "https://sandbox-api.fireblocks.io/v1" @@ -309,14 +309,14 @@ process.env.FIREBLOCKS_SECRET_KEY = readFileSync("./fireblocks_secret.key", "utf const fireblocks = new Fireblocks(); -let body: ConnectedAccountsBetaApiGetConnectedAccountAllowlistEntryRequest = { +let body: ConnectedAccountsApiGetConnectedAccountAllowlistEntryRequest = { // string | The connected account identifier accountId: accountId_example, // string | The Fireblocks allowlist entry identifier allowlistId: allowlistId_example, }; -fireblocks.connectedAccountsBeta.getConnectedAccountAllowlistEntry(body).then((res: FireblocksResponse) => { +fireblocks.connectedAccounts.getConnectedAccountAllowlistEntry(body).then((res: FireblocksResponse) => { console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); }).catch((error:any) => console.error(error)); ``` @@ -356,7 +356,7 @@ No authorization required # **getConnectedAccountBalances** > ConnectedAccountBalancesResponse getConnectedAccountBalances() -Retrieve current asset balances for a specific connected account as a flat list (one row per `assetId`, `balanceType`). **Note:** This endpoint is currently in beta and might be subject to changes. +Retrieve current asset balances for a specific connected account as a flat list (one row per `assetId`, `balanceType`). ### Example @@ -364,7 +364,7 @@ Retrieve current asset balances for a specific connected account as a flat list ```typescript import { readFileSync } from 'fs'; import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; -import type { FireblocksResponse, ConnectedAccountsBetaApiGetConnectedAccountBalancesRequest, ConnectedAccountBalancesResponse } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, ConnectedAccountsApiGetConnectedAccountBalancesRequest, ConnectedAccountBalancesResponse } from '@fireblocks/ts-sdk'; // Set the environment variables for authentication process.env.FIREBLOCKS_BASE_PATH = BasePath.Sandbox; // or assign directly to "https://sandbox-api.fireblocks.io/v1" @@ -373,7 +373,7 @@ process.env.FIREBLOCKS_SECRET_KEY = readFileSync("./fireblocks_secret.key", "utf const fireblocks = new Fireblocks(); -let body: ConnectedAccountsBetaApiGetConnectedAccountBalancesRequest = { +let body: ConnectedAccountsApiGetConnectedAccountBalancesRequest = { // string | The ID of the account to fetch balances for. accountId: accountId_example, // number | Page size for pagination. (optional) @@ -382,7 +382,7 @@ let body: ConnectedAccountsBetaApiGetConnectedAccountBalancesRequest = { pageCursor: pageCursor_example, }; -fireblocks.connectedAccountsBeta.getConnectedAccountBalances(body).then((res: FireblocksResponse) => { +fireblocks.connectedAccounts.getConnectedAccountBalances(body).then((res: FireblocksResponse) => { console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); }).catch((error:any) => console.error(error)); ``` @@ -422,7 +422,7 @@ No authorization required # **getConnectedAccountRates** > ConnectedAccountRateResponse getConnectedAccountRates() -Retrieve current exchange rates for converting between specific assets in a connected account. **Note:** This endpoint is currently in beta and might be subject to changes. +Retrieve current exchange rates for converting between specific assets in a connected account. ### Example @@ -430,7 +430,7 @@ Retrieve current exchange rates for converting between specific assets in a conn ```typescript import { readFileSync } from 'fs'; import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; -import type { FireblocksResponse, ConnectedAccountsBetaApiGetConnectedAccountRatesRequest, ConnectedAccountRateResponse } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, ConnectedAccountsApiGetConnectedAccountRatesRequest, ConnectedAccountRateResponse } from '@fireblocks/ts-sdk'; // Set the environment variables for authentication process.env.FIREBLOCKS_BASE_PATH = BasePath.Sandbox; // or assign directly to "https://sandbox-api.fireblocks.io/v1" @@ -439,7 +439,7 @@ process.env.FIREBLOCKS_SECRET_KEY = readFileSync("./fireblocks_secret.key", "utf const fireblocks = new Fireblocks(); -let body: ConnectedAccountsBetaApiGetConnectedAccountRatesRequest = { +let body: ConnectedAccountsApiGetConnectedAccountRatesRequest = { // string | The ID of the account to fetch rates for. accountId: accountId_example, // string | The ID of the asset to fetch rates for. @@ -448,7 +448,7 @@ let body: ConnectedAccountsBetaApiGetConnectedAccountRatesRequest = { quoteAssetId: quoteAssetId_example, }; -fireblocks.connectedAccountsBeta.getConnectedAccountRates(body).then((res: FireblocksResponse) => { +fireblocks.connectedAccounts.getConnectedAccountRates(body).then((res: FireblocksResponse) => { console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); }).catch((error:any) => console.error(error)); ``` @@ -488,7 +488,7 @@ No authorization required # **getConnectedAccountTradingPairs** > ConnectedAccountTradingPairsResponse getConnectedAccountTradingPairs() -Retrieve all asset trading pairs supported by a specific connected account, including the pair type (`quote`, `market`, `onOffRamp`). **Note:** This endpoint is currently in beta and might be subject to changes. +Retrieve all asset trading pairs supported by a specific connected account, including the pair type (`quote`, `market`, `onOffRamp`). ### Example @@ -496,7 +496,7 @@ Retrieve all asset trading pairs supported by a specific connected account, incl ```typescript import { readFileSync } from 'fs'; import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; -import type { FireblocksResponse, ConnectedAccountsBetaApiGetConnectedAccountTradingPairsRequest, ConnectedAccountTradingPairsResponse } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, ConnectedAccountsApiGetConnectedAccountTradingPairsRequest, ConnectedAccountTradingPairsResponse } from '@fireblocks/ts-sdk'; // Set the environment variables for authentication process.env.FIREBLOCKS_BASE_PATH = BasePath.Sandbox; // or assign directly to "https://sandbox-api.fireblocks.io/v1" @@ -505,7 +505,7 @@ process.env.FIREBLOCKS_SECRET_KEY = readFileSync("./fireblocks_secret.key", "utf const fireblocks = new Fireblocks(); -let body: ConnectedAccountsBetaApiGetConnectedAccountTradingPairsRequest = { +let body: ConnectedAccountsApiGetConnectedAccountTradingPairsRequest = { // string | The ID of the account to fetch supported pairs for. accountId: accountId_example, // number | Page size for pagination. (optional) @@ -514,7 +514,7 @@ let body: ConnectedAccountsBetaApiGetConnectedAccountTradingPairsRequest = { pageCursor: pageCursor_example, }; -fireblocks.connectedAccountsBeta.getConnectedAccountTradingPairs(body).then((res: FireblocksResponse) => { +fireblocks.connectedAccounts.getConnectedAccountTradingPairs(body).then((res: FireblocksResponse) => { console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); }).catch((error:any) => console.error(error)); ``` @@ -554,7 +554,7 @@ No authorization required # **getConnectedAccounts** > ConnectedAccountsResponse getConnectedAccounts() -Returns all connected accounts. **Note:** This endpoint is currently in beta and might be subject to changes. +Returns all connected accounts. ### Example @@ -562,7 +562,7 @@ Returns all connected accounts. **Note:** This endpoint is currently in beta an ```typescript import { readFileSync } from 'fs'; import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; -import type { FireblocksResponse, ConnectedAccountsBetaApiGetConnectedAccountsRequest, ConnectedAccountsResponse } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, ConnectedAccountsApiGetConnectedAccountsRequest, ConnectedAccountsResponse } from '@fireblocks/ts-sdk'; // Set the environment variables for authentication process.env.FIREBLOCKS_BASE_PATH = BasePath.Sandbox; // or assign directly to "https://sandbox-api.fireblocks.io/v1" @@ -571,7 +571,7 @@ process.env.FIREBLOCKS_SECRET_KEY = readFileSync("./fireblocks_secret.key", "utf const fireblocks = new Fireblocks(); -let body: ConnectedAccountsBetaApiGetConnectedAccountsRequest = { +let body: ConnectedAccountsApiGetConnectedAccountsRequest = { // boolean | Whether to include only main accounts in the response. (optional) mainAccounts: true, // number | Page size for pagination. (optional) @@ -580,7 +580,7 @@ let body: ConnectedAccountsBetaApiGetConnectedAccountsRequest = { pageCursor: pageCursor_example, }; -fireblocks.connectedAccountsBeta.getConnectedAccounts(body).then((res: FireblocksResponse) => { +fireblocks.connectedAccounts.getConnectedAccounts(body).then((res: FireblocksResponse) => { console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); }).catch((error:any) => console.error(error)); ``` @@ -620,7 +620,7 @@ No authorization required # **getConnectedAccountsCredentialsPublicKey** > GetConnectedAccountsCredentialsPublicKeyResponse getConnectedAccountsCredentialsPublicKey() -Returns the RSA public key used to encrypt the `creds` field before calling `POST /connected_accounts`. The key is a singleton resource scoped to the connected-accounts credentials domain — there is one per tenant context. **Note:** This endpoint is currently in beta and might be subject to changes. +Returns the RSA public key used to encrypt the `creds` field before calling `POST /connected_accounts`. The key is a singleton resource scoped to the connected-accounts credentials domain — there is one per tenant context. ### Example @@ -639,7 +639,7 @@ const fireblocks = new Fireblocks(); let body:any = {}; -fireblocks.connectedAccountsBeta.getConnectedAccountsCredentialsPublicKey(body).then((res: FireblocksResponse) => { +fireblocks.connectedAccounts.getConnectedAccountsCredentialsPublicKey(body).then((res: FireblocksResponse) => { console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); }).catch((error:any) => console.error(error)); ``` @@ -674,7 +674,7 @@ No authorization required # **renameConnectedAccount** > RenameConnectedAccountResponse renameConnectedAccount(renameConnectedAccountRequest, ) -Rename a connected account by account ID. **Note:** This endpoint is currently in beta and might be subject to changes. +Rename a connected account by account ID. ### Example @@ -682,7 +682,7 @@ Rename a connected account by account ID. **Note:** This endpoint is currently ```typescript import { readFileSync } from 'fs'; import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; -import type { FireblocksResponse, ConnectedAccountsBetaApiRenameConnectedAccountRequest, RenameConnectedAccountResponse } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, ConnectedAccountsApiRenameConnectedAccountRequest, RenameConnectedAccountResponse } from '@fireblocks/ts-sdk'; // Set the environment variables for authentication process.env.FIREBLOCKS_BASE_PATH = BasePath.Sandbox; // or assign directly to "https://sandbox-api.fireblocks.io/v1" @@ -691,7 +691,7 @@ process.env.FIREBLOCKS_SECRET_KEY = readFileSync("./fireblocks_secret.key", "utf const fireblocks = new Fireblocks(); -let body: ConnectedAccountsBetaApiRenameConnectedAccountRequest = { +let body: ConnectedAccountsApiRenameConnectedAccountRequest = { // RenameConnectedAccountRequest renameConnectedAccountRequest: param_value, // string | The unique identifier of the connected account @@ -700,7 +700,7 @@ let body: ConnectedAccountsBetaApiRenameConnectedAccountRequest = { idempotencyKey: idempotencyKey_example, }; -fireblocks.connectedAccountsBeta.renameConnectedAccount(body).then((res: FireblocksResponse) => { +fireblocks.connectedAccounts.renameConnectedAccount(body).then((res: FireblocksResponse) => { console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); }).catch((error:any) => console.error(error)); ``` @@ -745,7 +745,7 @@ No authorization required # **syncConnectedAccountAllowlist** > syncConnectedAccountAllowlist() -Triggers an on-demand sync from the exchange, bypassing the cache and fetching live data immediately. **Rate limit:** 1 request per minute per connected account. **Note:** This endpoint is currently in beta and might be subject to changes. Currently supports CoinbaseExchange/Binance accounts only. +Triggers an on-demand sync from the exchange, bypassing the cache and fetching live data immediately. **Rate limit:** 1 request per minute per connected account. **Note:** Currently supports CoinbaseExchange/Binance accounts only. ### Example @@ -753,7 +753,7 @@ Triggers an on-demand sync from the exchange, bypassing the cache and fetching l ```typescript import { readFileSync } from 'fs'; import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; -import type { FireblocksResponse, ConnectedAccountsBetaApiSyncConnectedAccountAllowlistRequest } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, ConnectedAccountsApiSyncConnectedAccountAllowlistRequest } from '@fireblocks/ts-sdk'; // Set the environment variables for authentication process.env.FIREBLOCKS_BASE_PATH = BasePath.Sandbox; // or assign directly to "https://sandbox-api.fireblocks.io/v1" @@ -762,14 +762,14 @@ process.env.FIREBLOCKS_SECRET_KEY = readFileSync("./fireblocks_secret.key", "utf const fireblocks = new Fireblocks(); -let body: ConnectedAccountsBetaApiSyncConnectedAccountAllowlistRequest = { +let body: ConnectedAccountsApiSyncConnectedAccountAllowlistRequest = { // string | The connected account identifier accountId: accountId_example, // string | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. (optional) idempotencyKey: idempotencyKey_example, }; -fireblocks.connectedAccountsBeta.syncConnectedAccountAllowlist(body).then((res: FireblocksResponse) => { +fireblocks.connectedAccounts.syncConnectedAccountAllowlist(body).then((res: FireblocksResponse) => { console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); }).catch((error:any) => console.error(error)); ``` @@ -808,7 +808,7 @@ No authorization required # **updateConnectedAccountCredentials** > UpdateConnectedAccountCredentialsResponse updateConnectedAccountCredentials(updateConnectedAccountCredentialsRequest, ) -Replace the API credentials (secret + API key) of a connected account. Credentials belong to an API key, which can back a single account or an entire hierarchy. Updating them affects all accounts sharing that key, so the endpoint returns an array of modified accounts. The `creds` field must be a Base64-encoded RSA-encrypted credential blob; use `GET /connected_accounts/credentials/public_key` to retrieve the public key for encryption. Both `creds` and `apiKey` are mandatory. Validation against the exchange is synchronous, but the update itself is **pending mobile approval** — the existing credentials stay live until the change is approved, so none of the affected accounts are disconnected in the meantime. Endpoint Permission: Admin, Non-Signing Admin. **Note:** This endpoint is currently in beta and might be subject to changes. +Replace the API credentials (secret + API key) of a connected account. Credentials belong to an API key, which can back a single account or an entire hierarchy. Updating them affects all accounts sharing that key, so the endpoint returns an array of modified accounts. The `creds` field must be a Base64-encoded RSA-encrypted credential blob; use `GET /connected_accounts/credentials/public_key` to retrieve the public key for encryption. Both `creds` and `apiKey` are mandatory. Validation against the exchange is synchronous, but the update itself is **pending mobile approval** — the existing credentials stay live until the change is approved, so none of the affected accounts are disconnected in the meantime. Endpoint Permission: Admin, Non-Signing Admin. ### Example @@ -816,7 +816,7 @@ Replace the API credentials (secret + API key) of a connected account. Credenti ```typescript import { readFileSync } from 'fs'; import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; -import type { FireblocksResponse, ConnectedAccountsBetaApiUpdateConnectedAccountCredentialsRequest, UpdateConnectedAccountCredentialsResponse } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, ConnectedAccountsApiUpdateConnectedAccountCredentialsRequest, UpdateConnectedAccountCredentialsResponse } from '@fireblocks/ts-sdk'; // Set the environment variables for authentication process.env.FIREBLOCKS_BASE_PATH = BasePath.Sandbox; // or assign directly to "https://sandbox-api.fireblocks.io/v1" @@ -825,7 +825,7 @@ process.env.FIREBLOCKS_SECRET_KEY = readFileSync("./fireblocks_secret.key", "utf const fireblocks = new Fireblocks(); -let body: ConnectedAccountsBetaApiUpdateConnectedAccountCredentialsRequest = { +let body: ConnectedAccountsApiUpdateConnectedAccountCredentialsRequest = { // UpdateConnectedAccountCredentialsRequest updateConnectedAccountCredentialsRequest: param_value, // string | The unique identifier of the connected account whose API key credentials are being replaced. @@ -834,7 +834,7 @@ let body: ConnectedAccountsBetaApiUpdateConnectedAccountCredentialsRequest = { idempotencyKey: idempotencyKey_example, }; -fireblocks.connectedAccountsBeta.updateConnectedAccountCredentials(body).then((res: FireblocksResponse) => { +fireblocks.connectedAccounts.updateConnectedAccountCredentials(body).then((res: FireblocksResponse) => { console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); }).catch((error:any) => console.error(error)); ``` diff --git a/docs/apis/ConsoleUserApi.md b/docs/apis/ConsoleUserApi.md index 74524338..1007fc31 100644 --- a/docs/apis/ConsoleUserApi.md +++ b/docs/apis/ConsoleUserApi.md @@ -5,6 +5,7 @@ All URIs are relative to https://developers.fireblocks.com/reference/ Method | HTTP request | Description ------------- | ------------- | ------------- [**createConsoleUser**](#createConsoleUser) | **POST** /management/users | Create console user +[**deleteConsoleUser**](#deleteConsoleUser) | **DELETE** /management/users/{id} | Request deletion of a console user [**getConsoleUsers**](#getConsoleUsers) | **GET** /management/users | Get console users @@ -75,6 +76,75 @@ No authorization required [[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) +# **deleteConsoleUser** +> ConsoleUser deleteConsoleUser() + +Requests deletion of a console user. The request is asynchronous: it goes through the workspace\'s configured \"Delete users\" approval policy (Settings > Quorums), exactly as deleting a user from the console does, and the user is removed only once that approval completes. - Track progress by polling GET /management/users; deletion is complete when the user is disabled. - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions. Endpoint Permission: Admin, Non-Signing Admin. **Note:** This endpoint is currently in beta and might be subject to changes. + +### Example + + +```typescript +import { readFileSync } from 'fs'; +import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, ConsoleUserApiDeleteConsoleUserRequest, ConsoleUser } from '@fireblocks/ts-sdk'; + +// Set the environment variables for authentication +process.env.FIREBLOCKS_BASE_PATH = BasePath.Sandbox; // or assign directly to "https://sandbox-api.fireblocks.io/v1" +process.env.FIREBLOCKS_API_KEY = "my-api-key"; +process.env.FIREBLOCKS_SECRET_KEY = readFileSync("./fireblocks_secret.key", "utf8"); + +const fireblocks = new Fireblocks(); + +let body: ConsoleUserApiDeleteConsoleUserRequest = { + // string | The ID of the console user to delete + id: id_example, + // boolean | Acknowledges the impact of removing this user and proceeds anyway. Overrides both USER_REFERENCED_IN_TAP and QUORUM_INTEGRITY, the same way the acknowledgement checkbox does in the console. (optional) + force: true, +}; + +fireblocks.consoleUser.deleteConsoleUser(body).then((res: FireblocksResponse) => { + console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); +}).catch((error:any) => console.error(error)); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | [**string**] | The ID of the console user to delete | defaults to undefined + **force** | [**boolean**] | Acknowledges the impact of removing this user and proceeds anyway. Overrides both USER_REFERENCED_IN_TAP and QUORUM_INTEGRITY, the same way the acknowledgement checkbox does in the console. | (optional) defaults to false + + +### Return type + +**[ConsoleUser](../models/ConsoleUser.md)** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Deletion request accepted. Returns the console user that will be removed once the workspace\'s configured approval completes. | * X-Request-ID -
| +**401** | Unauthorized. Missing / invalid JWT token in Authorization header. | * X-Request-ID -
| +**403** | Lacking permissions, or the target cannot be deleted: the user is the workspace Owner, or the caller is the target. | * X-Request-ID -
| +**404** | Console user not found. Also returned for users in other workspaces and for API users, so the endpoint does not reveal whether an ID exists. | * X-Request-ID -
| +**409** | PENDING_REQUEST_EXISTS - a deletion request for this user is already awaiting approval; USER_REFERENCED_IN_TAP - the user is referenced by the workspace transaction authorization policy (can be overridden with force=true); or USER_PENDING_ONBOARDING - the user has not completed onboarding, so there is nothing to delete yet. Revoke the invitation from the console instead. | * X-Request-ID -
| +**422** | QUORUM_INTEGRITY - the user is required to complete the workspace\'s admin approval quorum. Can be overridden with force=true, matching the console\'s acknowledgement checkbox. | * X-Request-ID -
| +**5XX** | Internal error. | * X-Request-ID -
| +**0** | Error Response | * X-Request-ID -
| + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) + # **getConsoleUsers** > GetConsoleUsersResponse getConsoleUsers() diff --git a/docs/apis/UTXOManagementBetaApi.md b/docs/apis/UTXOManagementBetaApi.md index 877c6c9a..cb4ca99a 100644 --- a/docs/apis/UTXOManagementBetaApi.md +++ b/docs/apis/UTXOManagementBetaApi.md @@ -4,10 +4,68 @@ All URIs are relative to https://developers.fireblocks.com/reference/ Method | HTTP request | Description ------------- | ------------- | ------------- +[**getUtxoSelectionConfig**](#getUtxoSelectionConfig) | **GET** /utxo_management/selection_config | Get UTXO selection config [**getUtxos**](#getUtxos) | **GET** /utxo_management/{vaultAccountId}/{assetId}/unspent_outputs | List unspent outputs (UTXOs) +[**getVaultAssetUtxoSelectionConfig**](#getVaultAssetUtxoSelectionConfig) | **GET** /utxo_management/{vaultAccountId}/{assetId}/selection_config | Get vault and asset UTXO selection config [**updateUtxoLabels**](#updateUtxoLabels) | **PATCH** /utxo_management/{vaultAccountId}/{assetId}/labels | Attach or detach labels to/from UTXOs +[**upsertUtxoSelectionConfig**](#upsertUtxoSelectionConfig) | **PUT** /utxo_management/selection_config | Upsert UTXO selection config +[**upsertVaultAssetUtxoSelectionConfig**](#upsertVaultAssetUtxoSelectionConfig) | **PUT** /utxo_management/{vaultAccountId}/{assetId}/selection_config | Upsert vault and asset UTXO selection config +# **getUtxoSelectionConfig** +> UtxoSelectionConfigResponse getUtxoSelectionConfig() + +Returns the workspace-level configured selection strategy and the effective strategy after runtime resolution. `ADAPTIVE` is the recommended strategy. When no row is stored (source `DEFAULT`), `effective` is `ADAPTIVE` if adaptive selection is serving for this workspace, otherwise `ASC`. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. + +### Example + + +```typescript +import { readFileSync } from 'fs'; +import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, UtxoSelectionConfigResponse } from '@fireblocks/ts-sdk'; + +// Set the environment variables for authentication +process.env.FIREBLOCKS_BASE_PATH = BasePath.Sandbox; // or assign directly to "https://sandbox-api.fireblocks.io/v1" +process.env.FIREBLOCKS_API_KEY = "my-api-key"; +process.env.FIREBLOCKS_SECRET_KEY = readFileSync("./fireblocks_secret.key", "utf8"); + +const fireblocks = new Fireblocks(); + +let body:any = {}; + +fireblocks.utxoManagementBeta.getUtxoSelectionConfig(body).then((res: FireblocksResponse) => { + console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); +}).catch((error:any) => console.error(error)); +``` + + +### Parameters +This endpoint does not need any parameter. + + +### Return type + +**[UtxoSelectionConfigResponse](../models/UtxoSelectionConfigResponse.md)** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Current UTXO selection config | * X-Request-ID -
| +**0** | Error Response | * X-Request-ID -
| + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) + # **getUtxos** > ListUtxosResponse getUtxos() @@ -110,10 +168,73 @@ No authorization required [[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) +# **getVaultAssetUtxoSelectionConfig** +> UtxoSelectionConfigResponse getVaultAssetUtxoSelectionConfig() + +Returns the config stored at this vault-and-asset scope, if any, and the effective strategy after workspace fallback and runtime resolution. `ADAPTIVE` is the recommended strategy. When no row is stored at this scope and none is inherited from the workspace (source `DEFAULT`), `effective` is `ADAPTIVE` if adaptive selection is serving for this scope, otherwise `ASC`. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. + +### Example + + +```typescript +import { readFileSync } from 'fs'; +import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, UTXOManagementBetaApiGetVaultAssetUtxoSelectionConfigRequest, UtxoSelectionConfigResponse } from '@fireblocks/ts-sdk'; + +// Set the environment variables for authentication +process.env.FIREBLOCKS_BASE_PATH = BasePath.Sandbox; // or assign directly to "https://sandbox-api.fireblocks.io/v1" +process.env.FIREBLOCKS_API_KEY = "my-api-key"; +process.env.FIREBLOCKS_SECRET_KEY = readFileSync("./fireblocks_secret.key", "utf8"); + +const fireblocks = new Fireblocks(); + +let body: UTXOManagementBetaApiGetVaultAssetUtxoSelectionConfigRequest = { + // string | The ID of the vault account. + vaultAccountId: vaultAccountId_example, + // string | The ID of the asset + assetId: assetId_example, +}; + +fireblocks.utxoManagementBeta.getVaultAssetUtxoSelectionConfig(body).then((res: FireblocksResponse) => { + console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); +}).catch((error:any) => console.error(error)); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **vaultAccountId** | [**string**] | The ID of the vault account. | defaults to undefined + **assetId** | [**string**] | The ID of the asset | defaults to undefined + + +### Return type + +**[UtxoSelectionConfigResponse](../models/UtxoSelectionConfigResponse.md)** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Current UTXO selection config | * X-Request-ID -
| +**0** | Error Response | * X-Request-ID -
| + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) + # **updateUtxoLabels** > AttachDetachUtxoLabelsResponse updateUtxoLabels(attachDetachUtxoLabelsRequest, ) -Attach or detach labels to/from UTXOs in a vault account. Labels can be used for organizing and filtering UTXOs. Labels are applied additively — `labelsToAttach` adds to the existing label set and `labelsToDetach` removes from it. Neither operation replaces the full set. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. +Attach or detach labels to/from UTXOs in a vault account. Labels can be used for organizing and filtering UTXOs. Labels are applied additively — `labelsToAttach` adds to the existing label set and `labelsToDetach` removes from it. Neither operation replaces the full set. The request is all-or-nothing: if any identifier cannot be labelled, no UTXO is labelled and the request fails with `400`. The response lists every failed identifier in `failures`, each with its own `reason` — use it, not the status, to decide what to do: - `NOT_FOUND` — not found in this vault and asset. - `NOT_LABELLABLE` — spent, or removed, and can no longer be labelled. A UTXO removed within the last hour is reported as `NOT_FOUND` with `utxoStatus: REMOVED`; if it does not reappear, it becomes `NOT_LABELLABLE` after about an hour. A `400` without `failures` means the request itself is malformed. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. ### Example @@ -175,6 +296,139 @@ No authorization required | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | UTXOs with updated labels | * X-Request-ID -
| +**400** | Some identifiers could not be labelled (listed in `failures`), or the request is malformed. No UTXO was labelled. | * X-Request-ID -
| +**0** | Error Response | * X-Request-ID -
| + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) + +# **upsertUtxoSelectionConfig** +> UtxoSelectionConfigResponse upsertUtxoSelectionConfig(upsertUtxoSelectionConfigRequest) + +Creates or updates the workspace-level UTXO selection strategy. `ADAPTIVE` is recommended. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin. + +### Example + + +```typescript +import { readFileSync } from 'fs'; +import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, UTXOManagementBetaApiUpsertUtxoSelectionConfigRequest, UtxoSelectionConfigResponse } from '@fireblocks/ts-sdk'; + +// Set the environment variables for authentication +process.env.FIREBLOCKS_BASE_PATH = BasePath.Sandbox; // or assign directly to "https://sandbox-api.fireblocks.io/v1" +process.env.FIREBLOCKS_API_KEY = "my-api-key"; +process.env.FIREBLOCKS_SECRET_KEY = readFileSync("./fireblocks_secret.key", "utf8"); + +const fireblocks = new Fireblocks(); + +let body: UTXOManagementBetaApiUpsertUtxoSelectionConfigRequest = { + // UpsertUtxoSelectionConfigRequest + upsertUtxoSelectionConfigRequest: param_value, + // string | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. (optional) + idempotencyKey: idempotencyKey_example, +}; + +fireblocks.utxoManagementBeta.upsertUtxoSelectionConfig(body).then((res: FireblocksResponse) => { + console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); +}).catch((error:any) => console.error(error)); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **upsertUtxoSelectionConfigRequest** | **[UpsertUtxoSelectionConfigRequest](../models/UpsertUtxoSelectionConfigRequest.md)**| | + **idempotencyKey** | [**string**] | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. | (optional) defaults to undefined + + +### Return type + +**[UtxoSelectionConfigResponse](../models/UtxoSelectionConfigResponse.md)** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Updated UTXO selection config | * X-Request-ID -
| +**0** | Error Response | * X-Request-ID -
| + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) + +# **upsertVaultAssetUtxoSelectionConfig** +> UtxoSelectionConfigResponse upsertVaultAssetUtxoSelectionConfig(upsertUtxoSelectionConfigRequest, ) + +Creates or updates the UTXO selection strategy for this vault account and asset. `ADAPTIVE` is recommended. **Note:** These endpoints are currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin. + +### Example + + +```typescript +import { readFileSync } from 'fs'; +import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, UTXOManagementBetaApiUpsertVaultAssetUtxoSelectionConfigRequest, UtxoSelectionConfigResponse } from '@fireblocks/ts-sdk'; + +// Set the environment variables for authentication +process.env.FIREBLOCKS_BASE_PATH = BasePath.Sandbox; // or assign directly to "https://sandbox-api.fireblocks.io/v1" +process.env.FIREBLOCKS_API_KEY = "my-api-key"; +process.env.FIREBLOCKS_SECRET_KEY = readFileSync("./fireblocks_secret.key", "utf8"); + +const fireblocks = new Fireblocks(); + +let body: UTXOManagementBetaApiUpsertVaultAssetUtxoSelectionConfigRequest = { + // UpsertUtxoSelectionConfigRequest + upsertUtxoSelectionConfigRequest: param_value, + // string | The ID of the vault account. + vaultAccountId: vaultAccountId_example, + // string | The ID of the asset + assetId: assetId_example, + // string | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. (optional) + idempotencyKey: idempotencyKey_example, +}; + +fireblocks.utxoManagementBeta.upsertVaultAssetUtxoSelectionConfig(body).then((res: FireblocksResponse) => { + console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); +}).catch((error:any) => console.error(error)); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **upsertUtxoSelectionConfigRequest** | **[UpsertUtxoSelectionConfigRequest](../models/UpsertUtxoSelectionConfigRequest.md)**| | + **vaultAccountId** | [**string**] | The ID of the vault account. | defaults to undefined + **assetId** | [**string**] | The ID of the asset | defaults to undefined + **idempotencyKey** | [**string**] | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. | (optional) defaults to undefined + + +### Return type + +**[UtxoSelectionConfigResponse](../models/UtxoSelectionConfigResponse.md)** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Updated UTXO selection config | * X-Request-ID -
| **0** | Error Response | * X-Request-ID -
| [[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/apis/WebhooksV2Api.md b/docs/apis/WebhooksV2Api.md index 54b5fde1..23767389 100644 --- a/docs/apis/WebhooksV2Api.md +++ b/docs/apis/WebhooksV2Api.md @@ -5,8 +5,10 @@ All URIs are relative to https://developers.fireblocks.com/reference/ Method | HTTP request | Description ------------- | ------------- | ------------- [**createWebhook**](#createWebhook) | **POST** /webhooks | Create a new webhook +[**createWebhookMtlsConfig**](#createWebhookMtlsConfig) | **POST** /webhooks_settings/mtls | Create an mTLS configuration [**createWebhookOauth**](#createWebhookOauth) | **POST** /webhooks_settings/oauth | Create OAuth credentials [**deleteWebhook**](#deleteWebhook) | **DELETE** /webhooks/{webhookId} | Delete webhook +[**deleteWebhookMtlsConfig**](#deleteWebhookMtlsConfig) | **DELETE** /webhooks_settings/mtls/{webhookMtlsId} | Delete an mTLS configuration [**deleteWebhookOauth**](#deleteWebhookOauth) | **DELETE** /webhooks_settings/oauth/{webhookOauthId} | Delete OAuth credentials [**getMetrics**](#getMetrics) | **GET** /webhooks/{webhookId}/metrics/{metricName} | Get webhook metrics [**getMtlsCsr**](#getMtlsCsr) | **GET** /webhooks_settings/mtls_csr | Get mTLS CSR @@ -16,6 +18,8 @@ Method | HTTP request | Description [**getResendByQueryJobStatus**](#getResendByQueryJobStatus) | **GET** /webhooks/{webhookId}/notifications/resend_by_query/jobs/{jobId} | Get resend by query job status [**getResendJobStatus**](#getResendJobStatus) | **GET** /webhooks/{webhookId}/notifications/resend_failed/jobs/{jobId} | Get resend job status [**getWebhook**](#getWebhook) | **GET** /webhooks/{webhookId} | Get webhook by id +[**getWebhookMtlsConfig**](#getWebhookMtlsConfig) | **GET** /webhooks_settings/mtls/{webhookMtlsId} | Get an mTLS configuration by id +[**getWebhookMtlsConfigs**](#getWebhookMtlsConfigs) | **GET** /webhooks_settings/mtls | List the uploaded mTLS configurations [**getWebhookOauth**](#getWebhookOauth) | **GET** /webhooks_settings/oauth/{webhookOauthId} | Get OAuth credentials by id [**getWebhookOauths**](#getWebhookOauths) | **GET** /webhooks_settings/oauth | Get all OAuth credentials [**getWebhooks**](#getWebhooks) | **GET** /webhooks | Get all webhooks @@ -24,6 +28,7 @@ Method | HTTP request | Description [**resendNotificationsByQuery**](#resendNotificationsByQuery) | **POST** /webhooks/{webhookId}/notifications/resend_by_query | Resend notifications by query [**resendNotificationsByResourceId**](#resendNotificationsByResourceId) | **POST** /webhooks/{webhookId}/notifications/resend_by_resource | Resend notifications by resource Id [**updateWebhook**](#updateWebhook) | **PATCH** /webhooks/{webhookId} | Update webhook +[**updateWebhookMtlsConfig**](#updateWebhookMtlsConfig) | **PATCH** /webhooks_settings/mtls/{webhookMtlsId} | Update an mTLS configuration [**updateWebhookOauth**](#updateWebhookOauth) | **PATCH** /webhooks_settings/oauth/{webhookOauthId} | Update OAuth credentials @@ -90,6 +95,69 @@ No authorization required [[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) +# **createWebhookMtlsConfig** +> WebhookMtlsConfig createWebhookMtlsConfig(createWebhookMtlsConfigRequest) + +Stores a certificate signed against the CSR from `GET /v1/webhooks_settings/mtls_csr` and returns its id, which is then set as `webhookMtlsId` on a webhook or on OAuth credentials. The private key the certificate was issued for is derived from the certificate, so it is never named by the caller. Re-uploading a certificate already stored returns the existing id rather than creating a second configuration, so several webhooks and OAuth credentials can share one certificate. A certificate that was not issued for a private key this workspace holds is rejected with a `400`. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. + +### Example + + +```typescript +import { readFileSync } from 'fs'; +import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, WebhooksV2ApiCreateWebhookMtlsConfigRequest, WebhookMtlsConfig } from '@fireblocks/ts-sdk'; + +// Set the environment variables for authentication +process.env.FIREBLOCKS_BASE_PATH = BasePath.Sandbox; // or assign directly to "https://sandbox-api.fireblocks.io/v1" +process.env.FIREBLOCKS_API_KEY = "my-api-key"; +process.env.FIREBLOCKS_SECRET_KEY = readFileSync("./fireblocks_secret.key", "utf8"); + +const fireblocks = new Fireblocks(); + +let body: WebhooksV2ApiCreateWebhookMtlsConfigRequest = { + // CreateWebhookMtlsConfigRequest + createWebhookMtlsConfigRequest: param_value, + // string | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. (optional) + idempotencyKey: idempotencyKey_example, +}; + +fireblocks.webhooksV2.createWebhookMtlsConfig(body).then((res: FireblocksResponse) => { + console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); +}).catch((error:any) => console.error(error)); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **createWebhookMtlsConfigRequest** | **[CreateWebhookMtlsConfigRequest](../models/CreateWebhookMtlsConfigRequest.md)**| | + **idempotencyKey** | [**string**] | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. | (optional) defaults to undefined + + +### Return type + +**[WebhookMtlsConfig](../models/WebhookMtlsConfig.md)** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | The stored mTLS configuration | * X-Request-ID -
| +**0** | Error Response | * X-Request-ID -
| + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) + # **createWebhookOauth** > WebhookOauthCredentials createWebhookOauth(createWebhookOauthRequest) @@ -213,6 +281,70 @@ No authorization required [[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) +# **deleteWebhookMtlsConfig** +> DeleteWebhookMtlsConfigResponse deleteWebhookMtlsConfig() + +Deletes an mTLS configuration. By default the delete is refused while the configuration is still in use: if any webhook or OAuth credentials reference it, nothing is deleted and the request fails with `409 Conflict`, naming the reason and listing the ids of what references it. This protects a shared configuration from being removed out from under the webhooks and token requests that depend on it. Pass `forceDelete=true` to delete anyway. That detaches everything referencing it — it clears `webhookMtlsId` on each webhook and OAuth credentials, it does **not** delete them — then deletes the configuration and returns the deleted resource together with `detachedWebhookIds` and `detachedWebhookOauthIds`. Detached webhooks keep delivering notifications, and detached OAuth credentials keep requesting tokens, but without a client certificate, so an endpoint that requires mTLS will reject them from that point on. When nothing references the configuration the delete succeeds either way, and both lists come back empty. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. + +### Example + + +```typescript +import { readFileSync } from 'fs'; +import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, WebhooksV2ApiDeleteWebhookMtlsConfigRequest, DeleteWebhookMtlsConfigResponse } from '@fireblocks/ts-sdk'; + +// Set the environment variables for authentication +process.env.FIREBLOCKS_BASE_PATH = BasePath.Sandbox; // or assign directly to "https://sandbox-api.fireblocks.io/v1" +process.env.FIREBLOCKS_API_KEY = "my-api-key"; +process.env.FIREBLOCKS_SECRET_KEY = readFileSync("./fireblocks_secret.key", "utf8"); + +const fireblocks = new Fireblocks(); + +let body: WebhooksV2ApiDeleteWebhookMtlsConfigRequest = { + // string | The unique identifier of the mTLS configuration + webhookMtlsId: 44fcead0-7053-4831-a53a-df7fb90d440f, + // boolean | Delete the configuration even while webhooks or OAuth credentials still reference it, detaching them instead of refusing; their ids are returned in `detachedWebhookIds` and `detachedWebhookOauthIds`. Leave it unset, or `false`, to get a `409 Conflict` whenever anything still references the configuration. (optional) + forceDelete: true, +}; + +fireblocks.webhooksV2.deleteWebhookMtlsConfig(body).then((res: FireblocksResponse) => { + console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); +}).catch((error:any) => console.error(error)); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **webhookMtlsId** | [**string**] | The unique identifier of the mTLS configuration | defaults to undefined + **forceDelete** | [**boolean**] | Delete the configuration even while webhooks or OAuth credentials still reference it, detaching them instead of refusing; their ids are returned in `detachedWebhookIds` and `detachedWebhookOauthIds`. Leave it unset, or `false`, to get a `409 Conflict` whenever anything still references the configuration. | (optional) defaults to false + + +### Return type + +**[DeleteWebhookMtlsConfigResponse](../models/DeleteWebhookMtlsConfigResponse.md)** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | The deleted mTLS configuration, plus the ids of any webhooks and OAuth credentials that were detached from it | * X-Request-ID -
| +**409** | Webhooks or OAuth credentials still reference this configuration and `forceDelete` was not set. Nothing was deleted. The error message names the reason and the ids of what references it — detach those webhooks and OAuth credentials, or retry with `forceDelete=true`. | * X-Request-ID -
| +**0** | Error Response | * X-Request-ID -
| + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) + # **deleteWebhookOauth** > DeleteWebhookOauthResponse deleteWebhookOauth() @@ -808,6 +940,126 @@ No authorization required [[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) +# **getWebhookMtlsConfig** +> WebhookMtlsConfig getWebhookMtlsConfig() + +Retrieve one stored mTLS configuration by its id. + +### Example + + +```typescript +import { readFileSync } from 'fs'; +import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, WebhooksV2ApiGetWebhookMtlsConfigRequest, WebhookMtlsConfig } from '@fireblocks/ts-sdk'; + +// Set the environment variables for authentication +process.env.FIREBLOCKS_BASE_PATH = BasePath.Sandbox; // or assign directly to "https://sandbox-api.fireblocks.io/v1" +process.env.FIREBLOCKS_API_KEY = "my-api-key"; +process.env.FIREBLOCKS_SECRET_KEY = readFileSync("./fireblocks_secret.key", "utf8"); + +const fireblocks = new Fireblocks(); + +let body: WebhooksV2ApiGetWebhookMtlsConfigRequest = { + // string | The unique identifier of the mTLS configuration + webhookMtlsId: 44fcead0-7053-4831-a53a-df7fb90d440f, +}; + +fireblocks.webhooksV2.getWebhookMtlsConfig(body).then((res: FireblocksResponse) => { + console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); +}).catch((error:any) => console.error(error)); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **webhookMtlsId** | [**string**] | The unique identifier of the mTLS configuration | defaults to undefined + + +### Return type + +**[WebhookMtlsConfig](../models/WebhookMtlsConfig.md)** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | An mTLS configuration | * X-Request-ID -
| +**0** | Error Response | * X-Request-ID -
| + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) + +# **getWebhookMtlsConfigs** +> WebhookMtlsConfigsList getWebhookMtlsConfigs() + +Lists the workspace\'s mTLS configurations, newest first. Pass `ids` to ask about particular ones instead — useful for resolving the `webhookMtlsId` values on a set of webhooks in one call. + +### Example + + +```typescript +import { readFileSync } from 'fs'; +import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, WebhooksV2ApiGetWebhookMtlsConfigsRequest, WebhookMtlsConfigsList } from '@fireblocks/ts-sdk'; + +// Set the environment variables for authentication +process.env.FIREBLOCKS_BASE_PATH = BasePath.Sandbox; // or assign directly to "https://sandbox-api.fireblocks.io/v1" +process.env.FIREBLOCKS_API_KEY = "my-api-key"; +process.env.FIREBLOCKS_SECRET_KEY = readFileSync("./fireblocks_secret.key", "utf8"); + +const fireblocks = new Fireblocks(); + +let body: WebhooksV2ApiGetWebhookMtlsConfigsRequest = { + // Array | Return only the configurations with these ids, instead of all of them. Repeat the parameter for each id. An id belonging to another workspace, or to nothing, is left out of the response rather than failing the request. (optional) + ids: ["6f1b7c62-0f2e-4f1a-9a5e-9f2b1c3d4e5f"], +}; + +fireblocks.webhooksV2.getWebhookMtlsConfigs(body).then((res: FireblocksResponse) => { + console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); +}).catch((error:any) => console.error(error)); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **ids** | **Array<string>** | Return only the configurations with these ids, instead of all of them. Repeat the parameter for each id. An id belonging to another workspace, or to nothing, is left out of the response rather than failing the request. | (optional) defaults to undefined + + +### Return type + +**[WebhookMtlsConfigsList](../models/WebhookMtlsConfigsList.md)** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | The workspace\'s mTLS configurations | * X-Request-ID -
| +**0** | Error Response | * X-Request-ID -
| + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) + # **getWebhookOauth** > WebhookOauthCredentials getWebhookOauth() @@ -1317,10 +1569,74 @@ No authorization required [[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) +# **updateWebhookMtlsConfig** +> WebhookMtlsConfig updateWebhookMtlsConfig(updateWebhookMtlsConfigRequest, ) + +Renames a configuration, replaces its certificate, or both. Only the fields present in the request are changed; anything omitted is left as it is, and a request with neither field is rejected with a `400`. Replacing `signedCert` switches every webhook and OAuth credentials set using this configuration over to the new certificate in one write, and the private key it was issued for is re-derived from the certificate. A replacement that was not issued for a private key this workspace holds is rejected with a `400`. Sending `name: null` removes the label. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. + +### Example + + +```typescript +import { readFileSync } from 'fs'; +import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, WebhooksV2ApiUpdateWebhookMtlsConfigRequest, WebhookMtlsConfig } from '@fireblocks/ts-sdk'; + +// Set the environment variables for authentication +process.env.FIREBLOCKS_BASE_PATH = BasePath.Sandbox; // or assign directly to "https://sandbox-api.fireblocks.io/v1" +process.env.FIREBLOCKS_API_KEY = "my-api-key"; +process.env.FIREBLOCKS_SECRET_KEY = readFileSync("./fireblocks_secret.key", "utf8"); + +const fireblocks = new Fireblocks(); + +let body: WebhooksV2ApiUpdateWebhookMtlsConfigRequest = { + // UpdateWebhookMtlsConfigRequest + updateWebhookMtlsConfigRequest: param_value, + // string | The unique identifier of the mTLS configuration + webhookMtlsId: 44fcead0-7053-4831-a53a-df7fb90d440f, +}; + +fireblocks.webhooksV2.updateWebhookMtlsConfig(body).then((res: FireblocksResponse) => { + console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); +}).catch((error:any) => console.error(error)); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **updateWebhookMtlsConfigRequest** | **[UpdateWebhookMtlsConfigRequest](../models/UpdateWebhookMtlsConfigRequest.md)**| | + **webhookMtlsId** | [**string**] | The unique identifier of the mTLS configuration | defaults to undefined + + +### Return type + +**[WebhookMtlsConfig](../models/WebhookMtlsConfig.md)** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | The updated mTLS configuration | * X-Request-ID -
| +**400** | Neither `name` nor `signedCert` was provided, so there is nothing to change, or the replacement certificate was rejected — it is not valid X.509, or it was not issued for a private key this workspace holds. | * X-Request-ID -
| +**0** | Error Response | * X-Request-ID -
| + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) + # **updateWebhookOauth** > WebhookOauthCredentials updateWebhookOauth(updateWebhookOauthRequest, ) -Updates only the fields present in the request; anything omitted is left as it is. Sending `clientSecret` on its own rotates the secret for every webhook using these credentials. `customJwtClaims`, `customBodyParams` and `customHeaders` are all merged key by key rather than replaced, the same way a webhook\'s own `customHeaders` behaves: a key sent with a value is added or overwritten, a key sent with a `null` value is deleted, and a key you omit is left alone. Setting one of the three to `null` as a whole clears that map, which is the quick way to empty it without naming every key. There is no ambiguity between the two uses of `null` — one names an entry to delete, the other names the field. A claim cannot be set to JSON `null`, though, on this endpoint or on create, because `null` is spent on deletion. `mtlsClientSignedCert` is a scalar rather than a map, so `null` there does remove it. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. +Updates only the fields present in the request; anything omitted is left as it is. Sending `clientSecret` on its own rotates the secret for every webhook using these credentials. `customJwtClaims`, `customBodyParams` and `customHeaders` are all merged key by key rather than replaced, the same way a webhook\'s own `customHeaders` behaves: a key sent with a value is added or overwritten, a key sent with a `null` value is deleted, and a key you omit is left alone. Setting one of the three to `null` as a whole clears that map, which is the quick way to empty it without naming every key. There is no ambiguity between the two uses of `null` — one names an entry to delete, the other names the field. A claim cannot be set to JSON `null`, though, on this endpoint or on create, because `null` is spent on deletion. `webhookMtlsId` is a scalar rather than a map, so `null` there does remove it. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. ### Example diff --git a/docs/models/AddressRegistryCreateProofOfOwnershipRequest.md b/docs/models/AddressRegistryCreateProofOfOwnershipRequest.md new file mode 100644 index 00000000..2ac97314 --- /dev/null +++ b/docs/models/AddressRegistryCreateProofOfOwnershipRequest.md @@ -0,0 +1,12 @@ +# AddressRegistryCreateProofOfOwnershipRequest + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**address** | **string** | Blockchain address to prove ownership for (must resolve to the caller\'s workspace). Same format expectations as the `address` path parameter on `GET /v1/address_registry/legal_entities/{address}`. | [default to undefined]| + + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/AddressRegistryCreateProofOfOwnershipResponse.md b/docs/models/AddressRegistryCreateProofOfOwnershipResponse.md new file mode 100644 index 00000000..e89bcb52 --- /dev/null +++ b/docs/models/AddressRegistryCreateProofOfOwnershipResponse.md @@ -0,0 +1,15 @@ +# AddressRegistryCreateProofOfOwnershipResponse + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**pdf** | **string** | Base64-encoded Proof of Ownership PDF bytes. Fireblocks does not store the PDF: save it immediately, there is no re-download route. | [default to undefined]| +|**exportId** | **string** | Stable id of the online-verifiable export record. | [default to undefined]| +|**verificationHash** | **string** | Verification hash bound to the export (also printed on the PDF). | [default to undefined]| +|**expiresAt** | **string** | Inclusive last UTC calendar day online verification is available (`YYYY-MM-DD`). | [default to undefined]| + + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/AddressRegistryError.md b/docs/models/AddressRegistryError.md deleted file mode 100644 index 06ec50d8..00000000 --- a/docs/models/AddressRegistryError.md +++ /dev/null @@ -1,13 +0,0 @@ -# AddressRegistryError - -## Properties - -|Name | Type | Description | Notes| -|------------ | ------------- | ------------- | -------------| -|**message** | **string** | Human-readable error message | [default to undefined]| -|**code** | **number** | Application error code when present. For HTTP 400 on legal-entity lookup, distinguish: 4100 — request validation (e.g. missing, empty, or whitespace-only `address` after trim); 2140 — workspace not opted in to the address registry (`AR_OPT_IN_REQUIRED`). 2142 — not found (404). Other codes may appear, including on server errors. | [optional] [default to undefined]| - - - - -[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/AddressRegistryLegalEntity.md b/docs/models/AddressRegistryLegalEntity.md index b4dc957f..166d6cc4 100644 --- a/docs/models/AddressRegistryLegalEntity.md +++ b/docs/models/AddressRegistryLegalEntity.md @@ -8,8 +8,9 @@ |**entityName** | **string** | Legal entity display name. | [default to undefined]| |**jurisdiction** | **string** | Jurisdiction (e.g. ISO 3166-1 alpha-2 country code). | [default to undefined]| |**lei** | **string** | Legal Entity Identifier when available. Empty when `leiData` is `false`. | [default to undefined]| -|**travelRuleProviders** | [**Array<AddressRegistryTravelRuleProvider>**](AddressRegistryTravelRuleProvider.md) | | [default to undefined]| +|**travelRuleProviders** | **Array<string>** | | [default to undefined]| |**email** | **string** | Travel Rule contact email when available. | [default to undefined]| +|**proofOfOwnershipAvailable** | **boolean** | Whether the caller can currently create a Proof of Ownership PDF for this address (`POST /v1/address_registry/proof_of_ownership_exports`). | [default to undefined]| diff --git a/docs/models/AddressRegistryTravelRuleProvider.md b/docs/models/AddressRegistryTravelRuleProvider.md deleted file mode 100644 index 1f964e5c..00000000 --- a/docs/models/AddressRegistryTravelRuleProvider.md +++ /dev/null @@ -1,16 +0,0 @@ -# AddressRegistryTravelRuleProvider - -## Enum - - -* `Notabene` (value: `'TRAVEL_RULE_PROVIDER_NOTABENE'`) - -* `Sygna` (value: `'TRAVEL_RULE_PROVIDER_SYGNA'`) - -* `Trisa` (value: `'TRAVEL_RULE_PROVIDER_TRISA'`) - -* `Openvasp` (value: `'TRAVEL_RULE_PROVIDER_OPENVASP'`) - - - -[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/AddressRegistryVerifyProofOfOwnershipRequest.md b/docs/models/AddressRegistryVerifyProofOfOwnershipRequest.md new file mode 100644 index 00000000..e222267b --- /dev/null +++ b/docs/models/AddressRegistryVerifyProofOfOwnershipRequest.md @@ -0,0 +1,15 @@ +# AddressRegistryVerifyProofOfOwnershipRequest + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**exportId** | **string** | Export id from create / the PDF. | [default to undefined]| +|**verificationHash** | **string** | Verification hash from create / the PDF (exact match required). | [default to undefined]| +|**address** | **string** | Address from the PDF (exact UTF-8 match to the stored export). | [default to undefined]| +|**expiresAt** | **string** | Optional but recommended: the PDF\'s \"Online verification available until\" date (`YYYY-MM-DD`), which speeds up the lookup. A wrong value yields `valid: false` even if the export exists — copy it exactly from the PDF, or omit it. | [optional] [default to undefined]| + + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/AddressRegistryVerifyProofOfOwnershipResponse.md b/docs/models/AddressRegistryVerifyProofOfOwnershipResponse.md new file mode 100644 index 00000000..64926f31 --- /dev/null +++ b/docs/models/AddressRegistryVerifyProofOfOwnershipResponse.md @@ -0,0 +1,13 @@ +# AddressRegistryVerifyProofOfOwnershipResponse + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**valid** | **boolean** | Whether the stored export matches the supplied verification hash and address within retention. | [default to undefined]| +|**expiresAt** | **string** | Inclusive last UTC calendar day (`YYYY-MM-DD`) when `valid` is true; empty string when `valid` is false. | [default to undefined]| + + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/AllocationWithdrawPayload.md b/docs/models/AllocationWithdrawPayload.md index 56a1320d..3cb57d4f 100644 --- a/docs/models/AllocationWithdrawPayload.md +++ b/docs/models/AllocationWithdrawPayload.md @@ -4,20 +4,9 @@ |Name | Type | Description | Notes| |------------ | ------------- | ------------- | -------------| -|**vaultAccountId** | **string** | The vault account whose Canton wallet acts here. | [default to undefined]| -|**asset** | **string** | Chain asset — `CANTON` or `CANTON_TEST`. | [default to undefined]| |**allocationTransactionId** | **string** | The Fireblocks transaction id of the outgoing response that created the allocation. The allocation is resolved from it — Canton contract ids are never accepted here. | [default to undefined]| -## Enum: AllocationWithdrawPayloadAssetEnum - - -* `Canton` (value: `'CANTON'`) - -* `CantonTest` (value: `'CANTON_TEST'`) - - - [[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/CantonCallDetails.md b/docs/models/CantonCallDetails.md new file mode 100644 index 00000000..778a5932 --- /dev/null +++ b/docs/models/CantonCallDetails.md @@ -0,0 +1,16 @@ +# CantonCallDetails + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**version** | **number** | The shape of this block. Stamped at creation and never changed, so a reader always knows which version it is holding. | [optional] [default to undefined]| +|**domain** | [**CantonDomainEnum**](CantonDomainEnum.md) | | [optional] [default to undefined]| +|**type** | **string** | The call type, matching the `type` sent when the call was created. | [optional] [default to undefined]| +|**vendor** | [**CantonVendorEnum**](CantonVendorEnum.md) | | [optional] [default to undefined]| +|**originalTransactionId** | **string** | The transaction this call acts on. On a withdraw it is the allocation that was withdrawn, so the withdraw transaction read on its own still says what it withdrew. | [optional] [default to undefined]| + + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/CantonDetails.md b/docs/models/CantonDetails.md new file mode 100644 index 00000000..ab12cebd --- /dev/null +++ b/docs/models/CantonDetails.md @@ -0,0 +1,14 @@ +# CantonDetails + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**offerResponse** | [**CantonOfferResponseDetails**](CantonOfferResponseDetails.md) | | [optional] [default to undefined]| +|**call** | [**CantonCallDetails**](CantonCallDetails.md) | | [optional] [default to undefined]| +|**settlement** | [**CantonSettlementDetails**](CantonSettlementDetails.md) | | [optional] [default to undefined]| + + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/CantonDomainEnum.md b/docs/models/CantonDomainEnum.md new file mode 100644 index 00000000..f11185f4 --- /dev/null +++ b/docs/models/CantonDomainEnum.md @@ -0,0 +1,14 @@ +# CantonDomainEnum + +## Enum + + +* `Onboarding` (value: `'ONBOARDING'`) + +* `Allocation` (value: `'ALLOCATION'`) + +* `Transfer` (value: `'TRANSFER'`) + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/CantonOfferResponseDetails.md b/docs/models/CantonOfferResponseDetails.md new file mode 100644 index 00000000..9cfa6673 --- /dev/null +++ b/docs/models/CantonOfferResponseDetails.md @@ -0,0 +1,28 @@ +# CantonOfferResponseDetails + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**version** | **number** | The shape of this block. Stamped at creation and never changed, so a reader always knows which version it is holding. | [optional] [default to undefined]| +|**domain** | [**CantonDomainEnum**](CantonDomainEnum.md) | | [optional] [default to undefined]| +|**vendor** | [**CantonVendorEnum**](CantonVendorEnum.md) | | [optional] [default to undefined]| +|**availableResponses** | **Array<string>** | The responses that can be sent for this offer right now. An empty array means nothing is answerable on this transaction — which is the difference between an actionable offer and a linked leg that shares its sub-status. | [optional] [default to undefined]| +|**expiresAt** | **string** | When the offer expires, where it has a deadline. | [optional] [default to undefined]| +|**approvalTransactionId** | **string** | The response transaction, once one has been dispatched for this offer. | [optional] [default to undefined]| +|**originalTransactionId** | **string** | The transaction this one relates to — the offer a response answered. | [optional] [default to undefined]| +|**verdict** | **string** | The outcome, set once the transaction reaches a terminal status. | [optional] [default to undefined]| + + +## Enum: CantonOfferResponseDetailsVerdictEnum + + +* `Accepted` (value: `'ACCEPTED'`) + +* `Rejected` (value: `'REJECTED'`) + + + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/CantonSettlementDetails.md b/docs/models/CantonSettlementDetails.md new file mode 100644 index 00000000..23453b1a --- /dev/null +++ b/docs/models/CantonSettlementDetails.md @@ -0,0 +1,15 @@ +# CantonSettlementDetails + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**version** | **number** | The shape of this block. Stamped at creation and never changed, so a reader always knows which version it is holding. | [optional] [default to undefined]| +|**domain** | [**CantonDomainEnum**](CantonDomainEnum.md) | | [optional] [default to undefined]| +|**type** | **string** | The settlement type. | [optional] [default to undefined]| +|**originalTransactionId** | **string** | The allocation this receipt settles. | [optional] [default to undefined]| + + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/CantonVendorEnum.md b/docs/models/CantonVendorEnum.md new file mode 100644 index 00000000..015ba873 --- /dev/null +++ b/docs/models/CantonVendorEnum.md @@ -0,0 +1,12 @@ +# CantonVendorEnum + +## Enum + + +* `Dtcc` (value: `'DTCC'`) + +* `Tradeweb` (value: `'TRADEWEB'`) + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/CreateWebhookMtlsConfigRequest.md b/docs/models/CreateWebhookMtlsConfigRequest.md new file mode 100644 index 00000000..962653a4 --- /dev/null +++ b/docs/models/CreateWebhookMtlsConfigRequest.md @@ -0,0 +1,13 @@ +# CreateWebhookMtlsConfigRequest + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**signedCert** | **string** | Signed client certificate PEM, issued for the CSR from `GET /v1/webhooks_settings/mtls_csr`. The private key it belongs to is derived from the certificate itself. | [default to undefined]| +|**name** | **string** | A label for this mTLS configuration, to tell several certificates apart. Letters, digits and spaces only. | [optional] [default to undefined]| + + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/CreateWebhookOauthRequest.md b/docs/models/CreateWebhookOauthRequest.md index 2f8c4f65..2047579f 100644 --- a/docs/models/CreateWebhookOauthRequest.md +++ b/docs/models/CreateWebhookOauthRequest.md @@ -12,7 +12,7 @@ |**customJwtClaims** | [**WebhookOauthCustomJwtClaims**](WebhookOauthCustomJwtClaims.md) | | [optional] [default to undefined]| |**customBodyParams** | [**WebhookOauthCustomBodyParams**](WebhookOauthCustomBodyParams.md) | | [optional] [default to undefined]| |**customHeaders** | [**WebhookOauthCustomHeaders**](WebhookOauthCustomHeaders.md) | | [optional] [default to undefined]| -|**mtlsClientSignedCert** | **string** | PEM-encoded client certificate for mTLS when fetching tokens. Must be a valid X.509 certificate inside its validity window. | [optional] [default to undefined]| +|**webhookMtlsId** | **string** | The id of the mTLS configuration presented to the token endpoint, from `/v1/webhooks_settings/mtls`. It can be the same configuration a webhook uses, so one certificate, signed from `GET /v1/webhooks_settings/mtls_csr`, serves both the token endpoint and the receiver. Omit, or send `null`, for a token request without mTLS. Requires the mTLS feature to be enabled for the workspace (`403` otherwise), a configuration of this workspace (`404` otherwise), and one linked to a private key (`400` otherwise). | [optional] [default to undefined]| diff --git a/docs/models/CreateWebhookRequest.md b/docs/models/CreateWebhookRequest.md index 28364792..4f998818 100644 --- a/docs/models/CreateWebhookRequest.md +++ b/docs/models/CreateWebhookRequest.md @@ -8,7 +8,7 @@ |**events** | [**Array<WebhookEvent>**](WebhookEvent.md) | event types the webhook will subscribe to | [default to undefined]| |**description** | **string** | description of the webhook. should not contain special characters. | [optional] [default to undefined]| |**enabled** | **boolean** | The status of the webhook. If false, the webhook will not receive notifications. | [optional] [default to true]| -|**mtls** | [**WebhookMtls**](WebhookMtls.md) | | [optional] [default to undefined]| +|**webhookMtlsId** | **string** | The id of the mTLS configuration this webhook presents when delivering, from `/v1/webhooks_settings/mtls`. Several webhooks may share one configuration, so replacing its certificate covers all of them at once. Send `null` to stop using mTLS for this webhook. | [optional] [default to undefined]| |**webhookOauthId** | **string** | The id of the OAuth credentials this webhook authenticates with, from `/v1/webhooks_settings/oauth`. Several webhooks may share one credential set, so rotating its client secret covers all of them at once. Send `null` to stop using OAuth for this webhook. Cannot be combined with an `authorization` custom header on the same webhook; a request that would leave both set is rejected. | [optional] [default to undefined]| |**customHeaders** | [**WebhookCustomHeaders**](WebhookCustomHeaders.md) | | [optional] [default to undefined]| diff --git a/docs/models/DeleteWebhookMtlsConfigResponse.md b/docs/models/DeleteWebhookMtlsConfigResponse.md new file mode 100644 index 00000000..300a749c --- /dev/null +++ b/docs/models/DeleteWebhookMtlsConfigResponse.md @@ -0,0 +1,19 @@ +# DeleteWebhookMtlsConfigResponse + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**id** | **string** | The unique identifier of the mTLS configuration, to be set as `webhookMtlsId` on a webhook or on OAuth credentials. | [default to undefined]| +|**signedCert** | **string** | The signed client certificate PEM. | [default to undefined]| +|**expiresAt** | **number** | When the certificate itself expires, in milliseconds since the epoch. | [default to undefined]| +|**createdAt** | **number** | When the certificate was uploaded, in milliseconds since the epoch. | [default to undefined]| +|**updatedAt** | **number** | When this configuration was last changed, in milliseconds since the epoch. Differs from createdAt once the certificate has been replaced or the configuration renamed. | [default to undefined]| +|**detachedWebhookIds** | **Array<string>** | Webhooks whose `webhookMtlsId` was cleared. The webhooks themselves are not deleted and keep delivering, just without a client certificate. Empty unless `forceDelete=true` detached something. | [default to undefined]| +|**detachedWebhookOauthIds** | **Array<string>** | OAuth credentials whose `webhookMtlsId` was cleared. Their token requests continue without a client certificate. Empty unless `forceDelete=true` detached something. | [default to undefined]| +|**name** | **string** | The label given to this mTLS configuration. | [optional] [default to undefined]| + + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/DeleteWebhookOauthResponse.md b/docs/models/DeleteWebhookOauthResponse.md index 3e105a42..f1281b08 100644 --- a/docs/models/DeleteWebhookOauthResponse.md +++ b/docs/models/DeleteWebhookOauthResponse.md @@ -15,7 +15,7 @@ |**customJwtClaims** | **Array<string>** | Names of the additional claims placed in the JWT assertion. Claim values are write-only and are never returned. Absent when no custom claims are configured. | [optional] [default to undefined]| |**customBodyParams** | **Array<string>** | Names of the additional parameters added to the token request body. Parameter values are write-only and are never returned. Absent when no custom parameters are configured. | [optional] [default to undefined]| |**customHeaders** | **Array<string>** | Names of the additional HTTP headers added to **the token request sent to the authorization server** — not to the webhook delivery, which has its own separate `customHeaders`. Header values are write-only and are never returned. Absent when no custom headers are configured. | [optional] [default to undefined]| -|**mtlsClientSignedCert** | **string** | PEM-encoded client certificate used for mTLS when fetching OAuth tokens. | [optional] [default to undefined]| +|**webhookMtlsId** | **string** | The id of the mTLS configuration presented to the token endpoint. Absent when the token request does not use mTLS. Read the certificate from `/v1/webhooks_settings/mtls/{id}`. | [optional] [default to undefined]| diff --git a/docs/models/EffectiveUtxoSelectionConfig.md b/docs/models/EffectiveUtxoSelectionConfig.md new file mode 100644 index 00000000..9242e595 --- /dev/null +++ b/docs/models/EffectiveUtxoSelectionConfig.md @@ -0,0 +1,13 @@ +# EffectiveUtxoSelectionConfig + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**strategy** | [**UtxoSelectionStrategyEnum**](UtxoSelectionStrategyEnum.md) | | [default to undefined]| +|**source** | [**UtxoSelectionConfigSourceEnum**](UtxoSelectionConfigSourceEnum.md) | | [default to undefined]| + + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/ExecutionRequestDetails.md b/docs/models/ExecutionRequestDetails.md index b7fb2714..aaa64a1e 100644 --- a/docs/models/ExecutionRequestDetails.md +++ b/docs/models/ExecutionRequestDetails.md @@ -4,12 +4,14 @@ |Name | Type | Description | Notes| |------------ | ------------- | ------------- | -------------| -|**type** | [**QuoteExecutionTypeEnum**](QuoteExecutionTypeEnum.md) | | [default to undefined]| +|**type** | [**LimitTypeEnum**](LimitTypeEnum.md) | | [default to undefined]| |**side** | [**Side**](Side.md) | | [default to undefined]| |**baseAmount** | **string** | Amount in baseAssetId. BUY = base amount to receive; SELL = base amount to sell. | [default to undefined]| |**baseAssetId** | **string** | The asset you receive on BUY / give on SELL. | [default to undefined]| |**quoteAssetId** | **string** | Counter asset used to pay/receive | [default to undefined]| |**quoteId** | **string** | Quote ID for quote orders | [default to undefined]| +|**price** | **string** | Limit price for the order | [default to undefined]| +|**timeInForce** | [**TimeInForce**](TimeInForce.md) | | [default to undefined]| |**baseAssetRail** | [**TransferRail**](TransferRail.md) | | [optional] [default to undefined]| |**quoteAssetRail** | [**TransferRail**](TransferRail.md) | | [optional] [default to undefined]| |**reQuote** | [**ReQuoteDetailsReQuote**](ReQuoteDetailsReQuote.md) | | [optional] [default to undefined]| diff --git a/docs/models/ExecutionRequestDetailsType.md b/docs/models/ExecutionRequestDetailsType.md index 6a3e0744..875298d1 100644 --- a/docs/models/ExecutionRequestDetailsType.md +++ b/docs/models/ExecutionRequestDetailsType.md @@ -7,6 +7,8 @@ * `Market` (value: `'MARKET'`) +* `Limit` (value: `'LIMIT'`) + [[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/ExecutionResponseDetails.md b/docs/models/ExecutionResponseDetails.md index a30e6cfc..aaca37ba 100644 --- a/docs/models/ExecutionResponseDetails.md +++ b/docs/models/ExecutionResponseDetails.md @@ -4,13 +4,15 @@ |Name | Type | Description | Notes| |------------ | ------------- | ------------- | -------------| -|**type** | [**QuoteExecutionTypeEnum**](QuoteExecutionTypeEnum.md) | | [default to undefined]| +|**type** | [**LimitTypeEnum**](LimitTypeEnum.md) | | [default to undefined]| |**side** | [**Side**](Side.md) | | [default to undefined]| |**baseAmount** | **string** | Amount to convert | [default to undefined]| |**baseAssetId** | **string** | Source asset identifier | [default to undefined]| |**quoteAssetId** | **string** | Target asset identifier | [default to undefined]| |**quoteId** | **string** | Quote ID for quote orders | [default to undefined]| |**quoteAmount** | **string** | Quote amount for quote orders | [default to undefined]| +|**price** | **string** | Limit price for the order | [default to undefined]| +|**timeInForce** | [**TimeInForce**](TimeInForce.md) | | [default to undefined]| |**baseAssetRail** | [**TransferRail**](TransferRail.md) | | [optional] [default to undefined]| |**quoteAssetRail** | [**TransferRail**](TransferRail.md) | | [optional] [default to undefined]| |**reQuote** | [**ReQuoteDetailsReQuote**](ReQuoteDetailsReQuote.md) | | [optional] [default to undefined]| diff --git a/docs/models/FailureReason.md b/docs/models/FailureReason.md index 8810411e..ea815b60 100644 --- a/docs/models/FailureReason.md +++ b/docs/models/FailureReason.md @@ -61,6 +61,16 @@ * `MissingWorkspaceDetails` (value: `'MISSING_WORKSPACE_DETAILS'`) +* `CreditLimitExceeded` (value: `'CREDIT_LIMIT_EXCEEDED'`) + +* `QuoteExpired` (value: `'QUOTE_EXPIRED'`) + +* `DeskRejected` (value: `'DESK_REJECTED'`) + +* `RequoteWorsePrice` (value: `'REQUOTE_WORSE_PRICE'`) + +* `FokKilled` (value: `'FOK_KILLED'`) + [[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/FokTimeInForce.md b/docs/models/FokTimeInForce.md new file mode 100644 index 00000000..bf8d1bdd --- /dev/null +++ b/docs/models/FokTimeInForce.md @@ -0,0 +1,19 @@ +# FokTimeInForce + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**type** | **string** | Discriminator for the fill-or-kill time-in-force type. | [default to undefined]| + + +## Enum: FokTimeInForceTypeEnum + + +* `Fok` (value: `'FOK'`) + + + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/LimitExecutionRequestDetails.md b/docs/models/LimitExecutionRequestDetails.md new file mode 100644 index 00000000..a3786b45 --- /dev/null +++ b/docs/models/LimitExecutionRequestDetails.md @@ -0,0 +1,20 @@ +# LimitExecutionRequestDetails + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**type** | [**LimitTypeEnum**](LimitTypeEnum.md) | | [default to undefined]| +|**price** | **string** | Limit price for the order | [default to undefined]| +|**timeInForce** | [**TimeInForce**](TimeInForce.md) | | [default to undefined]| +|**side** | [**Side**](Side.md) | | [default to undefined]| +|**baseAmount** | **string** | Amount in baseAssetId. BUY = base amount to receive; SELL = base amount to sell. | [default to undefined]| +|**baseAssetId** | **string** | The asset you receive on BUY / give on SELL. | [default to undefined]| +|**quoteAssetId** | **string** | Counter asset used to pay/receive | [default to undefined]| +|**baseAssetRail** | [**TransferRail**](TransferRail.md) | | [optional] [default to undefined]| +|**quoteAssetRail** | [**TransferRail**](TransferRail.md) | | [optional] [default to undefined]| + + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/LimitExecutionResponseDetails.md b/docs/models/LimitExecutionResponseDetails.md new file mode 100644 index 00000000..8ad29717 --- /dev/null +++ b/docs/models/LimitExecutionResponseDetails.md @@ -0,0 +1,20 @@ +# LimitExecutionResponseDetails + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**type** | [**LimitTypeEnum**](LimitTypeEnum.md) | | [default to undefined]| +|**price** | **string** | Limit price for the order | [default to undefined]| +|**timeInForce** | [**TimeInForce**](TimeInForce.md) | | [default to undefined]| +|**side** | [**Side**](Side.md) | | [default to undefined]| +|**baseAmount** | **string** | Amount to convert | [default to undefined]| +|**baseAssetId** | **string** | Source asset identifier | [default to undefined]| +|**quoteAssetId** | **string** | Target asset identifier | [default to undefined]| +|**baseAssetRail** | [**TransferRail**](TransferRail.md) | | [optional] [default to undefined]| +|**quoteAssetRail** | [**TransferRail**](TransferRail.md) | | [optional] [default to undefined]| + + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/LimitTypeDetails.md b/docs/models/LimitTypeDetails.md new file mode 100644 index 00000000..3860e656 --- /dev/null +++ b/docs/models/LimitTypeDetails.md @@ -0,0 +1,14 @@ +# LimitTypeDetails + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**type** | [**LimitTypeEnum**](LimitTypeEnum.md) | | [default to undefined]| +|**price** | **string** | Limit price for the order | [default to undefined]| +|**timeInForce** | [**TimeInForce**](TimeInForce.md) | | [default to undefined]| + + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/LimitTypeEnum.md b/docs/models/LimitTypeEnum.md new file mode 100644 index 00000000..18a7040c --- /dev/null +++ b/docs/models/LimitTypeEnum.md @@ -0,0 +1,10 @@ +# LimitTypeEnum + +## Enum + + +* `Limit` (value: `'LIMIT'`) + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/Offer.md b/docs/models/Offer.md index 79f43d21..50d8ec72 100644 --- a/docs/models/Offer.md +++ b/docs/models/Offer.md @@ -13,7 +13,7 @@ |**baseAmount** | **string** | The amount of the base asset. | [default to undefined]| |**quoteAmount** | **string** | The amount of the quote asset. | [default to undefined]| |**side** | [**Side**](Side.md) | | [default to undefined]| -|**expiresAt** | **string** | The expiration time of the quote in ISO 8601 format. | [default to undefined]| +|**expiresAt** | **string** | The expiration time of the quote in ISO 8601 format, taken verbatim from the provider. This is not safety-margined by the server — integrators must apply their own margin if one is needed. | [default to undefined]| |**type** | **string** | The type of the quote. | [default to undefined]| |**baseAssetRail** | [**TransferRail**](TransferRail.md) | | [optional] [default to undefined]| |**quoteAssetRail** | [**TransferRail**](TransferRail.md) | | [optional] [default to undefined]| diff --git a/docs/models/OfferResponse.md b/docs/models/OfferResponse.md index 12d89b5e..28ebfdaa 100644 --- a/docs/models/OfferResponse.md +++ b/docs/models/OfferResponse.md @@ -11,7 +11,7 @@ ## Enum: OfferResponseDomainEnum -* `Transfers` (value: `'TRANSFERS'`) +* `Transfer` (value: `'TRANSFER'`) diff --git a/docs/models/OfferResponseAllocation.md b/docs/models/OfferResponseAllocation.md index c6412fd5..8b5d06ef 100644 --- a/docs/models/OfferResponseAllocation.md +++ b/docs/models/OfferResponseAllocation.md @@ -11,7 +11,7 @@ ## Enum: OfferResponseAllocationDomainEnum -* `Allocations` (value: `'ALLOCATIONS'`) +* `Allocation` (value: `'ALLOCATION'`) diff --git a/docs/models/OfferResponseTransfer.md b/docs/models/OfferResponseTransfer.md index cbafecc8..211c5b83 100644 --- a/docs/models/OfferResponseTransfer.md +++ b/docs/models/OfferResponseTransfer.md @@ -11,7 +11,7 @@ ## Enum: OfferResponseTransferDomainEnum -* `Transfers` (value: `'TRANSFERS'`) +* `Transfer` (value: `'TRANSFER'`) diff --git a/docs/models/OnboardingResponse.md b/docs/models/OnboardingResponse.md index b577d4b7..ddb1f424 100644 --- a/docs/models/OnboardingResponse.md +++ b/docs/models/OnboardingResponse.md @@ -4,7 +4,7 @@ |Name | Type | Description | Notes| |------------ | ------------- | ------------- | -------------| -|**responseType** | **string** | How you are answering the offer. Must be one of the values currently listed in the transaction\'s `additionalInfo.cantonDetails.offerResponse.availableResponses`. | [default to undefined]| +|**responseType** | **string** | How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. | [default to undefined]| |**reason** | **string** | Why the offer is being rejected. Recorded on-chain, where the counterparty can read it. | [default to undefined]| diff --git a/docs/models/OnboardingResponseDtccAccept.md b/docs/models/OnboardingResponseDtccAccept.md index 2d2aea60..e1954b38 100644 --- a/docs/models/OnboardingResponseDtccAccept.md +++ b/docs/models/OnboardingResponseDtccAccept.md @@ -4,7 +4,7 @@ |Name | Type | Description | Notes| |------------ | ------------- | ------------- | -------------| -|**responseType** | **string** | How you are answering the offer. Must be one of the values currently listed in the transaction\'s `additionalInfo.cantonDetails.offerResponse.availableResponses`. | [default to undefined]| +|**responseType** | **string** | How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. | [default to undefined]| ## Enum: OnboardingResponseDtccAcceptResponseTypeEnum diff --git a/docs/models/OnboardingResponseDtccReject.md b/docs/models/OnboardingResponseDtccReject.md index 2d79dd72..ea442b7c 100644 --- a/docs/models/OnboardingResponseDtccReject.md +++ b/docs/models/OnboardingResponseDtccReject.md @@ -4,7 +4,7 @@ |Name | Type | Description | Notes| |------------ | ------------- | ------------- | -------------| -|**responseType** | **string** | How you are answering the offer. Must be one of the values currently listed in the transaction\'s `additionalInfo.cantonDetails.offerResponse.availableResponses`. | [default to undefined]| +|**responseType** | **string** | How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. | [default to undefined]| |**reason** | **string** | Why the offer is being rejected. Recorded on-chain, where the counterparty can read it. | [default to undefined]| diff --git a/docs/models/OnboardingResponseTradewebAccept.md b/docs/models/OnboardingResponseTradewebAccept.md index 37b93d66..19d74775 100644 --- a/docs/models/OnboardingResponseTradewebAccept.md +++ b/docs/models/OnboardingResponseTradewebAccept.md @@ -4,7 +4,7 @@ |Name | Type | Description | Notes| |------------ | ------------- | ------------- | -------------| -|**responseType** | **string** | How you are answering the offer. Must be one of the values currently listed in the transaction\'s `additionalInfo.cantonDetails.offerResponse.availableResponses`. | [default to undefined]| +|**responseType** | **string** | How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. | [default to undefined]| ## Enum: OnboardingResponseTradewebAcceptResponseTypeEnum diff --git a/docs/models/OnboardingResponseTradewebReject.md b/docs/models/OnboardingResponseTradewebReject.md index cd330a63..a3ccbeaa 100644 --- a/docs/models/OnboardingResponseTradewebReject.md +++ b/docs/models/OnboardingResponseTradewebReject.md @@ -4,7 +4,7 @@ |Name | Type | Description | Notes| |------------ | ------------- | ------------- | -------------| -|**responseType** | **string** | How you are answering the offer. Must be one of the values currently listed in the transaction\'s `additionalInfo.cantonDetails.offerResponse.availableResponses`. | [default to undefined]| +|**responseType** | **string** | How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. | [default to undefined]| ## Enum: OnboardingResponseTradewebRejectResponseTypeEnum diff --git a/docs/models/ParticipantOnboardingPayload.md b/docs/models/ParticipantOnboardingPayload.md index 4212dfe9..bf983486 100644 --- a/docs/models/ParticipantOnboardingPayload.md +++ b/docs/models/ParticipantOnboardingPayload.md @@ -7,10 +7,10 @@ |**vaultAccountId** | **string** | The vault account that acts as the participant. Its Canton party is derived for you. | [default to undefined]| |**asset** | **string** | Chain asset — CANTON or CANTON_TEST. | [default to undefined]| |**operator** | **string** | DTCC infra operator party id. | [default to undefined]| -|**provider** | **string** | DTCC provider party id. | [default to undefined]| |**compliance** | **string** | DTCC compliance party id. | [default to undefined]| |**registrar** | **string** | DTCC registrar party id — co-signs the accept. | [default to undefined]| |**clientOnboarder** | **string** | DTCC client onboarder party id — co-signs the accept. | [default to undefined]| +|**upgrader** | **string** | DTCC upgrader party id — the Model Upgrade Tool authority. Supplied by DTCC during the off-chain registration, alongside the other party ids. | [default to undefined]| |**expiresAt** | **string** | When the onboarding request expires if it has not been answered. RFC 3339. | [optional] [default to undefined]| diff --git a/docs/models/WebhookMtls.md b/docs/models/PostTradeSettlement.md similarity index 67% rename from docs/models/WebhookMtls.md rename to docs/models/PostTradeSettlement.md index 9b3f638a..42858450 100644 --- a/docs/models/WebhookMtls.md +++ b/docs/models/PostTradeSettlement.md @@ -1,10 +1,10 @@ -# WebhookMtls +# PostTradeSettlement ## Properties |Name | Type | Description | Notes| |------------ | ------------- | ------------- | -------------| -|**clientSignedCert** | **string** | Signed client certificate PEM used for mTLS when delivering notifications. | [default to undefined]| +|**type** | [**PostTradeSettlementType**](PostTradeSettlementType.md) | | [default to undefined]| diff --git a/docs/models/PostTradeSettlementType.md b/docs/models/PostTradeSettlementType.md new file mode 100644 index 00000000..334d75ed --- /dev/null +++ b/docs/models/PostTradeSettlementType.md @@ -0,0 +1,10 @@ +# PostTradeSettlementType + +## Enum + + +* `PostTrade` (value: `'POST_TRADE'`) + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/Quote.md b/docs/models/Quote.md index adf6f4dd..89a93222 100644 --- a/docs/models/Quote.md +++ b/docs/models/Quote.md @@ -11,7 +11,7 @@ |**baseAmount** | **string** | The amount of the base asset. | [default to undefined]| |**quoteAmount** | **string** | The amount of the quote asset. | [default to undefined]| |**side** | [**Side**](Side.md) | | [default to undefined]| -|**expiresAt** | **string** | The expiration time of the quote in ISO 8601 format. | [default to undefined]| +|**expiresAt** | **string** | The expiration time of the quote in ISO 8601 format, taken verbatim from the provider. This is not safety-margined by the server — integrators must apply their own margin if one is needed. | [default to undefined]| |**type** | **string** | The type of the quote. | [default to undefined]| |**quoteAssetRail** | [**TransferRail**](TransferRail.md) | | [optional] [default to undefined]| |**baseAssetRail** | [**TransferRail**](TransferRail.md) | | [optional] [default to undefined]| diff --git a/docs/models/QuoteOffer.md b/docs/models/QuoteOffer.md index a931fa83..60d59ebd 100644 --- a/docs/models/QuoteOffer.md +++ b/docs/models/QuoteOffer.md @@ -11,7 +11,7 @@ |**baseAmount** | **string** | The amount of the base asset. | [default to undefined]| |**quoteAmount** | **string** | The amount of the quote asset. | [default to undefined]| |**side** | [**Side**](Side.md) | | [default to undefined]| -|**expiresAt** | **string** | The expiration time of the quote in ISO 8601 format. | [default to undefined]| +|**expiresAt** | **string** | The expiration time of the quote in ISO 8601 format, taken verbatim from the provider. This is not safety-margined by the server — integrators must apply their own margin if one is needed. | [default to undefined]| |**type** | **string** | The type of the quote. | [default to undefined]| |**offerType** | **string** | The type of offer — QUOTE for executable committed quotes. | [default to undefined]| |**quoteAssetRail** | [**TransferRail**](TransferRail.md) | | [optional] [default to undefined]| diff --git a/docs/models/RatesRequest.md b/docs/models/RatesRequest.md index 94e1d6e2..962837b4 100644 --- a/docs/models/RatesRequest.md +++ b/docs/models/RatesRequest.md @@ -7,6 +7,7 @@ |**scope** | [**Array<ScopeItem>**](ScopeItem.md) | One or more providers/accounts to request rates from. At least one scope item is required. | [default to undefined]| |**baseAssetId** | **string** | The source asset identifier. | [default to undefined]| |**quoteAssetId** | **string** | The target asset identifier. | [default to undefined]| +|**baseAmount** | **string** | The amount to convert from | [optional] [default to undefined]| diff --git a/docs/models/Settlement.md b/docs/models/Settlement.md index e497c149..b2ed6525 100644 --- a/docs/models/Settlement.md +++ b/docs/models/Settlement.md @@ -4,7 +4,7 @@ |Name | Type | Description | Notes| |------------ | ------------- | ------------- | -------------| -|**type** | [**DVPSettlementType**](DVPSettlementType.md) | | [default to undefined]| +|**type** | [**PostTradeSettlementType**](PostTradeSettlementType.md) | | [default to undefined]| |**destinationAccount** | [**AccountReference**](AccountReference.md) | | [default to undefined]| |**sourceAccount** | [**SettlementSourceAccount**](SettlementSourceAccount.md) | | [default to undefined]| diff --git a/docs/models/SettlementTypeEnum.md b/docs/models/SettlementTypeEnum.md index bb4e4b56..e25c21ef 100644 --- a/docs/models/SettlementTypeEnum.md +++ b/docs/models/SettlementTypeEnum.md @@ -7,6 +7,8 @@ * `Prefunded` (value: `'PREFUNDED'`) +* `PostTrade` (value: `'POST_TRADE'`) + [[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/TimeInForce.md b/docs/models/TimeInForce.md new file mode 100644 index 00000000..ee2129ec --- /dev/null +++ b/docs/models/TimeInForce.md @@ -0,0 +1,19 @@ +# TimeInForce + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**type** | **string** | Discriminator for the fill-or-kill time-in-force type. | [default to undefined]| + + +## Enum: TimeInForceTypeEnum + + +* `Fok` (value: `'FOK'`) + + + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/TransactionOperation.md b/docs/models/TransactionOperation.md index 3711d42e..230b0350 100644 --- a/docs/models/TransactionOperation.md +++ b/docs/models/TransactionOperation.md @@ -21,6 +21,8 @@ * `EnableAsset` (value: `'ENABLE_ASSET'`) +* `CantonCall` (value: `'CANTON_CALL'`) + [[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/TransactionResponse.md b/docs/models/TransactionResponse.md index cb53d729..ae8b3da0 100644 --- a/docs/models/TransactionResponse.md +++ b/docs/models/TransactionResponse.md @@ -28,6 +28,7 @@ |**feeInfo** | [**FeeInfo**](FeeInfo.md) | | [optional] [default to undefined]| |**feeCurrency** | **string** | The asset which was withdrawn to pay the transaction fee, for example ETH for EVM-based blockchains, BTC for Tether Omni. | [optional] [default to undefined]| |**requestedFeeCurrency** | **string** | The fee-paying asset requested at transaction creation via the `feeCurrency` field, if any. | [optional] [default to undefined]| +|**cantonDetails** | [**CantonDetails**](CantonDetails.md) | | [optional] [default to undefined]| |**networkRecords** | [**Array<NetworkRecord>**](NetworkRecord.md) | In case a single transaction resulted with multiple transfers, for example a result of a contract call, then this parameter specifies each transfer that took place on the blockchain. In case of a single transfer transaction, this parameter is empty. | [optional] [default to undefined]| |**createdAt** | **number** | The transaction’s creation date and time, in unix timestamp. | [optional] [default to undefined]| |**lastUpdated** | **number** | The transaction’s last update date and time, in unix timestamp. | [optional] [default to undefined]| diff --git a/docs/models/TravelRuleIssuers.md b/docs/models/TravelRuleIssuers.md index 2f082aae..787a4b37 100644 --- a/docs/models/TravelRuleIssuers.md +++ b/docs/models/TravelRuleIssuers.md @@ -6,9 +6,7 @@ |------------ | ------------- | ------------- | -------------| |**yearFounded** | [**TravelRuleIssuer**](TravelRuleIssuer.md) | | [default to undefined]| |**isRegulated** | [**TravelRuleIssuer**](TravelRuleIssuer.md) | | [default to undefined]| -|**regulatoryAuthorities** | [**TravelRuleIssuer**](TravelRuleIssuer.md) | | [default to undefined]| |**name** | [**TravelRuleIssuer**](TravelRuleIssuer.md) | | [default to undefined]| -|**logo** | [**TravelRuleIssuer**](TravelRuleIssuer.md) | | [default to undefined]| |**website** | [**TravelRuleIssuer**](TravelRuleIssuer.md) | | [default to undefined]| |**legalName** | [**TravelRuleIssuer**](TravelRuleIssuer.md) | | [default to undefined]| |**legalStructure** | [**TravelRuleIssuer**](TravelRuleIssuer.md) | | [default to undefined]| @@ -17,7 +15,9 @@ |**addressLine1** | [**TravelRuleIssuer**](TravelRuleIssuer.md) | | [default to undefined]| |**city** | [**TravelRuleIssuer**](TravelRuleIssuer.md) | | [default to undefined]| |**country** | [**TravelRuleIssuer**](TravelRuleIssuer.md) | | [default to undefined]| -|**description** | [**TravelRuleIssuer**](TravelRuleIssuer.md) | | [default to undefined]| +|**regulatoryAuthorities** | [**TravelRuleIssuer**](TravelRuleIssuer.md) | | [optional] [default to undefined]| +|**logo** | [**TravelRuleIssuer**](TravelRuleIssuer.md) | | [optional] [default to undefined]| +|**description** | [**TravelRuleIssuer**](TravelRuleIssuer.md) | | [optional] [default to undefined]| diff --git a/docs/models/UpdateWebhookMtlsConfigRequest.md b/docs/models/UpdateWebhookMtlsConfigRequest.md new file mode 100644 index 00000000..829557aa --- /dev/null +++ b/docs/models/UpdateWebhookMtlsConfigRequest.md @@ -0,0 +1,13 @@ +# UpdateWebhookMtlsConfigRequest + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**name** | **string** | A new label for this mTLS configuration, or `null` to remove it. Letters, digits and spaces only. | [optional] [default to undefined]| +|**signedCert** | **string** | A replacement signed certificate PEM. Every webhook and OAuth credentials set using this configuration switches to it, and the private key it was issued for is re-derived from the certificate. | [optional] [default to undefined]| + + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/UpdateWebhookOauthRequest.md b/docs/models/UpdateWebhookOauthRequest.md index d2c1ba24..9d886cd1 100644 --- a/docs/models/UpdateWebhookOauthRequest.md +++ b/docs/models/UpdateWebhookOauthRequest.md @@ -12,7 +12,7 @@ |**customJwtClaims** | [**WebhookOauthCustomJwtClaimsUpdate**](WebhookOauthCustomJwtClaimsUpdate.md) | | [optional] [default to undefined]| |**customBodyParams** | [**WebhookOauthCustomBodyParamsUpdate**](WebhookOauthCustomBodyParamsUpdate.md) | | [optional] [default to undefined]| |**customHeaders** | [**WebhookOauthCustomHeadersUpdate**](WebhookOauthCustomHeadersUpdate.md) | | [optional] [default to undefined]| -|**mtlsClientSignedCert** | **string** | PEM-encoded client certificate for mTLS. Must be a valid X.509 certificate inside its validity window. Omit to leave it unchanged, or send `null` to remove it. | [optional] [default to undefined]| +|**webhookMtlsId** | **string** | The id of the mTLS configuration presented to the token endpoint, from `/v1/webhooks_settings/mtls`. Omit to leave it unchanged, or send `null` to stop using mTLS for the token request. Requires the mTLS feature to be enabled for the workspace (`403` otherwise), a configuration of this workspace (`404` otherwise), and one linked to a private key (`400` otherwise). | [optional] [default to undefined]| diff --git a/docs/models/UpdateWebhookRequest.md b/docs/models/UpdateWebhookRequest.md index 52062e8d..76987cf4 100644 --- a/docs/models/UpdateWebhookRequest.md +++ b/docs/models/UpdateWebhookRequest.md @@ -8,7 +8,7 @@ |**description** | **string** | description of the webhook of what it is used for.should not contain special characters. | [optional] [default to undefined]| |**events** | [**Array<WebhookEvent>**](WebhookEvent.md) | The events that the webhook will be subscribed to | [optional] [default to undefined]| |**enabled** | **boolean** | The status of the webhook | [optional] [default to undefined]| -|**mtls** | [**WebhookMtls**](WebhookMtls.md) | | [optional] [default to undefined]| +|**webhookMtlsId** | **string** | The id of the mTLS configuration this webhook presents when delivering, from `/v1/webhooks_settings/mtls`. Several webhooks may share one configuration, so replacing its certificate covers all of them at once. Send `null` to stop using mTLS for this webhook. | [optional] [default to undefined]| |**webhookOauthId** | **string** | The id of the OAuth credentials this webhook authenticates with, from `/v1/webhooks_settings/oauth`. Several webhooks may share one credential set, so rotating its client secret covers all of them at once. Send `null` to stop using OAuth for this webhook. Cannot be combined with an `authorization` custom header on the same webhook; a request that would leave both set is rejected. | [optional] [default to undefined]| |**customHeaders** | [**WebhookCustomHeadersUpdate**](WebhookCustomHeadersUpdate.md) | | [optional] [default to undefined]| diff --git a/docs/models/UpsertUtxoSelectionConfigRequest.md b/docs/models/UpsertUtxoSelectionConfigRequest.md new file mode 100644 index 00000000..36bf02b6 --- /dev/null +++ b/docs/models/UpsertUtxoSelectionConfigRequest.md @@ -0,0 +1,12 @@ +# UpsertUtxoSelectionConfigRequest + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**strategy** | [**UtxoSelectionStrategyEnum**](UtxoSelectionStrategyEnum.md) | | [default to undefined]| + + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/UtxoIdentifier.md b/docs/models/UtxoIdentifier.md index 9af324a2..84379d69 100644 --- a/docs/models/UtxoIdentifier.md +++ b/docs/models/UtxoIdentifier.md @@ -5,7 +5,7 @@ |Name | Type | Description | Notes| |------------ | ------------- | ------------- | -------------| |**txId** | **string** | Fireblocks transaction ID | [optional] [default to undefined]| -|**txHash** | **string** | On-chain transaction hash | [optional] [default to undefined]| +|**txHash** | **string** | On-chain transaction hash, in lowercase hex as the chain reports it. Matched case-sensitively, so an uppercase hash is never found. | [optional] [default to undefined]| |**index** | **number** | Output index (vout) | [optional] [default to undefined]| diff --git a/docs/models/UtxoLabelFailure.md b/docs/models/UtxoLabelFailure.md new file mode 100644 index 00000000..0eef6ea2 --- /dev/null +++ b/docs/models/UtxoLabelFailure.md @@ -0,0 +1,34 @@ +# UtxoLabelFailure + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**identifier** | [**UtxoIdentifier**](UtxoIdentifier.md) | The identifier exactly as it was sent in the request. | [default to undefined]| +|**reason** | **string** | Why the identifier could not be labelled: - `NOT_FOUND` — no UTXO for it in this vault and asset. Retrying can work once it is indexed. - `NOT_LABELLABLE` — the UTXO exists but can no longer be labelled (spent, or removed; for a transaction ID, every output). Retrying will not help. | [default to undefined]| +|**utxoStatus** | **string** | The UTXO status behind the reason, when one explains it. With `NOT_FOUND`, `REMOVED` means the UTXO was removed within the last hour and may still reappear; if it does not, the same request returns `NOT_LABELLABLE` after about an hour. | [optional] [default to undefined]| + + +## Enum: UtxoLabelFailureReasonEnum + + +* `NotFound` (value: `'NOT_FOUND'`) + +* `NotLabellable` (value: `'NOT_LABELLABLE'`) + +* `UnusableIdentifier` (value: `'UNUSABLE_IDENTIFIER'`) + + + +## Enum: UtxoLabelFailureUtxoStatusEnum + + +* `Spent` (value: `'SPENT'`) + +* `Removed` (value: `'REMOVED'`) + + + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/UtxoLabelsErrorResponse.md b/docs/models/UtxoLabelsErrorResponse.md new file mode 100644 index 00000000..904c3321 --- /dev/null +++ b/docs/models/UtxoLabelsErrorResponse.md @@ -0,0 +1,13 @@ +# UtxoLabelsErrorResponse + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**message** | **string** | Summary of the rejection. When `failures` is present, it names the identifiers that blocked the request. | [default to undefined]| +|**failures** | [**Array<UtxoLabelFailure>**](UtxoLabelFailure.md) | Every identifier that blocked the request, each with its own reason. Identifiers not listed were valid; resend them without the failed ones. Absent when the request itself was invalid (e.g. a malformed label). | [optional] [default to undefined]| + + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/UtxoSelectionConfigEntry.md b/docs/models/UtxoSelectionConfigEntry.md new file mode 100644 index 00000000..befbf08a --- /dev/null +++ b/docs/models/UtxoSelectionConfigEntry.md @@ -0,0 +1,13 @@ +# UtxoSelectionConfigEntry + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**strategy** | [**UtxoSelectionStrategyEnum**](UtxoSelectionStrategyEnum.md) | | [default to undefined]| +|**updatedAt** | **string** | Time at which this configured row was last updated. | [default to undefined]| + + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/UtxoSelectionConfigResponse.md b/docs/models/UtxoSelectionConfigResponse.md new file mode 100644 index 00000000..590feed6 --- /dev/null +++ b/docs/models/UtxoSelectionConfigResponse.md @@ -0,0 +1,13 @@ +# UtxoSelectionConfigResponse + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**effective** | [**EffectiveUtxoSelectionConfig**](EffectiveUtxoSelectionConfig.md) | | [default to undefined]| +|**configured** | [**UtxoSelectionConfigEntry**](UtxoSelectionConfigEntry.md) | | [optional] [default to undefined]| + + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/UtxoSelectionConfigSourceEnum.md b/docs/models/UtxoSelectionConfigSourceEnum.md new file mode 100644 index 00000000..39c83d44 --- /dev/null +++ b/docs/models/UtxoSelectionConfigSourceEnum.md @@ -0,0 +1,14 @@ +# UtxoSelectionConfigSourceEnum + +## Enum + + +* `Default` (value: `'DEFAULT'`) + +* `Workspace` (value: `'WORKSPACE'`) + +* `VaultAsset` (value: `'VAULT_ASSET'`) + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/UtxoSelectionStrategyEnum.md b/docs/models/UtxoSelectionStrategyEnum.md new file mode 100644 index 00000000..00ce8cd7 --- /dev/null +++ b/docs/models/UtxoSelectionStrategyEnum.md @@ -0,0 +1,14 @@ +# UtxoSelectionStrategyEnum + +## Enum + + +* `Asc` (value: `'ASC'`) + +* `Desc` (value: `'DESC'`) + +* `Adaptive` (value: `'ADAPTIVE'`) + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/Webhook.md b/docs/models/Webhook.md index 0b0fd104..1fb8ec11 100644 --- a/docs/models/Webhook.md +++ b/docs/models/Webhook.md @@ -11,7 +11,7 @@ |**createdAt** | **number** | The date and time the webhook was created in milliseconds | [default to undefined]| |**updatedAt** | **number** | The date and time the webhook was last updated in milliseconds | [default to undefined]| |**description** | **string** | description of the webhook of what it is used for | [optional] [default to undefined]| -|**mtls** | [**WebhookMtls**](WebhookMtls.md) | | [optional] [default to undefined]| +|**webhookMtlsId** | **string** | The id of the mTLS configuration this webhook presents when delivering, from `/v1/webhooks_settings/mtls`. Absent when the webhook does not use mTLS. | [optional] [default to undefined]| |**webhookOauthId** | **string** | The id of the OAuth credentials this webhook authenticates with. Absent when the webhook does not use OAuth. Read the credentials themselves from `/v1/webhooks_settings/oauth/{webhookOauthId}`. | [optional] [default to undefined]| |**customHeaders** | [**WebhookCustomHeadersResponse**](WebhookCustomHeadersResponse.md) | | [optional] [default to undefined]| diff --git a/docs/models/WebhookMtlsConfig.md b/docs/models/WebhookMtlsConfig.md new file mode 100644 index 00000000..64402795 --- /dev/null +++ b/docs/models/WebhookMtlsConfig.md @@ -0,0 +1,17 @@ +# WebhookMtlsConfig + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**id** | **string** | The unique identifier of the mTLS configuration, to be set as `webhookMtlsId` on a webhook or on OAuth credentials. | [default to undefined]| +|**signedCert** | **string** | The signed client certificate PEM. | [default to undefined]| +|**expiresAt** | **number** | When the certificate itself expires, in milliseconds since the epoch. | [default to undefined]| +|**createdAt** | **number** | When the certificate was uploaded, in milliseconds since the epoch. | [default to undefined]| +|**updatedAt** | **number** | When this configuration was last changed, in milliseconds since the epoch. Differs from createdAt once the certificate has been replaced or the configuration renamed. | [default to undefined]| +|**name** | **string** | The label given to this mTLS configuration. | [optional] [default to undefined]| + + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/WebhookMtlsConfigsList.md b/docs/models/WebhookMtlsConfigsList.md new file mode 100644 index 00000000..24ed6614 --- /dev/null +++ b/docs/models/WebhookMtlsConfigsList.md @@ -0,0 +1,11 @@ +# WebhookMtlsConfigsList + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| + + + + +[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md) diff --git a/docs/models/WebhookOauthCredentials.md b/docs/models/WebhookOauthCredentials.md index 101825d3..e4791e95 100644 --- a/docs/models/WebhookOauthCredentials.md +++ b/docs/models/WebhookOauthCredentials.md @@ -14,7 +14,7 @@ |**customJwtClaims** | **Array<string>** | Names of the additional claims placed in the JWT assertion. Claim values are write-only and are never returned. Absent when no custom claims are configured. | [optional] [default to undefined]| |**customBodyParams** | **Array<string>** | Names of the additional parameters added to the token request body. Parameter values are write-only and are never returned. Absent when no custom parameters are configured. | [optional] [default to undefined]| |**customHeaders** | **Array<string>** | Names of the additional HTTP headers added to **the token request sent to the authorization server** — not to the webhook delivery, which has its own separate `customHeaders`. Header values are write-only and are never returned. Absent when no custom headers are configured. | [optional] [default to undefined]| -|**mtlsClientSignedCert** | **string** | PEM-encoded client certificate used for mTLS when fetching OAuth tokens. | [optional] [default to undefined]| +|**webhookMtlsId** | **string** | The id of the mTLS configuration presented to the token endpoint. Absent when the token request does not use mTLS. Read the certificate from `/v1/webhooks_settings/mtls/{id}`. | [optional] [default to undefined]| diff --git a/models/address-registry-create-proof-of-ownership-request.ts b/models/address-registry-create-proof-of-ownership-request.ts new file mode 100644 index 00000000..013f7a71 --- /dev/null +++ b/models/address-registry-create-proof-of-ownership-request.ts @@ -0,0 +1,30 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + + +/** + * Request body for creating an Address Registry Proof of Ownership PDF export. + * @export + * @interface AddressRegistryCreateProofOfOwnershipRequest + */ +export interface AddressRegistryCreateProofOfOwnershipRequest { + /** + * Blockchain address to prove ownership for (must resolve to the caller\'s workspace). Same format expectations as the `address` path parameter on `GET /v1/address_registry/legal_entities/{address}`. + * @type {string} + * @memberof AddressRegistryCreateProofOfOwnershipRequest + */ + 'address': string; +} + diff --git a/models/address-registry-create-proof-of-ownership-response.ts b/models/address-registry-create-proof-of-ownership-response.ts new file mode 100644 index 00000000..faeb66e5 --- /dev/null +++ b/models/address-registry-create-proof-of-ownership-response.ts @@ -0,0 +1,48 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + + +/** + * Address Registry Proof of Ownership PDF export, created successfully. + * @export + * @interface AddressRegistryCreateProofOfOwnershipResponse + */ +export interface AddressRegistryCreateProofOfOwnershipResponse { + /** + * Base64-encoded Proof of Ownership PDF bytes. Fireblocks does not store the PDF: save it immediately, there is no re-download route. + * @type {string} + * @memberof AddressRegistryCreateProofOfOwnershipResponse + */ + 'pdf': string; + /** + * Stable id of the online-verifiable export record. + * @type {string} + * @memberof AddressRegistryCreateProofOfOwnershipResponse + */ + 'exportId': string; + /** + * Verification hash bound to the export (also printed on the PDF). + * @type {string} + * @memberof AddressRegistryCreateProofOfOwnershipResponse + */ + 'verificationHash': string; + /** + * Inclusive last UTC calendar day online verification is available (`YYYY-MM-DD`). + * @type {string} + * @memberof AddressRegistryCreateProofOfOwnershipResponse + */ + 'expiresAt': string; +} + diff --git a/models/address-registry-legal-entity.ts b/models/address-registry-legal-entity.ts index 7294eafa..8da52308 100644 --- a/models/address-registry-legal-entity.ts +++ b/models/address-registry-legal-entity.ts @@ -13,9 +13,6 @@ */ -// May contain unused imports in some cases -// @ts-ignore -import { AddressRegistryTravelRuleProvider } from './address-registry-travel-rule-provider'; /** * Legal entity details for a blockchain address. @@ -49,15 +46,21 @@ export interface AddressRegistryLegalEntity { 'lei': string; /** * - * @type {Array} + * @type {Array} * @memberof AddressRegistryLegalEntity */ - 'travelRuleProviders': Array; + 'travelRuleProviders': Array; /** * Travel Rule contact email when available. * @type {string} * @memberof AddressRegistryLegalEntity */ 'email': string; + /** + * Whether the caller can currently create a Proof of Ownership PDF for this address (`POST /v1/address_registry/proof_of_ownership_exports`). + * @type {boolean} + * @memberof AddressRegistryLegalEntity + */ + 'proofOfOwnershipAvailable': boolean; } diff --git a/models/address-registry-verify-proof-of-ownership-request.ts b/models/address-registry-verify-proof-of-ownership-request.ts new file mode 100644 index 00000000..21435a72 --- /dev/null +++ b/models/address-registry-verify-proof-of-ownership-request.ts @@ -0,0 +1,48 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + + +/** + * Request body for verifying an Address Registry Proof of Ownership export. + * @export + * @interface AddressRegistryVerifyProofOfOwnershipRequest + */ +export interface AddressRegistryVerifyProofOfOwnershipRequest { + /** + * Export id from create / the PDF. + * @type {string} + * @memberof AddressRegistryVerifyProofOfOwnershipRequest + */ + 'exportId': string; + /** + * Verification hash from create / the PDF (exact match required). + * @type {string} + * @memberof AddressRegistryVerifyProofOfOwnershipRequest + */ + 'verificationHash': string; + /** + * Address from the PDF (exact UTF-8 match to the stored export). + * @type {string} + * @memberof AddressRegistryVerifyProofOfOwnershipRequest + */ + 'address': string; + /** + * Optional but recommended: the PDF\'s \"Online verification available until\" date (`YYYY-MM-DD`), which speeds up the lookup. A wrong value yields `valid: false` even if the export exists — copy it exactly from the PDF, or omit it. + * @type {string} + * @memberof AddressRegistryVerifyProofOfOwnershipRequest + */ + 'expiresAt'?: string; +} + diff --git a/models/address-registry-verify-proof-of-ownership-response.ts b/models/address-registry-verify-proof-of-ownership-response.ts new file mode 100644 index 00000000..22905862 --- /dev/null +++ b/models/address-registry-verify-proof-of-ownership-response.ts @@ -0,0 +1,36 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + + +/** + * Online verification result. Authenticated calls always return HTTP 200 with this body (`valid: true` or `valid: false`); unknown/expired exports do not use 404. + * @export + * @interface AddressRegistryVerifyProofOfOwnershipResponse + */ +export interface AddressRegistryVerifyProofOfOwnershipResponse { + /** + * Whether the stored export matches the supplied verification hash and address within retention. + * @type {boolean} + * @memberof AddressRegistryVerifyProofOfOwnershipResponse + */ + 'valid': boolean; + /** + * Inclusive last UTC calendar day (`YYYY-MM-DD`) when `valid` is true; empty string when `valid` is false. + * @type {string} + * @memberof AddressRegistryVerifyProofOfOwnershipResponse + */ + 'expiresAt': string; +} + diff --git a/models/allocation-withdraw-payload.ts b/models/allocation-withdraw-payload.ts index e0ccb860..935633c2 100644 --- a/models/allocation-withdraw-payload.ts +++ b/models/allocation-withdraw-payload.ts @@ -20,18 +20,6 @@ * @interface AllocationWithdrawPayload */ export interface AllocationWithdrawPayload { - /** - * The vault account whose Canton wallet acts here. - * @type {string} - * @memberof AllocationWithdrawPayload - */ - 'vaultAccountId': string; - /** - * Chain asset — `CANTON` or `CANTON_TEST`. - * @type {string} - * @memberof AllocationWithdrawPayload - */ - 'asset': AllocationWithdrawPayloadAssetEnum; /** * The Fireblocks transaction id of the outgoing response that created the allocation. The allocation is resolved from it — Canton contract ids are never accepted here. * @type {string} @@ -40,11 +28,3 @@ export interface AllocationWithdrawPayload { 'allocationTransactionId': string; } -export const AllocationWithdrawPayloadAssetEnum = { - Canton: 'CANTON', - CantonTest: 'CANTON_TEST' -} as const; - -export type AllocationWithdrawPayloadAssetEnum = typeof AllocationWithdrawPayloadAssetEnum[keyof typeof AllocationWithdrawPayloadAssetEnum]; - - diff --git a/models/canton-call-details.ts b/models/canton-call-details.ts new file mode 100644 index 00000000..c959bda0 --- /dev/null +++ b/models/canton-call-details.ts @@ -0,0 +1,62 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import { CantonDomainEnum } from './canton-domain-enum'; +// May contain unused imports in some cases +// @ts-ignore +import { CantonVendorEnum } from './canton-vendor-enum'; + +/** + * A call made through the Canton calls endpoint. Written once and never changed. + * @export + * @interface CantonCallDetails + */ +export interface CantonCallDetails { + /** + * The shape of this block. Stamped at creation and never changed, so a reader always knows which version it is holding. + * @type {number} + * @memberof CantonCallDetails + */ + 'version'?: number; + /** + * + * @type {CantonDomainEnum} + * @memberof CantonCallDetails + */ + 'domain'?: CantonDomainEnum; + /** + * The call type, matching the `type` sent when the call was created. + * @type {string} + * @memberof CantonCallDetails + */ + 'type'?: string; + /** + * + * @type {CantonVendorEnum} + * @memberof CantonCallDetails + */ + 'vendor'?: CantonVendorEnum; + /** + * The transaction this call acts on. On a withdraw it is the allocation that was withdrawn, so the withdraw transaction read on its own still says what it withdrew. + * @type {string} + * @memberof CantonCallDetails + */ + 'originalTransactionId'?: string; +} + + + diff --git a/models/canton-details.ts b/models/canton-details.ts new file mode 100644 index 00000000..fb1c08c9 --- /dev/null +++ b/models/canton-details.ts @@ -0,0 +1,51 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import { CantonCallDetails } from './canton-call-details'; +// May contain unused imports in some cases +// @ts-ignore +import { CantonOfferResponseDetails } from './canton-offer-response-details'; +// May contain unused imports in some cases +// @ts-ignore +import { CantonSettlementDetails } from './canton-settlement-details'; + +/** + * Canton transaction context. Present on transactions that belong to a Canton flow, and the authoritative signal that a transaction IS one — do not branch on `operation`, which is `CANTON_CALL` for customer-initiated calls but `TRANSFER` for an incoming Canton transfer offer. **No `cantonDetails` at all means the transaction is not a Canton item.** The service sets exactly one of `offerResponse`, `call` or `settlement`. That is a guarantee about what is sent, NOT a constraint this schema enforces: the three are declared as independent optional properties on purpose, so that a response carrying a block a client does not yet know about — or a row written before a block type existed — still validates. Response schemas here stay additive. Read the block you recognise; do not reject a payload for the shape of the others. Every block carries `version`, stamped when the transaction is created and never changed — a transaction written today keeps its shape, so `version` is how you know which shape you are reading. + * @export + * @interface CantonDetails + */ +export interface CantonDetails { + /** + * + * @type {CantonOfferResponseDetails} + * @memberof CantonDetails + */ + 'offerResponse'?: CantonOfferResponseDetails; + /** + * + * @type {CantonCallDetails} + * @memberof CantonDetails + */ + 'call'?: CantonCallDetails; + /** + * + * @type {CantonSettlementDetails} + * @memberof CantonDetails + */ + 'settlement'?: CantonSettlementDetails; +} + diff --git a/models/address-registry-travel-rule-provider.ts b/models/canton-domain-enum.ts similarity index 62% rename from models/address-registry-travel-rule-provider.ts rename to models/canton-domain-enum.ts index 4c0170af..892f3671 100644 --- a/models/address-registry-travel-rule-provider.ts +++ b/models/canton-domain-enum.ts @@ -15,19 +15,18 @@ /** - * Travel Rule provider identifier (string enum value). + * The Canton domain a transaction belongs to. Singular, and it matches the prefix of the `type` / `responseType` values in the same domain character for character. * @export * @enum {string} */ -export const AddressRegistryTravelRuleProvider = { - Notabene: 'TRAVEL_RULE_PROVIDER_NOTABENE', - Sygna: 'TRAVEL_RULE_PROVIDER_SYGNA', - Trisa: 'TRAVEL_RULE_PROVIDER_TRISA', - Openvasp: 'TRAVEL_RULE_PROVIDER_OPENVASP' +export const CantonDomainEnum = { + Onboarding: 'ONBOARDING', + Allocation: 'ALLOCATION', + Transfer: 'TRANSFER' } as const; -export type AddressRegistryTravelRuleProvider = typeof AddressRegistryTravelRuleProvider[keyof typeof AddressRegistryTravelRuleProvider]; +export type CantonDomainEnum = typeof CantonDomainEnum[keyof typeof CantonDomainEnum]; diff --git a/models/canton-offer-response-details.ts b/models/canton-offer-response-details.ts new file mode 100644 index 00000000..17e87481 --- /dev/null +++ b/models/canton-offer-response-details.ts @@ -0,0 +1,86 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import { CantonDomainEnum } from './canton-domain-enum'; +// May contain unused imports in some cases +// @ts-ignore +import { CantonVendorEnum } from './canton-vendor-enum'; + +/** + * The transaction belongs to an offer conversation: the offer itself, the response to it, or a leg that carries no answer of its own. The only block that changes over a transaction\'s lifetime. + * @export + * @interface CantonOfferResponseDetails + */ +export interface CantonOfferResponseDetails { + /** + * The shape of this block. Stamped at creation and never changed, so a reader always knows which version it is holding. + * @type {number} + * @memberof CantonOfferResponseDetails + */ + 'version'?: number; + /** + * + * @type {CantonDomainEnum} + * @memberof CantonOfferResponseDetails + */ + 'domain'?: CantonDomainEnum; + /** + * + * @type {CantonVendorEnum} + * @memberof CantonOfferResponseDetails + */ + 'vendor'?: CantonVendorEnum; + /** + * The responses that can be sent for this offer right now. An empty array means nothing is answerable on this transaction — which is the difference between an actionable offer and a linked leg that shares its sub-status. + * @type {Array} + * @memberof CantonOfferResponseDetails + */ + 'availableResponses'?: Array; + /** + * When the offer expires, where it has a deadline. + * @type {string} + * @memberof CantonOfferResponseDetails + */ + 'expiresAt'?: string; + /** + * The response transaction, once one has been dispatched for this offer. + * @type {string} + * @memberof CantonOfferResponseDetails + */ + 'approvalTransactionId'?: string; + /** + * The transaction this one relates to — the offer a response answered. + * @type {string} + * @memberof CantonOfferResponseDetails + */ + 'originalTransactionId'?: string; + /** + * The outcome, set once the transaction reaches a terminal status. + * @type {string} + * @memberof CantonOfferResponseDetails + */ + 'verdict'?: CantonOfferResponseDetailsVerdictEnum; +} + +export const CantonOfferResponseDetailsVerdictEnum = { + Accepted: 'ACCEPTED', + Rejected: 'REJECTED' +} as const; + +export type CantonOfferResponseDetailsVerdictEnum = typeof CantonOfferResponseDetailsVerdictEnum[keyof typeof CantonOfferResponseDetailsVerdictEnum]; + + diff --git a/models/canton-settlement-details.ts b/models/canton-settlement-details.ts new file mode 100644 index 00000000..03d031ad --- /dev/null +++ b/models/canton-settlement-details.ts @@ -0,0 +1,53 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import { CantonDomainEnum } from './canton-domain-enum'; + +/** + * The credit side of a delivery-versus-payment: a venue settled an allocation. Written once, at creation — the transaction is already complete when it appears. + * @export + * @interface CantonSettlementDetails + */ +export interface CantonSettlementDetails { + /** + * The shape of this block. Stamped at creation and never changed, so a reader always knows which version it is holding. + * @type {number} + * @memberof CantonSettlementDetails + */ + 'version'?: number; + /** + * + * @type {CantonDomainEnum} + * @memberof CantonSettlementDetails + */ + 'domain'?: CantonDomainEnum; + /** + * The settlement type. + * @type {string} + * @memberof CantonSettlementDetails + */ + 'type'?: string; + /** + * The allocation this receipt settles. + * @type {string} + * @memberof CantonSettlementDetails + */ + 'originalTransactionId'?: string; +} + + + diff --git a/models/canton-vendor-enum.ts b/models/canton-vendor-enum.ts new file mode 100644 index 00000000..e108844f --- /dev/null +++ b/models/canton-vendor-enum.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + + +/** + * The vendor whose flow this is. Present only where the flow is vendor-specific — absent on vendor-neutral Splice operations such as allocation withdraw. + * @export + * @enum {string} + */ + +export const CantonVendorEnum = { + Dtcc: 'DTCC', + Tradeweb: 'TRADEWEB' +} as const; + +export type CantonVendorEnum = typeof CantonVendorEnum[keyof typeof CantonVendorEnum]; + + + diff --git a/models/address-registry-error.ts b/models/create-webhook-mtls-config-request.ts similarity index 52% rename from models/address-registry-error.ts rename to models/create-webhook-mtls-config-request.ts index 9ff5af4d..7131fb46 100644 --- a/models/address-registry-error.ts +++ b/models/create-webhook-mtls-config-request.ts @@ -15,22 +15,22 @@ /** - * Error body for address registry operations (4xx and 5xx). + * * @export - * @interface AddressRegistryError + * @interface CreateWebhookMtlsConfigRequest */ -export interface AddressRegistryError { +export interface CreateWebhookMtlsConfigRequest { /** - * Human-readable error message + * Signed client certificate PEM, issued for the CSR from `GET /v1/webhooks_settings/mtls_csr`. The private key it belongs to is derived from the certificate itself. * @type {string} - * @memberof AddressRegistryError + * @memberof CreateWebhookMtlsConfigRequest */ - 'message': string; + 'signedCert': string; /** - * Application error code when present. For HTTP 400 on legal-entity lookup, distinguish: 4100 — request validation (e.g. missing, empty, or whitespace-only `address` after trim); 2140 — workspace not opted in to the address registry (`AR_OPT_IN_REQUIRED`). 2142 — not found (404). Other codes may appear, including on server errors. - * @type {number} - * @memberof AddressRegistryError + * A label for this mTLS configuration, to tell several certificates apart. Letters, digits and spaces only. + * @type {string} + * @memberof CreateWebhookMtlsConfigRequest */ - 'code'?: number; + 'name'?: string; } diff --git a/models/create-webhook-oauth-request.ts b/models/create-webhook-oauth-request.ts index 6303de74..0194f0a9 100644 --- a/models/create-webhook-oauth-request.ts +++ b/models/create-webhook-oauth-request.ts @@ -78,10 +78,10 @@ export interface CreateWebhookOauthRequest { */ 'customHeaders'?: WebhookOauthCustomHeaders | null; /** - * PEM-encoded client certificate for mTLS when fetching tokens. Must be a valid X.509 certificate inside its validity window. + * The id of the mTLS configuration presented to the token endpoint, from `/v1/webhooks_settings/mtls`. It can be the same configuration a webhook uses, so one certificate, signed from `GET /v1/webhooks_settings/mtls_csr`, serves both the token endpoint and the receiver. Omit, or send `null`, for a token request without mTLS. Requires the mTLS feature to be enabled for the workspace (`403` otherwise), a configuration of this workspace (`404` otherwise), and one linked to a private key (`400` otherwise). * @type {string} * @memberof CreateWebhookOauthRequest */ - 'mtlsClientSignedCert'?: string; + 'webhookMtlsId'?: string | null; } diff --git a/models/create-webhook-request.ts b/models/create-webhook-request.ts index aecded97..2cba0014 100644 --- a/models/create-webhook-request.ts +++ b/models/create-webhook-request.ts @@ -19,9 +19,6 @@ import { WebhookCustomHeaders } from './webhook-custom-headers'; // May contain unused imports in some cases // @ts-ignore import { WebhookEvent } from './webhook-event'; -// May contain unused imports in some cases -// @ts-ignore -import { WebhookMtls } from './webhook-mtls'; /** * @@ -54,11 +51,11 @@ export interface CreateWebhookRequest { */ 'enabled'?: boolean; /** - * - * @type {WebhookMtls} + * The id of the mTLS configuration this webhook presents when delivering, from `/v1/webhooks_settings/mtls`. Several webhooks may share one configuration, so replacing its certificate covers all of them at once. Send `null` to stop using mTLS for this webhook. + * @type {string} * @memberof CreateWebhookRequest */ - 'mtls'?: WebhookMtls | null; + 'webhookMtlsId'?: string | null; /** * The id of the OAuth credentials this webhook authenticates with, from `/v1/webhooks_settings/oauth`. Several webhooks may share one credential set, so rotating its client secret covers all of them at once. Send `null` to stop using OAuth for this webhook. Cannot be combined with an `authorization` custom header on the same webhook; a request that would leave both set is rejected. * @type {string} diff --git a/models/delete-webhook-mtls-config-response.ts b/models/delete-webhook-mtls-config-response.ts new file mode 100644 index 00000000..03e17f40 --- /dev/null +++ b/models/delete-webhook-mtls-config-response.ts @@ -0,0 +1,27 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import { WebhookMtlsConfig } from './webhook-mtls-config'; + +/** + * @type DeleteWebhookMtlsConfigResponse + * The deleted mTLS configuration, plus the ids of any webhooks and OAuth credentials the delete detached from it. They are only detached by `forceDelete=true`; without it a delete is refused with `409` while anything still references the configuration. + * @export + */ +export type DeleteWebhookMtlsConfigResponse = WebhookMtlsConfig; + + diff --git a/models/effective-utxo-selection-config.ts b/models/effective-utxo-selection-config.ts new file mode 100644 index 00000000..44dc9b40 --- /dev/null +++ b/models/effective-utxo-selection-config.ts @@ -0,0 +1,44 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import { UtxoSelectionConfigSourceEnum } from './utxo-selection-config-source-enum'; +// May contain unused imports in some cases +// @ts-ignore +import { UtxoSelectionStrategyEnum } from './utxo-selection-strategy-enum'; + +/** + * + * @export + * @interface EffectiveUtxoSelectionConfig + */ +export interface EffectiveUtxoSelectionConfig { + /** + * + * @type {UtxoSelectionStrategyEnum} + * @memberof EffectiveUtxoSelectionConfig + */ + 'strategy': UtxoSelectionStrategyEnum; + /** + * + * @type {UtxoSelectionConfigSourceEnum} + * @memberof EffectiveUtxoSelectionConfig + */ + 'source': UtxoSelectionConfigSourceEnum; +} + + + diff --git a/models/execution-request-details-type.ts b/models/execution-request-details-type.ts index 6c649198..44bc07f6 100644 --- a/models/execution-request-details-type.ts +++ b/models/execution-request-details-type.ts @@ -22,7 +22,8 @@ export const ExecutionRequestDetailsType = { Quote: 'QUOTE', - Market: 'MARKET' + Market: 'MARKET', + Limit: 'LIMIT' } as const; export type ExecutionRequestDetailsType = typeof ExecutionRequestDetailsType[keyof typeof ExecutionRequestDetailsType]; diff --git a/models/execution-request-details.ts b/models/execution-request-details.ts index 677e6d67..a1caf747 100644 --- a/models/execution-request-details.ts +++ b/models/execution-request-details.ts @@ -15,10 +15,13 @@ // May contain unused imports in some cases // @ts-ignore -import { MarketExecutionRequestDetails } from './market-execution-request-details'; +import { LimitExecutionRequestDetails } from './limit-execution-request-details'; +// May contain unused imports in some cases +// @ts-ignore +import { LimitTypeEnum } from './limit-type-enum'; // May contain unused imports in some cases // @ts-ignore -import { QuoteExecutionTypeEnum } from './quote-execution-type-enum'; +import { MarketExecutionRequestDetails } from './market-execution-request-details'; // May contain unused imports in some cases // @ts-ignore import { QuoteExecutionWithRequoteRequestDetails } from './quote-execution-with-requote-request-details'; @@ -30,6 +33,9 @@ import { ReQuoteDetailsReQuote } from './re-quote-details-re-quote'; import { Side } from './side'; // May contain unused imports in some cases // @ts-ignore +import { TimeInForce } from './time-in-force'; +// May contain unused imports in some cases +// @ts-ignore import { TransferRail } from './transfer-rail'; /** @@ -37,6 +43,6 @@ import { TransferRail } from './transfer-rail'; * Order execution details * @export */ -export type ExecutionRequestDetails = { type: 'MARKET' } & MarketExecutionRequestDetails | { type: 'QUOTE' } & QuoteExecutionWithRequoteRequestDetails; +export type ExecutionRequestDetails = { type: 'LIMIT' } & LimitExecutionRequestDetails | { type: 'MARKET' } & MarketExecutionRequestDetails | { type: 'QUOTE' } & QuoteExecutionWithRequoteRequestDetails; diff --git a/models/execution-response-details.ts b/models/execution-response-details.ts index dab74ed2..e4c72d67 100644 --- a/models/execution-response-details.ts +++ b/models/execution-response-details.ts @@ -15,10 +15,13 @@ // May contain unused imports in some cases // @ts-ignore -import { MarketExecutionResponseDetails } from './market-execution-response-details'; +import { LimitExecutionResponseDetails } from './limit-execution-response-details'; +// May contain unused imports in some cases +// @ts-ignore +import { LimitTypeEnum } from './limit-type-enum'; // May contain unused imports in some cases // @ts-ignore -import { QuoteExecutionTypeEnum } from './quote-execution-type-enum'; +import { MarketExecutionResponseDetails } from './market-execution-response-details'; // May contain unused imports in some cases // @ts-ignore import { QuoteExecutionWithRequoteResponseDetails } from './quote-execution-with-requote-response-details'; @@ -30,12 +33,15 @@ import { ReQuoteDetailsReQuote } from './re-quote-details-re-quote'; import { Side } from './side'; // May contain unused imports in some cases // @ts-ignore +import { TimeInForce } from './time-in-force'; +// May contain unused imports in some cases +// @ts-ignore import { TransferRail } from './transfer-rail'; /** * @type ExecutionResponseDetails * @export */ -export type ExecutionResponseDetails = { type: 'MARKET' } & MarketExecutionResponseDetails | { type: 'QUOTE' } & QuoteExecutionWithRequoteResponseDetails; +export type ExecutionResponseDetails = { type: 'LIMIT' } & LimitExecutionResponseDetails | { type: 'MARKET' } & MarketExecutionResponseDetails | { type: 'QUOTE' } & QuoteExecutionWithRequoteResponseDetails; diff --git a/models/failure-reason.ts b/models/failure-reason.ts index 0fe055cb..7984c575 100644 --- a/models/failure-reason.ts +++ b/models/failure-reason.ts @@ -49,7 +49,12 @@ export const FailureReason = { UnsupportedRegion: 'UNSUPPORTED_REGION', DestinationNotWhitelisted: 'DESTINATION_NOT_WHITELISTED', MissingDestinationDetails: 'MISSING_DESTINATION_DETAILS', - MissingWorkspaceDetails: 'MISSING_WORKSPACE_DETAILS' + MissingWorkspaceDetails: 'MISSING_WORKSPACE_DETAILS', + CreditLimitExceeded: 'CREDIT_LIMIT_EXCEEDED', + QuoteExpired: 'QUOTE_EXPIRED', + DeskRejected: 'DESK_REJECTED', + RequoteWorsePrice: 'REQUOTE_WORSE_PRICE', + FokKilled: 'FOK_KILLED' } as const; export type FailureReason = typeof FailureReason[keyof typeof FailureReason]; diff --git a/models/fok-time-in-force.ts b/models/fok-time-in-force.ts new file mode 100644 index 00000000..f1346d78 --- /dev/null +++ b/models/fok-time-in-force.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + + +/** + * Fill-or-kill - the order must be filled in full at the limit price immediately, or not at all. + * @export + * @interface FokTimeInForce + */ +export interface FokTimeInForce { + /** + * Discriminator for the fill-or-kill time-in-force type. + * @type {string} + * @memberof FokTimeInForce + */ + 'type': FokTimeInForceTypeEnum; +} + +export const FokTimeInForceTypeEnum = { + Fok: 'FOK' +} as const; + +export type FokTimeInForceTypeEnum = typeof FokTimeInForceTypeEnum[keyof typeof FokTimeInForceTypeEnum]; + + diff --git a/models/index.ts b/models/index.ts index 0265018e..89f658da 100644 --- a/models/index.ts +++ b/models/index.ts @@ -52,16 +52,18 @@ export * from './address-not-available-error'; export * from './address-registry-add-vault-opt-outs-request'; export * from './address-registry-add-vault-opt-outs-request-vault-account-ids-inner'; export * from './address-registry-add-vault-opt-outs-response'; -export * from './address-registry-error'; +export * from './address-registry-create-proof-of-ownership-request'; +export * from './address-registry-create-proof-of-ownership-response'; export * from './address-registry-get-vault-opt-out-response'; export * from './address-registry-legal-entity'; export * from './address-registry-list-vault-opt-outs-response'; export * from './address-registry-remove-all-vault-opt-outs-response'; export * from './address-registry-remove-vault-opt-out-response'; export * from './address-registry-tenant-registry-response'; -export * from './address-registry-travel-rule-provider'; export * from './address-registry-vault-list-order'; export * from './address-registry-vault-opt-out-item'; +export * from './address-registry-verify-proof-of-ownership-request'; +export * from './address-registry-verify-proof-of-ownership-response'; export * from './address-reverse-lookup-response'; export * from './addresses-filters'; export * from './alert-exposure-type-enum'; @@ -191,11 +193,17 @@ export * from './canton-call'; export * from './canton-call-allocation-withdraw'; export * from './canton-call-allow-list-add'; export * from './canton-call-allow-list-remove'; +export * from './canton-call-details'; export * from './canton-call-end-investor-invite'; export * from './canton-call-end-investor-invite-cancel'; export * from './canton-call-end-investor-offboard'; export * from './canton-call-participant-onboarding'; export * from './canton-call-transfer-withdraw'; +export * from './canton-details'; +export * from './canton-domain-enum'; +export * from './canton-offer-response-details'; +export * from './canton-settlement-details'; +export * from './canton-vendor-enum'; export * from './chain-descriptor'; export * from './chain-info-response'; export * from './channel-dvn-config-with-confirmations'; @@ -344,6 +352,7 @@ export * from './create-vault-account-connection-request'; export * from './create-vault-account-request'; export * from './create-vault-asset-response'; export * from './create-wallet-request'; +export * from './create-webhook-mtls-config-request'; export * from './create-webhook-oauth-request'; export * from './create-webhook-request'; export * from './create-workflow-execution-request-params-inner'; @@ -358,6 +367,7 @@ export * from './delegation-blockchain-position-info'; export * from './delegation-summary'; export * from './delete-network-connection-response'; export * from './delete-network-id-response'; +export * from './delete-webhook-mtls-config-response'; export * from './delete-webhook-oauth-response'; export * from './deploy-layer-zero-adapters-request'; export * from './deploy-layer-zero-adapters-response'; @@ -406,6 +416,7 @@ export * from './earn-curator'; export * from './earn-metadata'; export * from './earn-provider'; export * from './edit-gas-station-configuration-response'; +export * from './effective-utxo-selection-config'; export * from './embedded-wallet'; export * from './embedded-wallet-account'; export * from './embedded-wallet-address-details'; @@ -485,6 +496,7 @@ export * from './finding-info'; export * from './fixed-amount-type-enum'; export * from './fixed-fee'; export * from './flow-direction'; +export * from './fok-time-in-force'; export * from './fps-hk-address'; export * from './fps-hk-destination'; export * from './fps-hk-payment-info'; @@ -618,6 +630,10 @@ export * from './legacy-src-or-dest-attributes'; export * from './legacy-src-or-dest-attributes-inner'; export * from './legal-entity-registration'; export * from './lei-status'; +export * from './limit-execution-request-details'; +export * from './limit-execution-response-details'; +export * from './limit-type-details'; +export * from './limit-type-enum'; export * from './linked-tokens-count'; export * from './list-approval-api-keys-response'; export * from './list-approvals-response'; @@ -783,6 +799,8 @@ export * from './policy-verdict-action-enum2'; export * from './position'; export * from './position2'; export * from './position-related-transaction'; +export * from './post-trade-settlement'; +export * from './post-trade-settlement-type'; export * from './postal-address'; export * from './pre-screening'; export * from './prefunded-settlement'; @@ -1125,6 +1143,7 @@ export * from './tags-paged-response'; export * from './templates-paginated-response'; export * from './third-party-routing'; export * from './time-based-trigger'; +export * from './time-in-force'; export * from './time-period-config'; export * from './time-period-match-type'; export * from './to-collateral-transaction'; @@ -1275,10 +1294,12 @@ export * from './update-tokens-ownership-spam-request'; export * from './update-tokens-ownership-status-request'; export * from './update-vault-account-asset-address-request'; export * from './update-vault-account-request'; +export * from './update-webhook-mtls-config-request'; export * from './update-webhook-oauth-request'; export * from './update-webhook-request'; export * from './update-workflow-status-request'; export * from './update-workflow-status-response'; +export * from './upsert-utxo-selection-config-request'; export * from './us-wire-payment-info'; export * from './usdc-gateway-wallet-asset'; export * from './usdc-gateway-wallet-info-response'; @@ -1296,9 +1317,15 @@ export * from './utxo-identifier'; export * from './utxo-input'; export * from './utxo-input2'; export * from './utxo-input-selection'; +export * from './utxo-label-failure'; +export * from './utxo-labels-error-response'; export * from './utxo-output'; +export * from './utxo-selection-config-entry'; +export * from './utxo-selection-config-response'; +export * from './utxo-selection-config-source-enum'; export * from './utxo-selection-filters'; export * from './utxo-selection-params'; +export * from './utxo-selection-strategy-enum'; export * from './validate-address-response'; export * from './validate-layer-zero-channel-response'; export * from './validation-key-dto'; @@ -1325,7 +1352,8 @@ export * from './webhook-custom-headers-response'; export * from './webhook-custom-headers-update'; export * from './webhook-event'; export * from './webhook-metric'; -export * from './webhook-mtls'; +export * from './webhook-mtls-config'; +export * from './webhook-mtls-configs-list'; export * from './webhook-mtls-csr-response'; export * from './webhook-mtls-key-algorithm'; export * from './webhook-oauth-credentials'; diff --git a/models/limit-execution-request-details.ts b/models/limit-execution-request-details.ts new file mode 100644 index 00000000..f84f4674 --- /dev/null +++ b/models/limit-execution-request-details.ts @@ -0,0 +1,41 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import { ExecutionRequestBaseDetails } from './execution-request-base-details'; +// May contain unused imports in some cases +// @ts-ignore +import { LimitTypeDetails } from './limit-type-details'; +// May contain unused imports in some cases +// @ts-ignore +import { LimitTypeEnum } from './limit-type-enum'; +// May contain unused imports in some cases +// @ts-ignore +import { Side } from './side'; +// May contain unused imports in some cases +// @ts-ignore +import { TimeInForce } from './time-in-force'; +// May contain unused imports in some cases +// @ts-ignore +import { TransferRail } from './transfer-rail'; + +/** + * @type LimitExecutionRequestDetails + * @export + */ +export type LimitExecutionRequestDetails = ExecutionRequestBaseDetails & LimitTypeDetails; + + diff --git a/models/limit-execution-response-details.ts b/models/limit-execution-response-details.ts new file mode 100644 index 00000000..890c3e66 --- /dev/null +++ b/models/limit-execution-response-details.ts @@ -0,0 +1,41 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import { ExecutionResponseBaseDetails } from './execution-response-base-details'; +// May contain unused imports in some cases +// @ts-ignore +import { LimitTypeDetails } from './limit-type-details'; +// May contain unused imports in some cases +// @ts-ignore +import { LimitTypeEnum } from './limit-type-enum'; +// May contain unused imports in some cases +// @ts-ignore +import { Side } from './side'; +// May contain unused imports in some cases +// @ts-ignore +import { TimeInForce } from './time-in-force'; +// May contain unused imports in some cases +// @ts-ignore +import { TransferRail } from './transfer-rail'; + +/** + * @type LimitExecutionResponseDetails + * @export + */ +export type LimitExecutionResponseDetails = ExecutionResponseBaseDetails & LimitTypeDetails; + + diff --git a/models/limit-type-details.ts b/models/limit-type-details.ts new file mode 100644 index 00000000..b6750dba --- /dev/null +++ b/models/limit-type-details.ts @@ -0,0 +1,50 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import { LimitTypeEnum } from './limit-type-enum'; +// May contain unused imports in some cases +// @ts-ignore +import { TimeInForce } from './time-in-force'; + +/** + * + * @export + * @interface LimitTypeDetails + */ +export interface LimitTypeDetails { + /** + * + * @type {LimitTypeEnum} + * @memberof LimitTypeDetails + */ + 'type': LimitTypeEnum; + /** + * Limit price for the order + * @type {string} + * @memberof LimitTypeDetails + */ + 'price': string; + /** + * + * @type {TimeInForce} + * @memberof LimitTypeDetails + */ + 'timeInForce': TimeInForce; +} + + + diff --git a/models/limit-type-enum.ts b/models/limit-type-enum.ts new file mode 100644 index 00000000..b145a785 --- /dev/null +++ b/models/limit-type-enum.ts @@ -0,0 +1,30 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + + +/** + * Order type for limit orders + * @export + * @enum {string} + */ + +export const LimitTypeEnum = { + Limit: 'LIMIT' +} as const; + +export type LimitTypeEnum = typeof LimitTypeEnum[keyof typeof LimitTypeEnum]; + + + diff --git a/models/offer-response-allocation.ts b/models/offer-response-allocation.ts index c941424d..c4140b8c 100644 --- a/models/offer-response-allocation.ts +++ b/models/offer-response-allocation.ts @@ -38,7 +38,7 @@ export interface OfferResponseAllocation { } export const OfferResponseAllocationDomainEnum = { - Allocations: 'ALLOCATIONS' + Allocation: 'ALLOCATION' } as const; export type OfferResponseAllocationDomainEnum = typeof OfferResponseAllocationDomainEnum[keyof typeof OfferResponseAllocationDomainEnum]; diff --git a/models/offer-response-transfer.ts b/models/offer-response-transfer.ts index f2f287d4..fed878cf 100644 --- a/models/offer-response-transfer.ts +++ b/models/offer-response-transfer.ts @@ -38,7 +38,7 @@ export interface OfferResponseTransfer { } export const OfferResponseTransferDomainEnum = { - Transfers: 'TRANSFERS' + Transfer: 'TRANSFER' } as const; export type OfferResponseTransferDomainEnum = typeof OfferResponseTransferDomainEnum[keyof typeof OfferResponseTransferDomainEnum]; diff --git a/models/offer-response.ts b/models/offer-response.ts index f87fe202..586077b6 100644 --- a/models/offer-response.ts +++ b/models/offer-response.ts @@ -30,6 +30,6 @@ import { TransferResponse } from './transfer-response'; * @type OfferResponse * @export */ -export type OfferResponse = { domain: 'ALLOCATIONS' } & OfferResponseAllocation | { domain: 'ONBOARDING' } & OfferResponseOnboarding | { domain: 'TRANSFERS' } & OfferResponseTransfer; +export type OfferResponse = { domain: 'ALLOCATION' } & OfferResponseAllocation | { domain: 'ONBOARDING' } & OfferResponseOnboarding | { domain: 'TRANSFER' } & OfferResponseTransfer; diff --git a/models/onboarding-response-dtcc-accept.ts b/models/onboarding-response-dtcc-accept.ts index ff7dc008..223adb53 100644 --- a/models/onboarding-response-dtcc-accept.ts +++ b/models/onboarding-response-dtcc-accept.ts @@ -21,7 +21,7 @@ */ export interface OnboardingResponseDtccAccept { /** - * How you are answering the offer. Must be one of the values currently listed in the transaction\'s `additionalInfo.cantonDetails.offerResponse.availableResponses`. + * How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. * @type {string} * @memberof OnboardingResponseDtccAccept */ diff --git a/models/onboarding-response-dtcc-reject.ts b/models/onboarding-response-dtcc-reject.ts index fa269f25..1360e24b 100644 --- a/models/onboarding-response-dtcc-reject.ts +++ b/models/onboarding-response-dtcc-reject.ts @@ -21,7 +21,7 @@ */ export interface OnboardingResponseDtccReject { /** - * How you are answering the offer. Must be one of the values currently listed in the transaction\'s `additionalInfo.cantonDetails.offerResponse.availableResponses`. + * How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. * @type {string} * @memberof OnboardingResponseDtccReject */ diff --git a/models/onboarding-response-tradeweb-accept.ts b/models/onboarding-response-tradeweb-accept.ts index a1943586..57c2f143 100644 --- a/models/onboarding-response-tradeweb-accept.ts +++ b/models/onboarding-response-tradeweb-accept.ts @@ -21,7 +21,7 @@ */ export interface OnboardingResponseTradewebAccept { /** - * How you are answering the offer. Must be one of the values currently listed in the transaction\'s `additionalInfo.cantonDetails.offerResponse.availableResponses`. + * How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. * @type {string} * @memberof OnboardingResponseTradewebAccept */ diff --git a/models/onboarding-response-tradeweb-reject.ts b/models/onboarding-response-tradeweb-reject.ts index 2bd920fe..3c3e93dd 100644 --- a/models/onboarding-response-tradeweb-reject.ts +++ b/models/onboarding-response-tradeweb-reject.ts @@ -21,7 +21,7 @@ */ export interface OnboardingResponseTradewebReject { /** - * How you are answering the offer. Must be one of the values currently listed in the transaction\'s `additionalInfo.cantonDetails.offerResponse.availableResponses`. + * How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. * @type {string} * @memberof OnboardingResponseTradewebReject */ diff --git a/models/participant-onboarding-payload.ts b/models/participant-onboarding-payload.ts index a70f4d64..6d124f17 100644 --- a/models/participant-onboarding-payload.ts +++ b/models/participant-onboarding-payload.ts @@ -38,12 +38,6 @@ export interface ParticipantOnboardingPayload { * @memberof ParticipantOnboardingPayload */ 'operator': string; - /** - * DTCC provider party id. - * @type {string} - * @memberof ParticipantOnboardingPayload - */ - 'provider': string; /** * DTCC compliance party id. * @type {string} @@ -62,6 +56,12 @@ export interface ParticipantOnboardingPayload { * @memberof ParticipantOnboardingPayload */ 'clientOnboarder': string; + /** + * DTCC upgrader party id — the Model Upgrade Tool authority. Supplied by DTCC during the off-chain registration, alongside the other party ids. + * @type {string} + * @memberof ParticipantOnboardingPayload + */ + 'upgrader': string; /** * When the onboarding request expires if it has not been answered. RFC 3339. * @type {string} diff --git a/models/post-trade-settlement-type.ts b/models/post-trade-settlement-type.ts new file mode 100644 index 00000000..573e4210 --- /dev/null +++ b/models/post-trade-settlement-type.ts @@ -0,0 +1,30 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + + +/** + * + * @export + * @enum {string} + */ + +export const PostTradeSettlementType = { + PostTrade: 'POST_TRADE' +} as const; + +export type PostTradeSettlementType = typeof PostTradeSettlementType[keyof typeof PostTradeSettlementType]; + + + diff --git a/models/post-trade-settlement.ts b/models/post-trade-settlement.ts new file mode 100644 index 00000000..7e807077 --- /dev/null +++ b/models/post-trade-settlement.ts @@ -0,0 +1,35 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import { PostTradeSettlementType } from './post-trade-settlement-type'; + +/** + * Nothing moves on-platform; settlement happens bilaterally, provider-side, after execution. + * @export + * @interface PostTradeSettlement + */ +export interface PostTradeSettlement { + /** + * + * @type {PostTradeSettlementType} + * @memberof PostTradeSettlement + */ + 'type': PostTradeSettlementType; +} + + + diff --git a/models/quote.ts b/models/quote.ts index f5a06aaf..7503f326 100644 --- a/models/quote.ts +++ b/models/quote.ts @@ -78,7 +78,7 @@ export interface Quote { */ 'side': Side; /** - * The expiration time of the quote in ISO 8601 format. + * The expiration time of the quote in ISO 8601 format, taken verbatim from the provider. This is not safety-margined by the server — integrators must apply their own margin if one is needed. * @type {string} * @memberof Quote */ diff --git a/models/rates-request.ts b/models/rates-request.ts index 2cdeaa73..8368d631 100644 --- a/models/rates-request.ts +++ b/models/rates-request.ts @@ -41,5 +41,11 @@ export interface RatesRequest { * @memberof RatesRequest */ 'quoteAssetId': string; + /** + * The amount to convert from + * @type {string} + * @memberof RatesRequest + */ + 'baseAmount'?: string; } diff --git a/models/settlement-type-enum.ts b/models/settlement-type-enum.ts index d6e127c0..6d54e113 100644 --- a/models/settlement-type-enum.ts +++ b/models/settlement-type-enum.ts @@ -22,7 +22,8 @@ export const SettlementTypeEnum = { Dvp: 'DVP', - Prefunded: 'PREFUNDED' + Prefunded: 'PREFUNDED', + PostTrade: 'POST_TRADE' } as const; export type SettlementTypeEnum = typeof SettlementTypeEnum[keyof typeof SettlementTypeEnum]; diff --git a/models/settlement.ts b/models/settlement.ts index 776f485e..01d5812b 100644 --- a/models/settlement.ts +++ b/models/settlement.ts @@ -21,7 +21,10 @@ import { AccountReference } from './account-reference'; import { DVPSettlement } from './dvpsettlement'; // May contain unused imports in some cases // @ts-ignore -import { DVPSettlementType } from './dvpsettlement-type'; +import { PostTradeSettlement } from './post-trade-settlement'; +// May contain unused imports in some cases +// @ts-ignore +import { PostTradeSettlementType } from './post-trade-settlement-type'; // May contain unused imports in some cases // @ts-ignore import { PrefundedSettlement } from './prefunded-settlement'; @@ -34,6 +37,6 @@ import { SettlementSourceAccount } from './settlement-source-account'; * Settlement configuration for the order * @export */ -export type Settlement = { type: 'DVP' } & DVPSettlement | { type: 'PREFUNDED' } & PrefundedSettlement; +export type Settlement = { type: 'DVP' } & DVPSettlement | { type: 'POST_TRADE' } & PostTradeSettlement | { type: 'PREFUNDED' } & PrefundedSettlement; diff --git a/models/time-in-force.ts b/models/time-in-force.ts new file mode 100644 index 00000000..30ea9ba9 --- /dev/null +++ b/models/time-in-force.ts @@ -0,0 +1,27 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import { FokTimeInForce } from './fok-time-in-force'; + +/** + * @type TimeInForce + * Time in force for limit orders + * @export + */ +export type TimeInForce = { type: 'FOK' } & FokTimeInForce; + + diff --git a/models/transaction-operation.ts b/models/transaction-operation.ts index 128714fb..4b91a053 100644 --- a/models/transaction-operation.ts +++ b/models/transaction-operation.ts @@ -15,7 +15,7 @@ /** - * * `TRANSFER` - The default value for an operation. Transfers funds from one account to another. UTXO blockchains allow multi-input and multi-output transfers. All other blockchains allow transfers with one source address and one destination address. * `MINT` - Mints new tokens. Supported for Stellar, Ripple and EVM-based blockchains. * `BURN` - Burns tokens. Supported for Stellar, Ripple and EVM-based blockchains. * `CONTRACT_CALL` - Calls a smart contract method for web3 operations on any EVM blockchain. The Fireblocks [development libraries](https://developers.fireblocks.com/docs/ethereum-development#convenience-libraries) are recommended for building contract call transactions. * `PROGRAM_CALL` - Execute multiple instructions on Solana blockchain. The @solana/web3.js library is recommended for building program call transactions. * `TYPED_MESSAGE` - An off-chain message in either Ethereum Personal Message or EIP712 format. Use it to sign specific readable messages that are not actual transactions. [Learn more about typed messages](https://developers.fireblocks.com/docs/typed-message-signing). * `RAW` - An off-chain message with no predefined format. Use it to sign any message with your private key, including protocols such as blockchains and custom transaction types that are not natively supported by Fireblocks. [Learn more about raw signing transactions.](https://developers.fireblocks.com/docs/raw-message-signing) * `APPROVE` - Enables the approve function for a smart contract or wallet to withdraw from a designated wallet. [Learn more](https://support.fireblocks.io/hc/en-us/articles/4404616097426-Amount-Cap-for-Approve-transactions). * `ENABLE_ASSET` - Algorand, DigitalBits, Solana, and Stellar require an on-chain transaction to create an asset wallet and enable the deposit address. This transaction is automatically created when adding assets on these blockchains at a vault account. + * * `TRANSFER` - The default value for an operation. Transfers funds from one account to another. UTXO blockchains allow multi-input and multi-output transfers. All other blockchains allow transfers with one source address and one destination address. * `MINT` - Mints new tokens. Supported for Stellar, Ripple and EVM-based blockchains. * `BURN` - Burns tokens. Supported for Stellar, Ripple and EVM-based blockchains. * `CONTRACT_CALL` - Calls a smart contract method for web3 operations on any EVM blockchain. The Fireblocks [development libraries](https://developers.fireblocks.com/docs/ethereum-development#convenience-libraries) are recommended for building contract call transactions. * `PROGRAM_CALL` - Execute multiple instructions on Solana blockchain. The @solana/web3.js library is recommended for building program call transactions. * `TYPED_MESSAGE` - An off-chain message in either Ethereum Personal Message or EIP712 format. Use it to sign specific readable messages that are not actual transactions. [Learn more about typed messages](https://developers.fireblocks.com/docs/typed-message-signing). * `RAW` - An off-chain message with no predefined format. Use it to sign any message with your private key, including protocols such as blockchains and custom transaction types that are not natively supported by Fireblocks. [Learn more about raw signing transactions.](https://developers.fireblocks.com/docs/raw-message-signing) * `APPROVE` - Enables the approve function for a smart contract or wallet to withdraw from a designated wallet. [Learn more](https://support.fireblocks.io/hc/en-us/articles/4404616097426-Amount-Cap-for-Approve-transactions). * `ENABLE_ASSET` - Algorand, DigitalBits, Solana, and Stellar require an on-chain transaction to create an asset wallet and enable the deposit address. This transaction is automatically created when adding assets on these blockchains at a vault account. * `CANTON_CALL` - A customer-initiated Canton operation, such as withdrawing an allocation or responding to an onboarding offer. Note that not every Canton transaction carries this operation — an incoming Canton transfer offer is a `TRANSFER` — so use the top-level `cantonDetails` rather than `operation` to identify a Canton transaction. * @export * @enum {string} */ @@ -29,7 +29,8 @@ export const TransactionOperation = { Raw: 'RAW', TypedMessage: 'TYPED_MESSAGE', Approve: 'APPROVE', - EnableAsset: 'ENABLE_ASSET' + EnableAsset: 'ENABLE_ASSET', + CantonCall: 'CANTON_CALL' } as const; export type TransactionOperation = typeof TransactionOperation[keyof typeof TransactionOperation]; diff --git a/models/transaction-response.ts b/models/transaction-response.ts index f1f467eb..a52fb6bf 100644 --- a/models/transaction-response.ts +++ b/models/transaction-response.ts @@ -27,6 +27,9 @@ import { AuthorizationInfo } from './authorization-info'; import { BlockInfo } from './block-info'; // May contain unused imports in some cases // @ts-ignore +import { CantonDetails } from './canton-details'; +// May contain unused imports in some cases +// @ts-ignore import { ComplianceResults } from './compliance-results'; // May contain unused imports in some cases // @ts-ignore @@ -221,6 +224,12 @@ export interface TransactionResponse { * @memberof TransactionResponse */ 'requestedFeeCurrency'?: string; + /** + * + * @type {CantonDetails} + * @memberof TransactionResponse + */ + 'cantonDetails'?: CantonDetails; /** * In case a single transaction resulted with multiple transfers, for example a result of a contract call, then this parameter specifies each transfer that took place on the blockchain. In case of a single transfer transaction, this parameter is empty. * @type {Array} diff --git a/models/travel-rule-issuers.ts b/models/travel-rule-issuers.ts index 3dc4de6d..3312d3ba 100644 --- a/models/travel-rule-issuers.ts +++ b/models/travel-rule-issuers.ts @@ -40,72 +40,72 @@ export interface TravelRuleIssuers { * @type {TravelRuleIssuer} * @memberof TravelRuleIssuers */ - 'regulatoryAuthorities': TravelRuleIssuer; + 'name': TravelRuleIssuer; /** * * @type {TravelRuleIssuer} * @memberof TravelRuleIssuers */ - 'name': TravelRuleIssuer; + 'website': TravelRuleIssuer; /** * * @type {TravelRuleIssuer} * @memberof TravelRuleIssuers */ - 'logo': TravelRuleIssuer; + 'legalName': TravelRuleIssuer; /** * * @type {TravelRuleIssuer} * @memberof TravelRuleIssuers */ - 'website': TravelRuleIssuer; + 'legalStructure': TravelRuleIssuer; /** * * @type {TravelRuleIssuer} * @memberof TravelRuleIssuers */ - 'legalName': TravelRuleIssuer; + 'incorporationCountry': TravelRuleIssuer; /** * * @type {TravelRuleIssuer} * @memberof TravelRuleIssuers */ - 'legalStructure': TravelRuleIssuer; + 'businessNumber': TravelRuleIssuer; /** * * @type {TravelRuleIssuer} * @memberof TravelRuleIssuers */ - 'incorporationCountry': TravelRuleIssuer; + 'addressLine1': TravelRuleIssuer; /** * * @type {TravelRuleIssuer} * @memberof TravelRuleIssuers */ - 'businessNumber': TravelRuleIssuer; + 'city': TravelRuleIssuer; /** * * @type {TravelRuleIssuer} * @memberof TravelRuleIssuers */ - 'addressLine1': TravelRuleIssuer; + 'country': TravelRuleIssuer; /** * * @type {TravelRuleIssuer} * @memberof TravelRuleIssuers */ - 'city': TravelRuleIssuer; + 'regulatoryAuthorities'?: TravelRuleIssuer; /** * * @type {TravelRuleIssuer} * @memberof TravelRuleIssuers */ - 'country': TravelRuleIssuer; + 'logo'?: TravelRuleIssuer; /** * * @type {TravelRuleIssuer} * @memberof TravelRuleIssuers */ - 'description': TravelRuleIssuer; + 'description'?: TravelRuleIssuer; } diff --git a/models/travel-rule-vasp.ts b/models/travel-rule-vasp.ts index 580bca38..7df1ad9b 100644 --- a/models/travel-rule-vasp.ts +++ b/models/travel-rule-vasp.ts @@ -148,19 +148,19 @@ export interface TravelRuleVASP { * @type {string} * @memberof TravelRuleVASP */ - 'addressLine2'?: string; + 'addressLine2'?: string | null; /** * URL to the logo of the VASP. May be null. * @type {string} * @memberof TravelRuleVASP */ - 'logo'?: string; + 'logo'?: string | null; /** * Other names the VASP is known by. May be null. * @type {string} * @memberof TravelRuleVASP */ - 'otherNames'?: string; + 'otherNames'?: string | null; /** * The type of identification used by the VASP. * @type {string} @@ -172,7 +172,7 @@ export interface TravelRuleVASP { * @type {string} * @memberof TravelRuleVASP */ - 'identificationCountry'?: string; + 'identificationCountry'?: string | null; /** * The business registration number of the VASP. * @type {string} @@ -184,7 +184,7 @@ export interface TravelRuleVASP { * @type {string} * @memberof TravelRuleVASP */ - 'regulatoryAuthorities'?: string; + 'regulatoryAuthorities'?: string | null; /** * The division of the VASP\'s registered address, where applicable. * @type {string} @@ -196,7 +196,7 @@ export interface TravelRuleVASP { * @type {string} * @memberof TravelRuleVASP */ - 'street'?: string; + 'street'?: string | null; /** * The building number of the VASP\'s address. May be returned as an empty string when not supplied. * @type {string} @@ -208,7 +208,7 @@ export interface TravelRuleVASP { * @type {string} * @memberof TravelRuleVASP */ - 'unit'?: string; + 'unit'?: string | null; /** * The postal code of the VASP\'s location. * @type {string} @@ -304,61 +304,61 @@ export interface TravelRuleVASP { * @type {string} * @memberof TravelRuleVASP */ - 'certificates'?: string; + 'certificates'?: string | null; /** * A brief description of the VASP. May be null. * @type {string} * @memberof TravelRuleVASP */ - 'description'?: string; + 'description'?: string | null; /** * Travel rule compliance status for OpenVASP. Null when the VASP does not support this protocol. * @type {string} * @memberof TravelRuleVASP */ - 'travelRule_OPENVASP'?: string; + 'travelRule_OPENVASP'?: string | null; /** * Travel rule compliance status for Sygna. Null when the VASP does not support this protocol. * @type {string} * @memberof TravelRuleVASP */ - 'travelRule_SYGNA'?: string; + 'travelRule_SYGNA'?: string | null; /** * Travel rule compliance status for TRISA. Null when the VASP does not support this protocol. * @type {string} * @memberof TravelRuleVASP */ - 'travelRule_TRISA'?: string; + 'travelRule_TRISA'?: string | null; /** * Travel rule compliance status for EMAIL. Null when the VASP does not support this protocol. * @type {string} * @memberof TravelRuleVASP */ - 'travelRule_EMAIL'?: string; + 'travelRule_EMAIL'?: string | null; /** * Travel rule compliance status for TRP. Null when the VASP does not support this protocol. * @type {string} * @memberof TravelRuleVASP */ - 'travelRule_TRP'?: string; + 'travelRule_TRP'?: string | null; /** * Travel rule compliance status for Shyft. Null when the VASP does not support this protocol. * @type {string} * @memberof TravelRuleVASP */ - 'travelRule_SHYFT'?: string; + 'travelRule_SHYFT'?: string | null; /** * Travel rule compliance status for US Travel Rule WG. Null when the VASP does not support this protocol. * @type {string} * @memberof TravelRuleVASP */ - 'travelRule_USTRAVELRULEWG'?: string; + 'travelRule_USTRAVELRULEWG'?: string | null; /** * The DID of the party that created the VASP record. May be null. * @type {string} * @memberof TravelRuleVASP */ - 'createdBy'?: string; + 'createdBy'?: string | null; /** * Timestamp of the last update to the VASP record. * @type {string} @@ -388,7 +388,7 @@ export interface TravelRuleVASP { * @type {string} * @memberof TravelRuleVASP */ - 'documents'?: string; + 'documents'?: string | null; /** * The regulatory status of the VASP, as free text. * @type {string} diff --git a/models/update-webhook-mtls-config-request.ts b/models/update-webhook-mtls-config-request.ts new file mode 100644 index 00000000..ace03b3c --- /dev/null +++ b/models/update-webhook-mtls-config-request.ts @@ -0,0 +1,36 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + + +/** + * At least one property must be provided. + * @export + * @interface UpdateWebhookMtlsConfigRequest + */ +export interface UpdateWebhookMtlsConfigRequest { + /** + * A new label for this mTLS configuration, or `null` to remove it. Letters, digits and spaces only. + * @type {string} + * @memberof UpdateWebhookMtlsConfigRequest + */ + 'name'?: string | null; + /** + * A replacement signed certificate PEM. Every webhook and OAuth credentials set using this configuration switches to it, and the private key it was issued for is re-derived from the certificate. + * @type {string} + * @memberof UpdateWebhookMtlsConfigRequest + */ + 'signedCert'?: string; +} + diff --git a/models/update-webhook-oauth-request.ts b/models/update-webhook-oauth-request.ts index c2c4c612..588cd1ee 100644 --- a/models/update-webhook-oauth-request.ts +++ b/models/update-webhook-oauth-request.ts @@ -24,7 +24,7 @@ import { WebhookOauthCustomHeadersUpdate } from './webhook-oauth-custom-headers- import { WebhookOauthCustomJwtClaimsUpdate } from './webhook-oauth-custom-jwt-claims-update'; /** - * A partial update. Every field is optional and an omitted field is left as it is, so `{ \"clientSecret\": \"new-secret\" }` rotates the secret and changes nothing else. A rotation applies to every webhook referencing these credentials. The three custom maps merge. A key with a value is upserted, a key with `null` is deleted, a key you leave out is untouched, and the whole field set to `null` clears the map. There is no ambiguity between the two uses of `null` — one names an entry, the other names the field. `mtlsClientSignedCert` is a scalar, so `null` there removes it. + * A partial update. Every field is optional and an omitted field is left as it is, so `{ \"clientSecret\": \"new-secret\" }` rotates the secret and changes nothing else. A rotation applies to every webhook referencing these credentials. The three custom maps merge. A key with a value is upserted, a key with `null` is deleted, a key you leave out is untouched, and the whole field set to `null` clears the map. There is no ambiguity between the two uses of `null` — one names an entry, the other names the field. `webhookMtlsId` is a scalar, so `null` there removes it. * @export * @interface UpdateWebhookOauthRequest */ @@ -78,10 +78,10 @@ export interface UpdateWebhookOauthRequest { */ 'customHeaders'?: WebhookOauthCustomHeadersUpdate | null; /** - * PEM-encoded client certificate for mTLS. Must be a valid X.509 certificate inside its validity window. Omit to leave it unchanged, or send `null` to remove it. + * The id of the mTLS configuration presented to the token endpoint, from `/v1/webhooks_settings/mtls`. Omit to leave it unchanged, or send `null` to stop using mTLS for the token request. Requires the mTLS feature to be enabled for the workspace (`403` otherwise), a configuration of this workspace (`404` otherwise), and one linked to a private key (`400` otherwise). * @type {string} * @memberof UpdateWebhookOauthRequest */ - 'mtlsClientSignedCert'?: string | null; + 'webhookMtlsId'?: string | null; } diff --git a/models/update-webhook-request.ts b/models/update-webhook-request.ts index f16a5a12..ced77b5c 100644 --- a/models/update-webhook-request.ts +++ b/models/update-webhook-request.ts @@ -19,9 +19,6 @@ import { WebhookCustomHeadersUpdate } from './webhook-custom-headers-update'; // May contain unused imports in some cases // @ts-ignore import { WebhookEvent } from './webhook-event'; -// May contain unused imports in some cases -// @ts-ignore -import { WebhookMtls } from './webhook-mtls'; /** * @@ -54,11 +51,11 @@ export interface UpdateWebhookRequest { */ 'enabled'?: boolean; /** - * - * @type {WebhookMtls} + * The id of the mTLS configuration this webhook presents when delivering, from `/v1/webhooks_settings/mtls`. Several webhooks may share one configuration, so replacing its certificate covers all of them at once. Send `null` to stop using mTLS for this webhook. + * @type {string} * @memberof UpdateWebhookRequest */ - 'mtls'?: WebhookMtls | null; + 'webhookMtlsId'?: string | null; /** * The id of the OAuth credentials this webhook authenticates with, from `/v1/webhooks_settings/oauth`. Several webhooks may share one credential set, so rotating its client secret covers all of them at once. Send `null` to stop using OAuth for this webhook. Cannot be combined with an `authorization` custom header on the same webhook; a request that would leave both set is rejected. * @type {string} diff --git a/models/webhook-mtls.ts b/models/upsert-utxo-selection-config-request.ts similarity index 62% rename from models/webhook-mtls.ts rename to models/upsert-utxo-selection-config-request.ts index 10bd8c8a..66018bd9 100644 --- a/models/webhook-mtls.ts +++ b/models/upsert-utxo-selection-config-request.ts @@ -13,18 +13,23 @@ */ +// May contain unused imports in some cases +// @ts-ignore +import { UtxoSelectionStrategyEnum } from './utxo-selection-strategy-enum'; /** - * mTLS configuration for the webhook. On responses, present only when a signed client certificate is set. On requests, provide a signed client certificate to enable mTLS, or null to remove it. + * * @export - * @interface WebhookMtls + * @interface UpsertUtxoSelectionConfigRequest */ -export interface WebhookMtls { +export interface UpsertUtxoSelectionConfigRequest { /** - * Signed client certificate PEM used for mTLS when delivering notifications. - * @type {string} - * @memberof WebhookMtls + * + * @type {UtxoSelectionStrategyEnum} + * @memberof UpsertUtxoSelectionConfigRequest */ - 'clientSignedCert': string; + 'strategy': UtxoSelectionStrategyEnum; } + + diff --git a/models/utxo-identifier.ts b/models/utxo-identifier.ts index d940fcb7..6d0d7916 100644 --- a/models/utxo-identifier.ts +++ b/models/utxo-identifier.ts @@ -27,7 +27,7 @@ export interface UtxoIdentifier { */ 'txId'?: string; /** - * On-chain transaction hash + * On-chain transaction hash, in lowercase hex as the chain reports it. Matched case-sensitively, so an uppercase hash is never found. * @type {string} * @memberof UtxoIdentifier */ diff --git a/models/utxo-label-failure.ts b/models/utxo-label-failure.ts new file mode 100644 index 00000000..cdaa0da4 --- /dev/null +++ b/models/utxo-label-failure.ts @@ -0,0 +1,60 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import { UtxoIdentifier } from './utxo-identifier'; + +/** + * A requested identifier that blocked the label request, with the reason it could not be labelled. + * @export + * @interface UtxoLabelFailure + */ +export interface UtxoLabelFailure { + /** + * The identifier exactly as it was sent in the request. + * @type {UtxoIdentifier} + * @memberof UtxoLabelFailure + */ + 'identifier': UtxoIdentifier; + /** + * Why the identifier could not be labelled: - `NOT_FOUND` — no UTXO for it in this vault and asset. Retrying can work once it is indexed. - `NOT_LABELLABLE` — the UTXO exists but can no longer be labelled (spent, or removed; for a transaction ID, every output). Retrying will not help. + * @type {string} + * @memberof UtxoLabelFailure + */ + 'reason': UtxoLabelFailureReasonEnum; + /** + * The UTXO status behind the reason, when one explains it. With `NOT_FOUND`, `REMOVED` means the UTXO was removed within the last hour and may still reappear; if it does not, the same request returns `NOT_LABELLABLE` after about an hour. + * @type {string} + * @memberof UtxoLabelFailure + */ + 'utxoStatus'?: UtxoLabelFailureUtxoStatusEnum; +} + +export const UtxoLabelFailureReasonEnum = { + NotFound: 'NOT_FOUND', + NotLabellable: 'NOT_LABELLABLE', + UnusableIdentifier: 'UNUSABLE_IDENTIFIER' +} as const; + +export type UtxoLabelFailureReasonEnum = typeof UtxoLabelFailureReasonEnum[keyof typeof UtxoLabelFailureReasonEnum]; +export const UtxoLabelFailureUtxoStatusEnum = { + Spent: 'SPENT', + Removed: 'REMOVED' +} as const; + +export type UtxoLabelFailureUtxoStatusEnum = typeof UtxoLabelFailureUtxoStatusEnum[keyof typeof UtxoLabelFailureUtxoStatusEnum]; + + diff --git a/models/utxo-labels-error-response.ts b/models/utxo-labels-error-response.ts new file mode 100644 index 00000000..fd41b65e --- /dev/null +++ b/models/utxo-labels-error-response.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import { UtxoLabelFailure } from './utxo-label-failure'; + +/** + * Returned when a label request is rejected. The request is all-or-nothing, so no UTXO was labelled. + * @export + * @interface UtxoLabelsErrorResponse + */ +export interface UtxoLabelsErrorResponse { + /** + * Summary of the rejection. When `failures` is present, it names the identifiers that blocked the request. + * @type {string} + * @memberof UtxoLabelsErrorResponse + */ + 'message': string; + /** + * Every identifier that blocked the request, each with its own reason. Identifiers not listed were valid; resend them without the failed ones. Absent when the request itself was invalid (e.g. a malformed label). + * @type {Array} + * @memberof UtxoLabelsErrorResponse + */ + 'failures'?: Array; +} + diff --git a/models/utxo-selection-config-entry.ts b/models/utxo-selection-config-entry.ts new file mode 100644 index 00000000..5f877118 --- /dev/null +++ b/models/utxo-selection-config-entry.ts @@ -0,0 +1,41 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import { UtxoSelectionStrategyEnum } from './utxo-selection-strategy-enum'; + +/** + * Config row stored at exactly the requested scope. Omitted from the parent object when none exists; the server does not emit JSON `null`. + * @export + * @interface UtxoSelectionConfigEntry + */ +export interface UtxoSelectionConfigEntry { + /** + * + * @type {UtxoSelectionStrategyEnum} + * @memberof UtxoSelectionConfigEntry + */ + 'strategy': UtxoSelectionStrategyEnum; + /** + * Time at which this configured row was last updated. + * @type {string} + * @memberof UtxoSelectionConfigEntry + */ + 'updatedAt': string; +} + + + diff --git a/models/utxo-selection-config-response.ts b/models/utxo-selection-config-response.ts new file mode 100644 index 00000000..9e006bee --- /dev/null +++ b/models/utxo-selection-config-response.ts @@ -0,0 +1,42 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import { EffectiveUtxoSelectionConfig } from './effective-utxo-selection-config'; +// May contain unused imports in some cases +// @ts-ignore +import { UtxoSelectionConfigEntry } from './utxo-selection-config-entry'; + +/** + * `effective` is always present. `configured` is omitted when no row is stored at the requested scope (the server does not emit `\"configured\": null`). PUT responses always include `configured`. + * @export + * @interface UtxoSelectionConfigResponse + */ +export interface UtxoSelectionConfigResponse { + /** + * + * @type {EffectiveUtxoSelectionConfig} + * @memberof UtxoSelectionConfigResponse + */ + 'effective': EffectiveUtxoSelectionConfig; + /** + * + * @type {UtxoSelectionConfigEntry} + * @memberof UtxoSelectionConfigResponse + */ + 'configured'?: UtxoSelectionConfigEntry; +} + diff --git a/models/utxo-selection-config-source-enum.ts b/models/utxo-selection-config-source-enum.ts new file mode 100644 index 00000000..ff00e48d --- /dev/null +++ b/models/utxo-selection-config-source-enum.ts @@ -0,0 +1,32 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + + +/** + * Where the effective strategy was resolved from. `DEFAULT` means no stored row applies at this scope or any scope it inherits from - `effective.strategy` reports whichever strategy currently applies. `WORKSPACE` and `VAULT_ASSET` are stored rows. + * @export + * @enum {string} + */ + +export const UtxoSelectionConfigSourceEnum = { + Default: 'DEFAULT', + Workspace: 'WORKSPACE', + VaultAsset: 'VAULT_ASSET' +} as const; + +export type UtxoSelectionConfigSourceEnum = typeof UtxoSelectionConfigSourceEnum[keyof typeof UtxoSelectionConfigSourceEnum]; + + + diff --git a/models/utxo-selection-strategy-enum.ts b/models/utxo-selection-strategy-enum.ts new file mode 100644 index 00000000..c2329a59 --- /dev/null +++ b/models/utxo-selection-strategy-enum.ts @@ -0,0 +1,32 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + + +/** + * UTXO selection strategy. `ADAPTIVE` is recommended: the engine chooses inputs at selection time. `ASC` spends smallest UTXOs first. `DESC` spends largest first. + * @export + * @enum {string} + */ + +export const UtxoSelectionStrategyEnum = { + Asc: 'ASC', + Desc: 'DESC', + Adaptive: 'ADAPTIVE' +} as const; + +export type UtxoSelectionStrategyEnum = typeof UtxoSelectionStrategyEnum[keyof typeof UtxoSelectionStrategyEnum]; + + + diff --git a/models/webhook-mtls-config.ts b/models/webhook-mtls-config.ts new file mode 100644 index 00000000..a48030ac --- /dev/null +++ b/models/webhook-mtls-config.ts @@ -0,0 +1,60 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + + +/** + * A signed client certificate stored for the workspace, and the id a webhook or OAuth credentials set references to use it. Several of them may share one configuration, so replacing the certificate here switches all of them at once. + * @export + * @interface WebhookMtlsConfig + */ +export interface WebhookMtlsConfig { + /** + * The unique identifier of the mTLS configuration, to be set as `webhookMtlsId` on a webhook or on OAuth credentials. + * @type {string} + * @memberof WebhookMtlsConfig + */ + 'id': string; + /** + * The signed client certificate PEM. + * @type {string} + * @memberof WebhookMtlsConfig + */ + 'signedCert': string; + /** + * When the certificate itself expires, in milliseconds since the epoch. + * @type {number} + * @memberof WebhookMtlsConfig + */ + 'expiresAt': number; + /** + * When the certificate was uploaded, in milliseconds since the epoch. + * @type {number} + * @memberof WebhookMtlsConfig + */ + 'createdAt': number; + /** + * When this configuration was last changed, in milliseconds since the epoch. Differs from createdAt once the certificate has been replaced or the configuration renamed. + * @type {number} + * @memberof WebhookMtlsConfig + */ + 'updatedAt': number; + /** + * The label given to this mTLS configuration. + * @type {string} + * @memberof WebhookMtlsConfig + */ + 'name'?: string; +} + diff --git a/models/webhook-mtls-configs-list.ts b/models/webhook-mtls-configs-list.ts new file mode 100644 index 00000000..31b0bf50 --- /dev/null +++ b/models/webhook-mtls-configs-list.ts @@ -0,0 +1,27 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import { WebhookMtlsConfig } from './webhook-mtls-config'; + +/** + * Every mTLS configuration belonging to the workspace, newest first. + * @export + * @interface WebhookMtlsConfigsList + */ +export interface WebhookMtlsConfigsList extends Array { +} + diff --git a/models/webhook-oauth-credentials.ts b/models/webhook-oauth-credentials.ts index dd15258f..2deaf328 100644 --- a/models/webhook-oauth-credentials.ts +++ b/models/webhook-oauth-credentials.ts @@ -81,10 +81,10 @@ export interface WebhookOauthCredentials { */ 'customHeaders'?: Array; /** - * PEM-encoded client certificate used for mTLS when fetching OAuth tokens. + * The id of the mTLS configuration presented to the token endpoint. Absent when the token request does not use mTLS. Read the certificate from `/v1/webhooks_settings/mtls/{id}`. * @type {string} * @memberof WebhookOauthCredentials */ - 'mtlsClientSignedCert'?: string; + 'webhookMtlsId'?: string; } diff --git a/models/webhook.ts b/models/webhook.ts index 8be829a4..521a3862 100644 --- a/models/webhook.ts +++ b/models/webhook.ts @@ -19,9 +19,6 @@ import { WebhookCustomHeadersResponse } from './webhook-custom-headers-response' // May contain unused imports in some cases // @ts-ignore import { WebhookEvent } from './webhook-event'; -// May contain unused imports in some cases -// @ts-ignore -import { WebhookMtls } from './webhook-mtls'; /** * @@ -72,11 +69,11 @@ export interface Webhook { */ 'description'?: string; /** - * - * @type {WebhookMtls} + * The id of the mTLS configuration this webhook presents when delivering, from `/v1/webhooks_settings/mtls`. Absent when the webhook does not use mTLS. + * @type {string} * @memberof Webhook */ - 'mtls'?: WebhookMtls | null; + 'webhookMtlsId'?: string; /** * The id of the OAuth credentials this webhook authenticates with. Absent when the webhook does not use OAuth. Read the credentials themselves from `/v1/webhooks_settings/oauth/{webhookOauthId}`. * @type {string} diff --git a/package-lock.json b/package-lock.json index d68434ed..e50783aa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@fireblocks/ts-sdk", - "version": "32.0.0", + "version": "0.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@fireblocks/ts-sdk", - "version": "32.0.0", + "version": "0.0.0", "license": "MIT License", "dependencies": { "axios": "^1.15.2", @@ -1294,9 +1294,9 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.11.20", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.20.tgz", - "integrity": "sha512-H0ulySigv6icDJ1F7SjtdCD6PrhTpdYCmP0CactWy1+ekh0AFd0o1Wn5T8b+hnTmdBx19u9yhL6wvCylXMY7zw==", + "version": "2.11.21", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.21.tgz", + "integrity": "sha512-uh8vpY/1/YyFkunIDFH/12p7/7VdPKA1hejMVEbdkEaWnUz0Hesvx5EbiU6XxjyHZIOju+ZMbQJkRh+es3/spQ==", "dev": true, "license": "Apache-2.0", "bin": { @@ -1331,9 +1331,9 @@ } }, "node_modules/browserslist": { - "version": "4.28.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.8.tgz", - "integrity": "sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA==", + "version": "4.28.9", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.9.tgz", + "integrity": "sha512-EWazOblFYUvlGZcfGhPUPmYh3nikUxBVb+y9MJun5f3hBi812X+8MSQTujLBtgK3cf51fJWbWfOjyeO954d+Eg==", "dev": true, "funding": [ { @@ -1351,11 +1351,11 @@ ], "license": "MIT", "dependencies": { - "baseline-browser-mapping": "^2.11.12", - "caniuse-lite": "^1.0.30001809", - "electron-to-chromium": "^1.5.402", - "node-releases": "^2.0.53", - "update-browserslist-db": "^1.3.0" + "baseline-browser-mapping": "^2.11.20", + "caniuse-lite": "^1.0.30001810", + "electron-to-chromium": "^1.5.420", + "node-releases": "^2.0.54", + "update-browserslist-db": "^1.3.2" }, "bin": { "browserslist": "cli.js" @@ -1715,9 +1715,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.420", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.420.tgz", - "integrity": "sha512-2yD6XreGusOfNV+dUcvipJEXc3n/n7fgr7996aszTG+YY5E4mqM4tOq/3uhP129cazL9YHbVWSpc79ePotWtPA==", + "version": "1.5.425", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.425.tgz", + "integrity": "sha512-QvPtl41EUOnuT1HBvMKgxXRIaHNcagBPs50u7VULzhZXaGfqTbZyE16LQsctZ/RQHlGu+FOWeDTR4mY6YbeF1g==", "dev": true, "license": "ISC" }, @@ -3371,9 +3371,9 @@ "license": "MIT" }, "node_modules/node-releases": { - "version": "2.0.54", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.54.tgz", - "integrity": "sha512-YHs7BmmcsdAI5Ozuf8JZo6PT0mv2GIWC9vMfvUC3dp65M8hn7Ux8CPL+2oBI7juNuj9d0ndhTcznq2ODBps9cQ==", + "version": "2.0.55", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.55.tgz", + "integrity": "sha512-mIrE/Cw9y+9Au6dS5vDKDhQza9YvG6w+ZrS6X+ZzA7yFW/soAeaups4Qzn1bL6g5FVy8WtP79+0j82oPIbqRjQ==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index 60eadaed..584251d5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@fireblocks/ts-sdk", - "version": "32.0.0", + "version": "0.0.0", "description": "OpenAPI client for @fireblocks/ts-sdk", "author": "Fireblocks SDK Generator", "repository": { diff --git a/tests/client.spec.ts b/tests/client.spec.ts index 20f37ffe..3681582b 100644 --- a/tests/client.spec.ts +++ b/tests/client.spec.ts @@ -19,7 +19,7 @@ BlockchainsAssetsApi, ComplianceApi, ComplianceOrchestratorBetaApi, ComplianceScreeningConfigurationApi, -ConnectedAccountsBetaApi, +ConnectedAccountsApi, ConsoleUserApi, ContactsApi, ContractInteractionsApi, @@ -80,7 +80,7 @@ let mockBlockchainsAssetsApi: jest.Mock; let mockComplianceApi: jest.Mock; let mockComplianceOrchestratorBetaApi: jest.Mock; let mockComplianceScreeningConfigurationApi: jest.Mock; -let mockConnectedAccountsBetaApi: jest.Mock; +let mockConnectedAccountsApi: jest.Mock; let mockConsoleUserApi: jest.Mock; let mockContactsApi: jest.Mock; let mockContractInteractionsApi: jest.Mock; @@ -138,7 +138,7 @@ jest.mock('../api', () => { mockComplianceApi = jest.fn(); mockComplianceOrchestratorBetaApi = jest.fn(); mockComplianceScreeningConfigurationApi = jest.fn(); - mockConnectedAccountsBetaApi = jest.fn(); + mockConnectedAccountsApi = jest.fn(); mockConsoleUserApi = jest.fn(); mockContactsApi = jest.fn(); mockContractInteractionsApi = jest.fn(); @@ -197,7 +197,7 @@ jest.mock('../api', () => { ComplianceApi: mockComplianceApi, ComplianceOrchestratorBetaApi: mockComplianceOrchestratorBetaApi, ComplianceScreeningConfigurationApi: mockComplianceScreeningConfigurationApi, - ConnectedAccountsBetaApi: mockConnectedAccountsBetaApi, + ConnectedAccountsApi: mockConnectedAccountsApi, ConsoleUserApi: mockConsoleUserApi, ContactsApi: mockContactsApi, ContractInteractionsApi: mockContractInteractionsApi, @@ -356,9 +356,9 @@ describe("Fireblocks Client Tests", () => { expect(fireblocks.complianceScreeningConfiguration).toBeInstanceOf(ComplianceScreeningConfigurationApi); expect(mockComplianceScreeningConfigurationApi).toHaveBeenCalledWith(expectedConfig, undefined, mockAxios); }); - it('Should return ConnectedAccountsBetaApi', async () => { - expect(fireblocks.connectedAccountsBeta).toBeInstanceOf(ConnectedAccountsBetaApi); - expect(mockConnectedAccountsBetaApi).toHaveBeenCalledWith(expectedConfig, undefined, mockAxios); + it('Should return ConnectedAccountsApi', async () => { + expect(fireblocks.connectedAccounts).toBeInstanceOf(ConnectedAccountsApi); + expect(mockConnectedAccountsApi).toHaveBeenCalledWith(expectedConfig, undefined, mockAxios); }); it('Should return ConsoleUserApi', async () => { expect(fireblocks.consoleUser).toBeInstanceOf(ConsoleUserApi);